Wie lässt sich die Leistung von Klassifikatoren für maschinelles Lernen statistisch vergleichen?

29

Basierend auf der geschätzten Klassifizierungsgenauigkeit möchte ich testen, ob ein Klassifizierer statistisch besser als ein anderer Klassifizierer ist. Für jeden Klassifikator wähle ich zufällig eine Trainings- und Teststichprobe aus dem Basissatz aus, trainiere das Modell und teste das Modell. Ich mache das zehnmal für jeden Klassifikator. Ich habe daher zehn Messungen der geschätzten Klassifikationsgenauigkeit für jeden Klassifikator. Wie teste ich statistisch, ob der ein besserer Klassifizierer als der im Basisdatensatz ist? Welcher T-Test ist geeignet?c l a s s i f i e r 2classifier1classifier2

Entropie
quelle
Haben Sie die Klassifikatoren an denselben Proben getestet? dh sample1, c1 (sample1), c2 (sample1)? Oder haben Sie für jeden Klassifikator unterschiedliche Proben verwendet?
John Moeller
Ein gepaarter t-Test wäre in diesem Szenario angemessen.
Gel
1
@lewellen: genauigkeit ist ein anteil: t-tests sind normalerweise nicht angebracht.
cbeleites unterstützt Monica
3
@JohnMoeller: "Unterschiedliche Proportionen" wäre ein Suchbegriff, unabhängig oder abhängig, den wir noch nicht kennen. Wenn es gepaart ist: McNemars Test. Ich vermute, dass T-Test eine eher kleine Stichprobengröße bedeutet, daher ist eine normale Annäherung möglicherweise keine gute Idee. Ich würde statistische Methoden für Kurse und Anteile verwenden , um Details nachzuschlagen.
cbeleites unterstützt Monica
2
@ JohnMoeller: Ich sage, dass jede Genauigkeit eine Proportion ist. Wenn Sie sie vergleichen möchten, verwenden Sie Methoden für "Proportionsunterschiede". Ich habe dies zu einer Antwort ausgebaut, um endlose Kommentare zu vermeiden.
cbeleites unterstützt Monica

Antworten:

14

Eine Übersicht und Kritik einiger t-Test-Ansätze finden Sie in der Auswahl zwischen zwei Lernalgorithmen basierend auf kalibrierten Tests , Näherungswerten für statistische Tests zum Vergleichen von Lernalgorithmen für überwachte Klassifizierungen und Vergleich von Klassifizierern: Zu vermeidende Fallstricke und ein empfohlener Ansatz

Entropie
quelle
Dietterich sagt: "Die Binomialverteilung kann durch eine Normalverteilung für vernünftige Werte von gut angenähert werden ." Bisher hast du uns nicht gesagt, dass du vernünftige n hast . @ JohnMoellers 30 Fälle sind meiner Meinung nach eher wenige für die normale Näherung (zumindest ohne Kenntnis von p 1 und p 2 ). nnp1p2
cbeleites unterstützt Monica
Ich habe mindestens 4000 Datensätze pro Klasse im Basisdatensatz, daher kann die ausgewählte Stichprobe alles andere als diese sein. Der größte Nachteil bei Tests mit unterschiedlichen Anteilen besteht darin, dass sie "interne Variationen des Lernalgorithmus" ignorieren. Ich denke, das ist wichtig für einen Klassifikator wie ein neuronales Netzwerk, das ich verwende.
Entropie
Nun, das ist eine völlig andere Situation als John Moeller. Wenn Sie Instabilität des Modells mit "interne Variation" meinen: Sie können dies messen. Ich werde meine Antwort aktualisieren.
cbeleites unterstützt Monica
Zur Verdeutlichung ist 30 die Anzahl der von mir ausgewählten Test- / Zugtrennungssätze, nicht die Anzahl der von mir ausgewählten Testpunkte.
John Moeller
@ JohnMoeller: Entschuldigung, ich habe das völlig falsch verstanden (von einem Feld, auf dem "eine Probe" eine physikalische Probe ist).
cbeleites unterstützt Monica
10

