Hier ist das Problem.
Bei einem undurchsichtigen Lernalgorithmus müssen Sie herausfinden, ob Ihr Algorithmus wirklich etwas über eine tiefere Struktur gelernt hat, die dem gewünschten Problembereich gemeinsam ist (vorausgesetzt, es gibt einige zu finden), oder nur gelernt hat, bestimmte Eingaben zu erkennen und auszuspucken die gewünschte Antwort nur für diese Eingaben (ähnlich wie bei Schulkindern, die sich nur den Test merken, aber sonst keine Ahnung haben). Letzteres ist nicht sehr nützlich, wenn die Trainingsdaten nur aus einem winzigen Bruchteil des gewünschten Problemraums bestehen.
Um dies herauszufinden, trainieren Sie Ihren Algorithmus mit einem Datensatz, bis er die richtigen Antworten ausspuckt. Dann ändern Sie die Eingabe in einige andere Testdaten, die der trainierte Algorithmus noch nie zuvor gesehen hat, und prüfen, ob er Ihnen noch nützliche Antworten geben kann oder nur für das einzige Material im ursprünglichen Trainingssatz funktioniert hat. Das ist der Testdatensatz.
Wenn Sie reale Daten haben, ist es üblich, diese in zwei disjunkte Sätze aufzuteilen und den Algorithmus den Testsatz während des Trainings nicht sehen zu lassen. Ähnlich wie der Lehrer, der die Quizfragen bis zum Ende des Semesters abschließt.
Um die OP-Fragen direkt zu beantworten: "Sind Trainingsdaten die Daten, die Sie nach der Vorverarbeitungsphase haben, die auch als Merkmalsextraktion bezeichnet wird?
Nein, das (dh die Merkmalsextraktion) macht einen Datensatz nicht zu "Trainingsdaten". Sie müssen die gleichen Funktionen wie die Trainingsdaten aus Ihren Testdaten extrahieren. Hier ist ein Beispiel für eine Reihe von Schritten zur Unterscheidung dieser Begriffe:
Wobei Testdaten die ursprüngliche Eingabe sind. Habe ich recht?
Die Testdaten sind die Daten, die Sie beiseite legen, während Sie die Parameter Ihres Modells auswählen / lernen. Sie verwenden diese Daten später, um zu testen, wie gut Ihr Modell ist. Die Hauptannahme ist, dass Ihre Testdatenverteilung mit Ihrer Zugdatenverteilung übereinstimmt.
quelle