Ich habe eine Weile an maschinellem Lernen und Bioinformatik gearbeitet und heute ein Gespräch mit einem Kollegen über die wichtigsten allgemeinen Fragen des Data Mining geführt.
Mein Kollege (der Experte für maschinelles Lernen ist) sagte, dass seiner Meinung nach der wohl wichtigste praktische Aspekt des maschinellen Lernens darin besteht, zu verstehen, ob Sie genügend Daten gesammelt haben, um Ihr Modell für maschinelles Lernen zu trainieren .
Diese Aussage überraschte mich, weil ich diesem Aspekt noch nie so viel Bedeutung beigemessen hatte ...
Ich habe dann im Internet nach weiteren Informationen gesucht und diesen Beitrag auf FastML.com als Faustregel gefunden, dass Sie ungefähr zehnmal so viele Dateninstanzen benötigen, wie es Funktionen gibt .
Zwei Fragen:
1 - Ist dieses Thema beim maschinellen Lernen wirklich besonders relevant ?
2 - Funktioniert die 10-fache Regel? Gibt es andere relevante Quellen für dieses Thema?
quelle
Antworten:
Die zehnfache Regel scheint mir eine Faustregel zu sein, aber es stimmt, dass die Leistung Ihres Algorithmus für maschinelles Lernen abnehmen kann, wenn Sie ihn nicht mit genügend Trainingsdaten versorgen.
Eine praktische und datengesteuerte Methode, um festzustellen, ob Sie über genügend Trainingsdaten verfügen, besteht darin, eine Lernkurve wie im folgenden Beispiel zu zeichnen:
Die Lernkurve repräsentiert die Entwicklung der Trainings- und Testfehler, wenn Sie die Größe Ihres Trainingssatzes erhöhen.
Wie Sie im rechten Teil des Diagramms sehen können, neigen die beiden Linien im Diagramm dazu, zu erreichen und zu asymptotisieren. Daher erreichen Sie irgendwann einen Punkt, an dem eine Vergrößerung Ihres Datensatzes keine Auswirkungen auf Ihr trainiertes Modell hat.
Der Abstand zwischen den Testfehler- und Trainingsfehlerasymptoten ist eine Darstellung der Überanpassung Ihres Modells. Noch wichtiger ist jedoch, dass in diesem Diagramm angegeben wird, ob Sie mehr Daten benötigen. Wenn Sie Test- und Trainingsfehler für die Vergrößerung größerer Teilmengen Ihrer Trainingsdaten darstellen und die Linien keine Asymptote zu erreichen scheinen, sollten Sie grundsätzlich weitere Daten sammeln.
quelle
X_train, y_train: Only train subset
oderX, y: the entire dataset
quelle