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?
quelle
Antworten:
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)
quelle
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.
quelle