Ich habe das Fleiss-Buch nicht zur Hand, also ist das alles IIRC.

Beantwortung der Frage von @ JohnMoeller in den Kommentaren für den Moment: Die ursprüngliche Frage ist meiner Meinung nach unbeantwortbar.

Angenommen, ich habe 30 Proben und teste c1 und c2 für jede Probe und zeichne die Genauigkeit für jede Probe auf.

Wenn Sie dies tun, erhalten Sie eine 2 x 2-Kontingenztabelle, die Klassifikator 1 richtig / falsch und Klassifikator 2 richtig / falsch angibt. Welches ist der Ausgangspunkt für McNemars Test . Dies ist also ein paarweiser Vergleich, der leistungsfähiger ist als der Vergleich von "unabhängigen" Proportionen (die nicht vollständig unabhängig sind, wenn sie zufällig aus derselben endlichen Stichprobe gezogen werden).

Ich kann McNemars "Kleingedrucktes" derzeit nicht nachschlagen, aber 30 Muster sind nicht viel. Möglicherweise müssen Sie sogar von McNemar zu Fisher's genauem Test [oder etwas anderem] wechseln, der die Binomialwahrscheinlichkeiten berechnet.


Proportionen:
Es spielt keine Rolle, ob Sie ein und denselben Klassifikator 10x mit 10 Testfällen oder einmal mit all diesen 100 Fällen testen (die 2 x 2-Tabelle zählt nur alle Testfälle).

Wenn die 10 Genauigkeitsschätzungen für jeden Klassifikator in der ursprünglichen Frage durch zufälliges Halten oder 10-fache Kreuzvalidierung oder 10x Out-of-Bootstrap erhalten werden, wird normalerweise davon ausgegangen, dass die 10 für jeden Klassifikator berechneten Ersatzmodelle äquivalent sind (= haben die gleiche Genauigkeit), so dass die Testergebnisse zusammengefasst werden können *. Bei einer 10-fachen Kreuzvalidierung wird davon ausgegangen, dass die Größe der Testprobe der Gesamtzahl der Testproben entspricht. Bei den anderen Methoden bin ich mir nicht so sicher: Sie können den gleichen Fall mehr als einmal testen. Je nach Daten / Problem / Anwendung sind dies nicht so viele Informationen wie das Testen eines neuen Falls.

k

knp^=knσ2(p^)=σ2(kn)=p(1p)n

cbeleites unterstützt Monica
quelle
Ach ja ok Zumindest für mich ist es das Letzte, was die Dinge klärt. Vielen Dank.
John Moeller
Danke für die Antwort. Nur nicht klar, wie es weitergehen soll. Sie sagen, Preform 10-fach Kreuzvalidierung für einen einzelnen Datensatz. Messen Sie die Genauigkeit der Hold-out-Probe, dh berechnen Sie eine 2x2-Verwirrungsmatrix. Addieren Sie die zehn 2x2-Verwirrungsmatrizen. Führen Sie den McNemar-Test mit der aggregierten 2x2-Verwirrungsmatrix durch.
Entropie
@entropy: 1. Die 2x2-Kontingenztabelle ist nicht die Verwirrungsmatrix. 2. Jedes Mal eine neue Stichprobe vs. Testen beider Klassifikatoren mit denselben Testdaten: Gepaarte Tests sind leistungsfähiger (und hier möglich). Siehe die aktualisierte Antwort.
cbeleites unterstützt Monica
Entschuldigung, ja, Notfalltabelle. Habe ich zu Recht gesagt, dass McNemars Test auch direkt zu einem Problem mit mehreren Klassen führt.
Entropie
@cbeleites vielen dank für die antwort !!! Ich denke, Sie haben jetzt meine Fragen genau beantwortet. Allerdings verstehe ich die genaue Vorgehensweise noch nicht. Würde es Ihnen etwas ausmachen, nur auf den letzten Absatz einzugehen?
Entropie