Frage zum Sinn der Kreuzvalidierung



  • Hi,

    gerade beschäftige ich mich mit der Kreuzvalidierung und verstehe ehrlich gesagt den Sinn nicht ganz. Im Grunde geht man folgendenmaßen vor. Ich unterteile meine Trainingsmenge in k Teile. Dann nehme ich k-1 Teile und trainiere damit. Danach teste ich micht dem übergebliebenen Teil. Dies wiederhole ich solange bis ich mit allen Teilen einmal getestet habe ich bilde dann das Mittel über alle Fehler.

    Ab jetzt verstehe ich es nicht mehr. Was mache ich nun mit dem so berechneten Fehler? Wähle ich den besten Klassifikator aus? Wir damit eine Aussage über die maximale Aussagekraft der Daten gemacht?

    Gruß



  • du benutzt CV um die Hyperparameter des Algorithmus zu bestimmen. Wenn du nur ein Trainingsset hast, kannst du das nicht machen und mit nur einem testset erzeugst du ein starks overfitting. Aber wenn du viele Training-Test-Splits hast erhälst du einen deutlich besseren Schätzer.



  • Hi,

    das mit dem Overfitting verstehe ich. Aber mir ist nicht klar warum mir die CV dabei hilft. Ich traniere ich Emdeffekt doch k verschiedene Klassifikatoren und teste jeweils wie gut die sind. Es fidnet doch niemals eine Zusammenführung statt. Irgendetwas übersehe ich ...



  • Wie otze schon schrieb kannst du CV eben benutzen um irgendwelche Parameter für den eigentlichen Klassifikator zu optimieren. (z.B. das C oder irgendwelche kernel-Parameter bei SVMs)
    Die bestimmst du dann, indem du den CV-Fehler der k Klassifikatoren minimierst.
    Mit den so gefundenen Parametern kannst du dann nochmal den eigentlichen Klassifikator über das gesammte Trainingsset trainieren.



  • C14 schrieb:

    Wie otze schon schrieb kannst du CV eben benutzen um irgendwelche Parameter für den eigentlichen Klassifikator zu optimieren. (z.B. das C oder irgendwelche kernel-Parameter bei SVMs)...

    Vielen Dank. Da findet also die "Rückführung" der so gewonnenen Information statt. Das hatte ich nicht berücksichtigt. 🙂


Log in to reply