TLDR:
Mein Datensatz ist ziemlich klein (120) Proben. Wenn ich eine 10-fache Kreuzvalidierung durchführe, sollte ich:
Sammeln Sie die Ausgaben von jeder Testfalte, verknüpfen Sie sie zu einem Vektor und berechnen Sie dann den Fehler für diesen vollständigen Vorhersagevektor (120 Stichproben).
Oder sollte ich stattdessen den Fehler an den Ausgaben berechnen, die ich bei jeder Falte erhalte (mit 12 Abtastungen pro Falte) und dann meine endgültige Fehlerschätzung als Durchschnitt der 10-fachen Fehlerschätzungen erhalten?
Gibt es wissenschaftliche Arbeiten, in denen die Unterschiede zwischen diesen Techniken diskutiert werden?
Hintergrund: Potenzielle Beziehung zu Makro- / Mikro-Scores in der Mehrfachetikettenklassifizierung:
Ich denke, diese Frage hängt möglicherweise mit dem Unterschied zwischen Mikro- und Makro- Durchschnittswerten zusammen, die häufig in einer Mehrfachetiketten-Klassifizierungsaufgabe verwendet werden (z. B. 5 Etiketten).
In der Multi-Label-Einstellung werden die Mikrodurchschnittswerte berechnet, indem eine aggregierte Kontingenztabelle aus wahr-positiv, falsch-positiv, wahr-negativ und falsch-negativ für alle 5 Klassifikator-Vorhersagen für 120 Stichproben erstellt wird. Diese Kontingenztabelle wird dann verwendet, um die Mikrogenauigkeit, den Mikroabruf und das Mikro-F-Maß zu berechnen. Wenn wir also 120 Proben und fünf Klassifikatoren haben, werden die Mikromaßnahmen anhand von 600 Vorhersagen berechnet (120 Proben * 5 Etiketten).
Bei Verwendung der Makrovariante berechnet man die Maße (Genauigkeit, Rückruf usw.) unabhängig auf jedem Etikett und schließlich werden diese Maße gemittelt.
Die Idee hinter dem Unterschied zwischen Mikro- und Makroschätzungen kann dahingehend erweitert werden, was in einer K-fachen Einstellung in einem Binärklassifizierungsproblem getan werden kann. Für 10-fach können wir entweder durchschnittlich über 10 Werte ( Makro Maßnahme) oder die 10 Experimente verketten und die Berechnung Mikro Maßnahmen.
Hintergrund - Erweitertes Beispiel:
Das folgende Beispiel veranschaulicht die Frage. Nehmen wir an, wir haben 12 Testmuster und wir haben 10 Falten:
- Falte 1 : TP = 4, FP = 0, TN = 8 Präzision = 1,0
- Falte 2 : TP = 4, FP = 0, TN = 8 Präzision = 1,0
- Falte 3 : TP = 4, FP = 0, TN = 8 Präzision = 1,0
- Falte 4 : TP = 0, FP = 12, Präzision = 0
- Falte 5 .. Falte 10 : Alle haben das gleiche TP = 0, FP = 12 und Präzision = 0
wo ich die folgende notation benutzt habe:
TP = Anzahl wahrer Positive, FP = Anzahl falsch positiver, TN = Anzahl wahrer Negative
Die Ergebnisse sind:
- Durchschnittliche Genauigkeit über 10 Falten = 3/10 = 0,3
- Präzision bei der Verkettung der Vorhersagen der 10 Falten = TP / TP + FP = 12/12 + 84 = 0,125
Beachten Sie, dass die Werte 0,3 und 0,125 sehr unterschiedlich sind !
quelle
Antworten:
Der beschriebene Unterschied ist meiner Meinung nach falsch.
Sie werden es nur beobachten, wenn die Verteilung der wirklich positiven Fälle (dh die Referenzmethode sagt, dass es sich um einen positiven Fall handelt) über die Falten (wie im Beispiel) und die Anzahl der relevanten Testfälle (Nenner des Leistungsmaßes ) sehr ungleich ist es handelt sich um das wirklich Positive, das bei der Mittelung der Falzmittel nicht berücksichtigt wird.
Wenn Sie das erste Dreifache gewichten, wird mit gemittelt412= 13
Bearbeiten: Die ursprüngliche Frage wurde auch zum Wiederholen der Überprüfung gestellt:
Sie haben nach wissenschaftlichen Arbeiten gefragt :
Preprint
Unterschätzung der Varianz Letztendlich hat Ihr Datensatz eine endliche Stichprobengröße (n = 120), unabhängig davon, wie viele Iterationen von Bootstrap- oder Kreuzvalidierungen Sie durchführen.
Sie haben (mindestens) 2 Varianzquellen in den Ergebnissen der Resampling-Validierung (Cross-Validierung und Out-of-Bootstrap-Validierung):
Wenn Ihre Modelle stabil sind, dann
quelle
Sie sollten eine Bewertung (Verkettung) durchführen. Es ist ein weit verbreitetes Missverständnis auf dem Gebiet, dass (Punktzahl) der beste Weg ist. Dies kann zu einer stärkeren Verzerrung Ihrer Schätzung führen, insbesondere in Bezug auf seltene Klassen, wie in Ihrem Fall. Hier ist ein Beleg dafür:
http://www.kdd.org/exploration_files/v12-1-p49-forman-sigkdd.pdf
In der Arbeit verwenden sie "Favg" anstelle Ihres "Mittelwerts (Punktzahl)" und "Ftp, fp" anstelle Ihrer "Punktzahl (Verkettung)".
Spielzeug Beispiel:
Stellen Sie sich vor, Sie haben eine 10-fache Kreuzvalidierung und eine Klasse, die 10 Mal vorkommt und zufällig so zugewiesen wird, dass sie in jeder Falte einmal vorkommt. Auch die Klasse wird immer korrekt vorhergesagt, aber es gibt ein einziges falsch positives Ergebnis in den Daten. Die Testfalte mit dem falsch positiven Ergebnis hat eine Genauigkeit von 50%, während alle anderen Faltungen eine Genauigkeit von 100% haben. Durchschnitt (Punkte) = 95%. Andererseits beträgt die Punktzahl (Verkettung) 10/11, etwa 91%.
Wenn wir davon ausgehen, dass die Daten eine gute Darstellung der wahren Population und die 10 Kreuzvalidierungsklassifikatoren den endgültigen Klassifikator darstellen, wäre die Genauigkeit in der realen Welt 91%, und die durchschnittliche (Punktzahl-) Schätzung von 95% ist stark voreingenommen .
In der Praxis werden Sie diese Annahmen nicht treffen wollen. Stattdessen können Sie Verteilungsstatistiken verwenden, um das Vertrauen zu schätzen, indem Sie die Daten zufällig verteilen und die Punktzahl (Verkettung) mehrmals neu berechnen sowie Bootstrapping durchführen.
quelle