Während ich die Website durchlese, schlagen die meisten Antworten vor, dass eine Kreuzvalidierung in Algorithmen für maschinelles Lernen durchgeführt werden sollte. Als ich jedoch das Buch "Maschinelles Lernen verstehen" las, sah ich, dass es eine Übung gibt, bei der es manchmal besser ist, keine Kreuzvalidierung zu verwenden. Ich bin wirklich verwirrt. Wann ist ein Trainingsalgorithmus für die gesamten Daten besser als eine Kreuzvalidierung? Kommt es in realen Datensätzen vor?
Sei k Hypothesenklassen. Angenommen , Sie gegeben werden iid Trainingsbeispiele und Sie möchten , um die Klasse lernen . Betrachten Sie zwei alternative Ansätze:
Lernen Sie anhand der Beispiele anhand der ERM-Regel
Teilen Sie die m Beispiele in einen Trainingssatz der Größe und einen Validierungssatz der Größe für einige . Wenden Sie dann den Ansatz der Modellauswahl mithilfe der Validierung an. Das heißt, trainieren Sie zuerst jede Klasse anhand der Trainingsbeispiele unter Verwendung der ERM-Regel in Bezug auf und lassen Sie die resultierenden Hypothesen sein . Zweitens wenden Sie die ERM-Regel in Bezug auf die endliche Klasse { } auf die Validierungsbeispiele an.
Beschreiben Sie Szenarien, in denen die erste Methode besser ist als die zweite und umgekehrt.
Antworten:
Nachrichten zum Mitnehmen:
Die Übung sollte Ihnen zeigen, dass es manchmal (je nach Fachgebiet: oft oder sogar fast immer) besser ist, keine datengesteuerte Modelloptimierung / -optimierung / -auswahl durchzuführen.
Es gibt auch Situationen, in denen die Kreuzvalidierung unter den verschiedenen Validierungsoptionen nicht die beste Wahl ist, diese Überlegungen jedoch im Zusammenhang mit Ihrer Übung hier nicht relevant sind.
Leider ändert der von Ihnen zitierte Text zwei Dinge zwischen Ansatz 1 und 2:
IMHO, Kreuzvalidierung und datengesteuerte Optimierung sind zwei völlig unterschiedliche (und weitgehend unabhängige) Entscheidungen bei der Festlegung Ihrer Modellierungsstrategie. Die einzige Verbindung besteht darin, dass Sie Kreuzvalidierungsschätzungen als Zielfunktion für Ihre Optimierung verwenden können. Es gibt jedoch auch andere Zielfunktionen, die zur Verwendung bereit sind, und es gibt andere Verwendungszwecke von Kreuzvalidierungsschätzungen (wichtig ist, dass Sie sie zur Überprüfung Ihres Modells verwenden können, auch als Validierung oder Test bezeichnet).
Leider ist die Terminologie des maschinellen Lernens meiner Meinung nach derzeit ein Chaos, das hier auf falsche Verbindungen / Ursachen / Abhängigkeiten hindeutet.
Wenn Sie Ansatz 3 nachschlagen (Kreuzvalidierung nicht zur Optimierung, sondern zur Messung der Modellleistung), stellen Sie fest, dass die Kreuzvalidierung "Entscheidung" im Vergleich zum Training für den gesamten Datensatz in diesem Zusammenhang eine falsche Zweiteilung darstellt: Bei Verwendung der Kreuzvalidierung Um die Leistung des Klassifikators zu messen, wird die Kreuzvalidierungszahl als Schätzung für ein Modell verwendet, das für den gesamten Datensatz trainiert wurde. Dh Ansatz 3 beinhaltet Ansatz 1.
Schauen wir uns nun die zweite Entscheidung an: datengesteuerte Modelloptimierung oder nicht. Dies ist meiner Meinung nach der entscheidende Punkt hier. Und ja, es gibt reale Situationen, in denen es besser ist, keine datengesteuerte Modelloptimierung durchzuführen. Datengesteuerte Modelloptimierung ist mit Kosten verbunden. Sie können sich das so vorstellen: Die Informationen in Ihrem Datensatz werden verwendet, um nicht nur das zu schätzenp Parameter / Koeffizienten des Modells, aber die Optimierung schätzt weitere Parameter, die sogenannten Hyperparameter. Wenn Sie den Modellanpassungs- und Optimierungs- / Optimierungsprozess als Suche nach den Modellparametern beschreiben, bedeutet diese Hyperparameteroptimierung, dass ein erheblich größerer Suchraum berücksichtigt wird. Mit anderen Worten, in Ansatz 1 (und 3) beschränken Sie den Suchraum, indem Sie diese Hyperparameter angeben. Ihr Datensatz in der realen Welt ist möglicherweise groß genug (enthält genügend Informationen), um eine Anpassung an diesen eingeschränkten Suchraum zu ermöglichen, aber nicht groß genug, um alle Parameter im größeren Suchraum der Ansätze 2 (und 4) ausreichend gut zu fixieren.
Tatsächlich muss ich mich in meinem Bereich sehr oft mit Datensätzen befassen, die viel zu klein sind, um an eine datengesteuerte Optimierung zu denken. Was mache ich stattdessen: Ich verwende mein Domänenwissen über die Daten und Datengenerierungsprozesse, um zu entscheiden, welches Modell gut mit der physischen Natur von Daten und Anwendungen übereinstimmt. Und innerhalb dieser muss ich meine Modellkomplexität noch einschränken.
quelle