Verschachtelte Kreuzvalidierung - Wie unterscheidet sie sich von der Modellauswahl über kfold CV auf dem Trainingssatz?


10

Ich sehe oft Leute, die über 5x2-Kreuzvalidierung als Sonderfall der verschachtelten Kreuzvalidierung sprechen .

Ich nehme an, die erste Zahl (hier: 5) bezieht sich auf die Anzahl der Falten in der inneren Schleife und die zweite Zahl (hier: 2) bezieht sich auf die Anzahl der Falten in der äußeren Schleife. Wie unterscheidet sich dies von einem "traditionellen" Modellauswahl- und Bewertungsansatz? Mit "traditionell" meine ich

  • Teilen Sie den Datensatz in ein separates Training (z. B. 80%) und einen Testsatz auf
  • Verwenden Sie die k-fache Kreuzvalidierung (z. B. k = 10) für die Optimierung der Hyperparameter und die Modellauswahl im Trainingssatz
  • Bewerten Sie die Generalisierungsleistung des ausgewählten Modells mithilfe des Testsatzes

Ist 5x2 nicht genau gleich, außer dass Test- und Trainingssatz gleich groß sind, wenn k = 2 ist?


1
Sie haben Recht, in diesem Fall ist es dasselbe, außer dass es eine 50/50-Aufteilung in der äußeren Schleife anstelle einer 80/20-Schleife verwendet. Im Allgemeinen liefert es eine bessere Schätzung der Generalisierungsleistung und sollte bevorzugt werden, insbesondere bei relativ kleinen Stichprobengrößen. Nach meiner Erfahrung variiert die Leistungsschätzung selbst für verschachtelte Lebensläufe stark. Oft ist es besser, verschachtelte Lebensläufe mehrmals durchzuführen, um eine gute Schätzung der Generalisierungsleistung zu erhalten.
George

Danke, macht Sinn! Bei kleinen Trainingssätzen würde ich jedoch wahrscheinlich die Anzahl der Falten in den inneren und äußeren Schleifen erhöhen. könnte die Varianz verringern, aber auch die Verzerrung erhöhen

Im Allgemeinen führe ich anstelle eines 5x2-verschachtelten CV normalerweise ein (k-1) xk mit k = 5 oder 10 durch. Bei wenigen Stichproben würde ich anstelle einer Erhöhung der Anzahl der Falten kleinere Werte von k wählen .
George

1
Ich denke, Sie hatten es eher rückwärts als völlig falsch, aber die akzeptierte Antwort stimmt möglicherweise nicht mit der Quelle überein, auf die ich mich beziehen werde. In Python Machine Learning von Raschka bezieht er sich auf eine "bestimmte Art der verschachtelten Kreuzvalidierung, die auch als 5x2-Kreuzvalidierung bezeichnet wird". Es gibt eine enthaltene Grafik, in der er zeigt, dass sich die 2 auf die innere Schleife für die Optimierung von Hyperparametern und die 5 auf die äußere Schleife für die unverzerrte Modellleistungsschätzung bezieht. Eine farbige Kopie der Grafik finden Sie unter Szenario 3 hier: sebastianraschka.com/faq/docs/evaluate-a-model.html
Austin

Antworten:


12

5x2cv, soweit ich in der Literatur gesehen habe, beziehen sich immer auf eine 5-Wiederholung eines 2-fachen. Es gibt überhaupt keine Verschachtelung. Machen Sie eine 2-fache (50/50 Aufteilung zwischen Zug und Test) und wiederholen Sie diese noch 4 Mal. Das 5x2cv wurde durch das Papier Approximate statistische Tests zum Vergleich von überwachten Klassifizierungslernalgorithmen von Dietterich populär gemacht, um nicht nur eine gute Schätzung des Generalisierungsfehlers, sondern auch eine gute Schätzung der Varianz dieses Fehlers zu erhalten (um statistische Tests durchzuführen )


Vielen Dank! Wissen Sie, was Menschen normalerweise tun, wenn die inneren Schleifen unterschiedliche Modelle auswählen, z. B. wenn der "optimale" Regularisierungsparameter bei einer Modellauswahl Lambda = 100 und bei dem anderen Lambda = 1000 ist? In diesem Fall wäre die Berechnung der durchschnittlichen Modellleistung etwas seltsam, oder? Würden Sie die Modelle als "instabil" verwerfen?

3
Die innere Schleife führt sehr wahrscheinlich zu einer unterschiedlichen Auswahl von Hyperparametern. Sie verwenden keine verschachtelte Kreuzvalidierung, um die Hyperparameter auszuwählen, sondern nur, um eine gute Schätzung des Generalisierungsfehlers zu erhalten (mit den bestmöglichen Hyperparametern). Verschachtelter Lebenslauf wird verwendet, um zwischen dem einen oder anderen Algorithmus zu entscheiden. Siehe stats.stackexchange.com/questions/136296/… oder stats.stackexchange.com/questions/65128/… (unter anderem)
Jacques Wainer

Oh, ich verstehe, das macht dann Sinn! Ich dachte, die Leute benutzen es anders. Ich denke wir können die Frage dann schließen.

2

2 Wiederholungen in der äußeren Schleife bedeuten, dass Sie Ihren 5-fachen Lebenslauf 2 Mal im gesamten Zugsatz wiederholen. Jedes Mal ist die Unterteilung in Falten unterschiedlich.

Dies wird hauptsächlich für bessere Schätzungen der Modellleistung verwendet, z. B. um statistische Tests durchzuführen, um festzustellen, ob ein Modell statistisch signifikant besser abschneidet als ein anderes.

Verschachtelter Lebenslauf ist nicht von entscheidender Bedeutung, wenn Ihr Datensatz groß und ohne Ausreißer ist. Wenn Ihre Daten Ausreißer haben, kann sich die Leistung der Kreuzvalidierung drastisch unterscheiden, je nachdem, in welcher Falte / Falte sich diese Ausreißer befinden. Daher wiederholen Sie den Lebenslauf mehrmals.


Guter Punkt. Beim herkömmlichen Ansatz (Test / Zug-Aufteilung und dann k-facher Lebenslauf auf dem Trainingssatz) haben Sie nur 1-fache Bewertung für das Modell, während beim 5x2-Lebenslauf die durchschnittliche Leistung aus den 2 verschiedenen Falten berechnet werden kann.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.