Wenn Sie ein Netzwerk mit zwei Schichten modifizierbarer Gewichte haben, können Sie beliebige konvexe Entscheidungsbereiche bilden, in denen die Neuronen der niedrigsten Ebene den Eingaberaum in Halbräume unterteilen und die zweite Schicht von Neuronen eine "UND" -Operation ausführt, um zu bestimmen, ob Sie befinden sich auf der rechten Seite der Halbräume, die den konvexen Bereich definieren. Im folgenden Diagramm können Sie auf diese Weise die Regionen r1 und r2 bilden. Wenn Sie später ein zusätzliches hinzufügen, können Sie beliebige konkave oder disjunkte Entscheidungsbereiche bilden, indem Sie die Ausgaben der Teilnetzwerke kombinieren, die die konvexen Teilbereiche definieren. Ich glaube, ich habe diesen Beweis aus Philip Wassermans Buch "Neural Computing: Theorie und Praxis" (1989) erhalten.
Sie möchten also überanpassen, ein neuronales Netzwerk mit drei verborgenen Schichten von Neuronen verwenden, eine große Anzahl von Neuronen der verborgenen Schicht in jeder Schicht verwenden, die Anzahl der Trainingsmuster minimieren (sofern die Herausforderung dies zulässt), verwenden eine Cross-Entropy-Fehlermetrik und ein Zug unter Verwendung eines globalen Optimierungsalgorithmus (z. B. simuliertes Tempern).
Dieser Ansatz würde es Ihnen ermöglichen, ein neuronales Netzwerk zu erstellen, das konvexe Unterregionen aufweist, die jedes Trainingsmuster jeder Klasse umgeben, und daher keinen Trainingssatzfehler aufweist und eine schlechte Validierungsleistung aufweist, wenn sich die Klassenverteilungen überlappen.
Beachten Sie, dass bei einer Überanpassung das Modell zu stark optimiert wird. Ein überparametrisiertes Modell (mehr Gewichte / versteckte Einheiten als erforderlich) kann immer noch eine gute Leistung erbringen, wenn die "Dateninkongruenz" nicht überminimiert wird (z. B. durch Anwenden von Regularisierung oder frühem Stoppen oder das Glück, in einem "guten" lokalen Minimum zu landen ).