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?
quelle
Antworten:
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.
Ü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.
quelle
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.
quelle