Bonferroni Korrektur & maschinelles Lernen

9

In psychologischen Studien habe ich gelernt, dass wir die Bonferroni-Methode verwenden sollten, um das Signifikanzniveau anzupassen, wenn wir mehrere Hypothesen an einem einzigen Datensatz testen.

Derzeit arbeite ich mit Methoden des maschinellen Lernens wie Support Vector Machines oder Random Forest zur Klassifizierung. Hier habe ich einen einzelnen Datensatz, der bei der Kreuzvalidierung verwendet wird, um die besten Parameter (wie Kernelparameter für SVM) zu finden, die die beste Genauigkeit ergeben.

Meine Intuition sagt (und ist vielleicht völlig falsch), dass es sich um ein ähnliches Problem handelt. Wenn ich zu viele mögliche Parameterkombinationen teste, ist die Wahrscheinlichkeit groß, dass ich eine finde, die großartige Ergebnisse liefert. Dies könnte jedoch nur ein Zufall sein.

Um meine Frage zusammenzufassen:

Beim maschinellen Lernen verwenden wir die Kreuzvalidierung, um die richtigen Parameter eines Klassifikators zu finden. Je mehr Parameterkombinationen wir verwenden, desto höher ist die Wahrscheinlichkeit, versehentlich eine gute zu finden (Überanpassung?). Gilt das Konzept, das hinter der Bonferroni-Korrektur steht, auch hier? Ist es ein anderes Problem? Wenn ja warum?

Nikolas Rieble
quelle
3
Ja, es ist das gleiche Problem, das manchmal als "Datenbaggern" bezeichnet wird.
Dsaxton
5
Sie müssen Daten foltern, bis sie
gestehen

Antworten:

5

Es gibt einen Grad, in dem das, worüber Sie mit der p-Wert-Korrektur sprechen, zusammenhängt, aber es gibt einige Details, die die beiden Fälle sehr unterschiedlich machen. Das große Problem ist, dass bei der Parameterauswahl keine Unabhängigkeit in Bezug auf die von Ihnen ausgewerteten Parameter oder die Daten besteht, für die Sie sie auswerten. Zur Vereinfachung der Diskussion nehme ich als Beispiel die Auswahl von k in einem Regressionsmodell für K-Nearest-Neighbors, aber das Konzept verallgemeinert sich auch auf andere Modelle.

Nehmen wir an, wir haben eine Validierungsinstanz V , die wir vorhersagen, um eine Genauigkeit des Modells für verschiedene Werte von k in unserer Stichprobe zu erhalten. Dazu finden wir die k = 1, ..., n nächsten Werte im Trainingssatz, die wir als T 1 , ..., T n definieren werden . Für den ersten Wert von k = 1 unsere Vorhersage P1 1 wird gleich T 1 , für k = 2 , vorhersage P 2 wird (T 1 + T 2 ) / 2 oder P 1 /2 + T 2 /2 , fürk = 3 wird es (T 1 + T 2 + T 3 ) / 3 oder P 2 * 2/3 + T 3 /3 . Tatsächlich können wir für jeden Wert k die Vorhersage P k = P k-1 (k-1) / k + T k / k definieren . Wir sehen, dass die Vorhersagen nicht unabhängig voneinander sind, daher wird auch die Genauigkeit der Vorhersagen nicht gleich sein. Tatsächlich sehen wir, dass sich der Wert der Vorhersage dem Mittelwert der Stichprobe nähert. In den meisten Fällen wählen Testwerte von k = 1:20 den gleichen Wert von k wie Testwerte von k = 1: 10.000 es sei denn, die beste Anpassung, die Sie aus Ihrem Modell herausholen können, ist nur der Mittelwert der Daten.

Aus diesem Grund ist es in Ordnung, eine Reihe verschiedener Parameter für Ihre Daten zu testen, ohne sich über das Testen mehrerer Hypothesen Gedanken zu machen. Da die Auswirkung der Parameter auf die Vorhersage nicht zufällig ist, ist es viel weniger wahrscheinlich, dass Ihre Vorhersagegenauigkeit allein aufgrund des Zufalls eine gute Anpassung erzielt. Sie müssen sich immer noch Gedanken über eine Überanpassung machen, aber das ist ein anderes Problem als das Testen mehrerer Hypothesen.

Um den Unterschied zwischen dem Testen mehrerer Hypothesen und der Überanpassung zu verdeutlichen, stellen wir uns diesmal vor, ein lineares Modell zu erstellen. Wenn wir Daten wiederholt neu abtasten, um unser lineares Modell zu erstellen (die mehreren Linien unten) und es beim Testen von Daten (die dunklen Punkte) auswerten, ergibt zufällig eine der Linien ein gutes Modell (die rote Linie). Dies liegt nicht daran, dass es sich tatsächlich um ein großartiges Modell handelt, sondern daran, dass eine Teilmenge funktioniert, wenn Sie die Daten ausreichend abtasten. Wichtig hierbei ist, dass die Genauigkeit der gehaltenen Testdaten aufgrund aller getesteten Modelle gut aussieht. Da wir das "beste" Modell basierend auf den Testdaten auswählen, passt das Modell möglicherweise besser zu den Testdaten als zu den Trainingsdaten.Testen mehrerer Hypothesen

