Wie kann eine Überanpassung bei gestapelten Modellen verhindert werden?

7

Ich verstehe die Intuition hinter dem Stapeln von Modellen beim maschinellen Lernen, aber selbst nach gründlichen Kreuzvalidierungsschemata scheinen Modelle zu passen. Die meisten Modelle, die ich in Kaggle-Foren gesehen habe, sind große Ensembles, scheinen aber nur sehr wenig zu passen.

riemann77
quelle
Haben Sie versucht, jedes der Stapelmodelle mit separaten Trainingsdaten zu trainieren?
Robit
Ja, separate Modelle sind perfekt, aber sie passen viel zu gut, wenn sie gestapelt sind.
riemann77
Es scheint komisch. Ich habe ein GBDT + LR-Modell trainiert: Ich habe den Trainingsdatensatz in zwei Teilmengen A und B aufgeteilt. Dann habe ich GBDT mit A und LR mit B trainiert. Das gestapelte Modell funktioniert gut. Außerdem, welche Modelle trainierst du?
Robit
zufällige Wälder und knn
riemann77
@thecomplexitytheorist, bitte beschreiben Sie das von Ihnen verwendete CV-Schema. Verwenden Sie beispielsweise das im Kaggle-Blog angegebene Schema ? Im Prinzip kann dies zu einer Überanpassung führen (siehe Abschnitt 'Hyperparameter-Optimierung für gestapelte Modelle'), obwohl ich es noch nie erlebt habe
Ben

Antworten:

2

Die Effektivität der Aufteilung von Trainingsdaten und Rohrleitungsunterteilungen in Netzwerke für unabhängige Schulungen ist zwar möglicherweise eine effektive Problemumgehung für bestimmte Fälle, weist jedoch nicht auf eine robuste Lösung für die Anpassung von Spitzenleistungen an eine Vielzahl von Eingabedatensätzen hin.

Wie in dem Kommentar von varshaneya vorgeschlagen, kann eine Überanpassung das Ergebnis einer unbefriedigenden Meta-Parametrisierung der Regularisierung sein, wie bei einer schlechten Einstellung des λ-Regularisierungsparameters in einem StackGAN. Alle Metaparameter, die zum Optimieren einer gestapelten Architektur verwendet werden, sollten überprüft werden, um festzustellen, ob ihre Einstellung zu einer Überanpassung führen kann. Einige können vorne eliminiert werden. Beispielsweise kann eine zu hohe Lernrate auf einer beliebigen Ebene eines der Netzwerke im Entwurf die Konvergenzwahrscheinlichkeit verringern, ist jedoch keine wahrscheinliche Ursache für eine Überanpassung.

H. Hutson, S. Geva und P. Cimiano schrieben in ihrer 2017 eingereichten Stellungnahme zur 13. NTCIR-Konferenz zur Bewertung von Informationszugangstechnologien : "Ensemble-Methoden beim maschinellen Lernen umfassen die Kombination mehrerer Klassifikatoren über eine Vielzahl von Methoden wie das Absacken (Mittelwertbildung oder Abstimmung), Boosten und Stapeln, um die Leistung zu steigern und Überanpassungen zu reduzieren. " Nach unserer Erfahrung hat das Absacken jedoch keine robusten Reaktionen auf unterschiedliche Datensätze hervorgebracht, selbst wenn diese normalisiert, gefiltert, um den Geräuschpegel zu reduzieren, und die Redundanz begrenzt ist.

Zhi-Hua Zhou und Ji Feng (Nationales Schlüssellabor für neuartige Softwaretechnologie, Universität Nanjing, China) gaben an: "Um das Risiko einer Überanpassung zu verringern, wird der von jedem Wald erzeugte Klassenvektor durch k-fache Kreuzvalidierung erzeugt. "" Das Lesen ihrer Zeitung Deep Forest kann Ihnen einige Gründe für die Bewertung geben.

Überanpassung ist normalerweise die Anwendung eines zu hoch entwickelten Modells, an das Daten angepasst werden. In der Welt der aktivierten Netzwerke kann eine übermäßige Komplexität so einfach sein wie eine übermäßige Anzahl von Netzwerkschichten in einem oder mehreren der gestapelten Netzwerke.

Die Extraktion von Merkmalen im Voraus kann erforderlich sein, um die Komplexität der Eingabe zu beseitigen, die nicht nur unnötig, sondern auch kontraproduktiv für die Verallgemeinerung und damit die Erzeugung nützlicher Ausgaben ist.

Douglas Daseeco
quelle