Testdaten vs. Trainingsdaten

7

Ich lese ein Bischofsbuch über Mustererkennung und maschinelles Lernen. Beim Durchlaufen des Einführungsabschnitts bin ich mir nicht sicher, ob ich die Unterschiede zwischen den beiden weit verbreiteten Begriffen "Testdaten" und "Trainingsdaten" erhalte. Sind Trainingsdaten die Daten, die Sie nach der Vorverarbeitungsphase haben, die auch als Merkmalsextraktion bezeichnet wird? Wobei Testdaten die ursprüngliche Eingabe sind. Habe ich recht?

Gigili
quelle

Antworten:

6

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.

hotpaw2
quelle
6

Wenn Sie Algorithmen für maschinelles Lernen für Datensätze verwenden, verwenden Sie einen Teil der Daten (den Trainingssatz), um Ihren Algorithmus zu trainieren (dh Feature-Extraktion). Sobald das Training abgeschlossen ist, müssen Sie die Leistung des trainierten Algorithmus bewerten und dies tun, indem Sie ihn auf neue Daten anwenden, dh auf den zweiten Teil Ihrer Originaldaten (die Testdaten).

Mit dieser Strategie können Sie bewerten, ob Ihr trainierter Algorithmus tatsächlich gültige Merkmale Ihrer Daten extrahiert (dh er funktioniert gut mit den Trainingsdaten und den Testdaten) oder ob er "überlernt" oder "überangepasst" wurde (dh , es funktioniert nur gut mit den Trainingsdaten und schlecht mit den Testdaten).

Weitere Informationen finden Sie in Wikipedia zu Trainingssatz , Testsatz und Kreuzvalidierung .

H.Muster
quelle
Ich habe diese WP-Artikel gelesen, konnte aber keinen Vergleich zwischen den beiden ziehen. Trotzdem danke für deine Antwort.
Gigili
0

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:

  1. Holen Sie sich Rohdaten. [Dieser Satz enthält Zug- / Validierungs- / Testdaten].
  2. Teilen Sie die Daten in Zug- / Validierungs- / Testaufteilungen auf.
  3. Verwenden Sie die Zugdaten nur , um Ihre Daten mithilfe von Modellen wie SVM, neuronalen Netzen usw. anzupassen / zu klassifizieren.
  4. Verwenden Sie nun Test- / Validierungsdaten, um zu überprüfen, wie gut Ihr Modell ist.

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.

Aniket
quelle