Überanpassung ist dagegen, wenn Sie ein einzelnes Modell erstellen, aber die Parameter verzerren, damit das Modell die Trainingsdaten über das Generalisierbare hinaus anpassen kann. Im folgenden Beispiel passt das Modell (Linie) perfekt zu den Trainingsdaten (leere Kreise), aber wenn es anhand der Testdaten (gefüllte Kreise) ausgewertet wird, ist die Anpassung weitaus schlechter.Überanpassung

Marktschreier
quelle
Nettes Argument für diese besondere Situation der Wahl von k
Soren Havelund Welling
Dies ist nicht spezifisch für K-Nearest-Neighbors. Ich habe gerade dieses Modell ausgewählt, weil die Mathematik leichter zu sehen ist. In jedem Modell sind die durch einen Bereichsparameter erzeugten Validierungsfehler (worum es bei der Kreuzvalidierung geht) nicht unabhängig voneinander. Dies bedeutet, dass die Idee einer Bonferroni-Korrektur, mit der versucht wird, p-Werte in mehreren Tests unabhängiger Proben zu korrigieren, nicht anwendbar ist.
Barker
Im Fall einer riesigen Rastersuche mit zahlreichen Kombinationen von Hyperparametern ist es am wahrscheinlichsten, dass ein leicht überangepasstes Modell am besten herauskommt, definiert durch eine quadratische Residuenverlustfunktion, um den Validierungssatz gut + glücklich zu erklären . Es ist unwahrscheinlich, dass ein etwas überreguliertes Modell aufgrund von Voreingenommenheit so viel Glück hat. Im Gegensatz zu kNN können einige Modelle als Entscheidungsbäume durch kleine Änderungen der Hyperparameter und beim Testen vieler verschiedener Bäume sehr unterschiedliche Anpassungen ergeben ... Daher können überangepasste Modelle und das Testen mehrerer Parameter in der Praxis in Beziehung gesetzt werden.
Soren Havelund Welling
Entscheidungsbaummodelle, die aufgrund kleiner Parameteränderungen sehr unterschiedliche Ergebnisse erzielen, weisen im Allgemeinen darauf hin, dass das Modell nicht stabil ist und dass eine andere Auswahl von Zufallssamen ebenso schuld sein könnte wie die Parameter selbst. Ich würde dies eher als ein Problem der Stabilität als der Passform betrachten.
Barker
Genau. Für viele Modellalgorithmen für einen bestimmten Datensatz ergeben eine Reihe von Parametereinstellungen instabile Modelle. Eine kleine Teilmenge dieser instabilen Modelle erzielt wahrscheinlich eine bessere Vorhersage für eine bestimmte Validierungsmenge als die vernünftigen regulierten Modelle. Aus diesem Grund müssen Sie die Auswirkungen von Mehrfachtests auch beim maschinellen Lernen berücksichtigen und können sich nicht einfach auf die Schlussfolgerung des kNN-Beispiels verlassen, bei dem dies kein großes Problem darstellt.
Soren Havelund Welling
3

Ich stimme Barker in gewissem Maße zu , aber die Modellauswahl ist nicht nur kNN . Sie sollten ein Kreuzvalidierungsschema mit einer Validierung und einem Testsatz verwenden. Sie verwenden den Validierungssatz für die Modellauswahl und den Testsatz für die endgültige Schätzung des Modellfehlers. Dies kann ein verschachtelter k-facher Lebenslauf oder eine einfache Aufteilung der Trainingsdaten sein. Die gemessene Leistung anhand des Validierungssatzes des Modells mit der besten Leistung wird verzerrt, wenn Sie das Modell mit der besten Leistung ausgewählt haben. Die gemessene Leistung des Testsatzes ist nicht voreingenommen, da Sie ehrlich gesagt nur ein Modell getestet haben. Wenn Sie Zweifel haben, wickeln Sie Ihre gesamte Datenverarbeitung und Modellierung in eine äußere Kreuzvalidierung ein, um die am wenigsten verzerrte Schätzung der zukünftigen Genauigkeit zu erhalten.

Wie ich weiß, gibt es keine zuverlässige einfache mathematische Korrektur, die für eine Auswahl zwischen mehreren nichtlinearen Modellen geeignet wäre. Wir tendieren dazu, uns auf Brute-Force-Bootstrapping zu verlassen, um zu simulieren, wie die zukünftige Modellgenauigkeit aussehen würde. Übrigens nehmen wir bei der Schätzung zukünftiger Vorhersagefehler an, dass der Trainingssatz zufällig aus einer Population ausgewählt wurde und dass zukünftige Testvorhersagen aus derselben Population abgetastet werden. Wenn nicht, wer weiß ...

Wenn Sie beispielsweise einen inneren 5-fachen Lebenslauf verwenden, um ein Modell auszuwählen, und einen äußeren 10-fachen Lebenslauf, der 10 Mal wiederholt wird, um den Fehler abzuschätzen, ist es unwahrscheinlich, dass Sie sich mit einer überbewussten Modellgenauigkeitsschätzung täuschen.

Soren Havelund Welling
quelle
2
Manchmal kann der Validierungssatz als Kalibrierungssatz und der Testsatz als Validierungssatz bezeichnet werden. Ein wenig verwirrend ...
Soren Havelund Welling