Unterschied zwischen Trainings- und Testdatenverteilung


7

Eine Grundannahme beim maschinellen Lernen ist, dass Trainings- und Testdaten aus derselben Population stammen und somit derselben Verteilung folgen. In der Praxis ist dies jedoch höchst unwahrscheinlich. Covariate Shift behebt dieses Problem. Kann jemand die folgenden Zweifel daran klären?

Wie prüft man, ob zwei Verteilungen statistisch unterschiedlich sind? Kann die Kernel-Dichteschätzung (KDE) verwendet werden, um die Wahrscheinlichkeitsverteilung zu schätzen, um den Unterschied festzustellen? Angenommen, ich habe 100 Bilder einer bestimmten Kategorie. Die Anzahl der Testbilder beträgt 50, und ich ändere die Anzahl der Trainingsbilder in Schritten von 5 von 5 auf 50. Kann ich sagen, dass die Wahrscheinlichkeitsverteilungen unterschiedlich sind, wenn 5 Trainingsbilder und 50 Testbilder verwendet werden, nachdem sie von KDE geschätzt wurden?



@ Dawny33: Es scheint, dass diese Frage für diese Site relevanter ist als eine Kreuzvalidierung. Deshalb habe ich hier gepostet.
Daniel Wonglee

Dies ist aus zwei Gründen eine schwierige Frage. Wenn es möglich wäre, die Bilder mithilfe eines KDE in eine Verteilung umzuwandeln, würde ich Ihnen empfehlen, einen Kolmogorov-Smirnov-Test mit zwei Stichproben anzuwenden . Die zweidimensionale Natur des Bildes wird dies jedoch schwierig machen. Es gibt auch einen Kacheleffekt in Bildern, die mit KS nicht gut wiederhergestellt werden können. Ich schlage daher Bildverarbeitung vor: Haussdorff-Abstand . Auch diesen Beitrag überprüfen .
AN6U5

Antworten:


1

Ein guter Weg, um den Unterschied zwischen zwei Wahrscheinlichkeitsverteilungen zu messen, ist Kullbak-Liebler . Sie müssen berücksichtigen, dass die Distribution in eine integriert ist. Außerdem muss man berücksichtigen, dass es keine Entfernung ist, weil es nicht symmetrisch ist. KL (A, B) ungleich KL (B, A)


0

Wenn Sie mit einem großen Datensatz arbeiten. Die Verteilung von Training und Testsatz darf nicht zu unterschiedlich sein. Theoretisch sorgt das "Gesetz der großen Zahlen" dafür, dass die Verteilung gleich bleibt. Für kleinere Datenmengen ist dies wahrscheinlich ein guter Punkt, um sich um die Verteilung zu kümmern. Wie von Hoap Humanoid gesagt, kann "Kullbak-Liebler" verwendet werden, um den Verteilungsunterschied zweier Sätze zu ermitteln.


1
Ich würde hinzufügen, dass die Schichtung ein praktikables Werkzeug sein könnte, um mit kleineren Mengen umzugehen, sobald Sie erkennen, dass der Abstand über Ihrem Schwellenwert liegt.
Pincopallino
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.