Übersetzung von Andrew Un's Buch, Leidenschaft für maschinelles Lernen, Kapitel 36 und 37

vorherige Kapitel


Schulung und Prüfung von Proben mit unterschiedlicher Verteilung


36. Wenn Sie Algorithmen auf verschiedenen Verteilungen trainieren und testen müssen


Benutzer Ihrer Katzen-App haben 10.000 Bilder hochgeladen, die von Ihnen als Bilder mit Katzen und Bilder ohne Katzen markiert wurden. Sie haben auch eine große Auswahl von 200.000 online gesammelten Bildern. Wie wählt man dann Trainings-, Validierungs- und Testmuster aus?


Da 10.000 von Benutzern hochgeladene Bilder genau die tatsächliche Wahrscheinlichkeitsverteilung von Daten widerspiegeln, mit denen Ihr Algorithmus gut funktionieren sollte, können Sie diese Bilder zur Validierung und zum Testen von Beispielen verwenden. Wenn Sie einen Deep-Learning-Algorithmus lernen, der viele Daten erfordert, können Sie 200.000 zusätzliche Beispiele aus dem Internet verwenden, um ihn zu trainieren. In diesem Fall hat Ihr Training und Test mit einer Validierungsstichprobe eine andere Wahrscheinlichkeitsverteilung. Wie wird sich das auf Ihre Arbeit auswirken?


Anstatt an der Auswahl der Daten für Trainings-, Validierungs- und Testmuster herumzuspielen, könnten wir alle 210.000 unserer Bilder aufnehmen, sie mischen und zufällig Daten für jedes Muster auswählen. In diesem Fall enthalten alle drei Stichproben Daten aus derselben Verteilung.


Aber ich bin gegen diesen Ansatz. Aufgrund der Tatsache, dass etwa 97,6% der Daten (205.000 / 210.000 ≈ 97,6%) der Validierungs- und Testproben aus Daten stammen, die im Internet gefunden wurden (nicht von Benutzern erhalten wurden) und nicht die tatsächliche Verteilung widerspiegeln, auf der eine hohe Qualität erzielt werden muss. Beachten Sie unsere Empfehlung für die Auswahl von Validierungs- und Testmustern:


Wählen Sie Validierungs- und Testmuster aus, die die Daten widerspiegeln, die Ihr Algorithmus nach dem Start der Anwendung erhält und für die er gut funktionieren sollte


, , .


: . « », « » « ». . A B, . ( «» , , .) .


. , . , . , , .


, . , , , .


, 10000 , 5000 . 5000 . , 205 000, 5000 , 200 000 , . .


. , , . 20 000 , . 500 000 , . 10 000 10 000 500 000 .


, , , , .


37. ,


, 10 000 . . 20 000 , . 20 000 + 10 000 = 30 000 20 000 , ?


( , ), , . , , 20000 , .


, , . / , 20000 . , , .


, , x -> y, . , - , , , , , .


20000 :


  1. , . , , , . , .
  2. , (, , , . .). , , «» . , , , , . , .

, . , , , « - , . , »


, , , . , , , . «» , , .


( ), , .


, , , . , , , , , . , :


Bild


Diese Dokumente enthalten nichts, was Katzen ähnelt. Sie sind auch völlig anders als die Verteilungen von Validierungs- und Testproben. Es macht keinen Sinn, diese Daten als negative Beispiele aufzunehmen. Der Nutzen des oben beschriebenen ersten Effekts ist vernachlässigbar - es ist unwahrscheinlich, dass das neuronale Netzwerk aus diesen Daten etwas extrahieren kann, das dazu beiträgt, die Validierungs- und Testmuster Ihrer Anwendung besser zu bearbeiten. Die Einbeziehung dieser Daten führt zum Verlust von Rechenressourcen und verringert möglicherweise die Fähigkeit des neuronalen Netzwerks, Funktionen zu approximieren (letztendlich seine Erkennungsfähigkeiten zu verringern).


Fortsetzung


All Articles