Angenommen, ich möchte einen Klassifikator lernen, der vorhersagt, ob es sich bei einer E-Mail um Spam handelt. Angenommen, nur 1% der E-Mails sind Spam.
Am einfachsten ist es, den einfachen Klassifikator zu erlernen, der besagt, dass es sich bei keiner der E-Mails um Spam handelt. Dieser Klassifikator würde eine Genauigkeit von 99% liefern, aber nichts Interessantes erfahren und eine 100% ige Rate von falschen Negativen aufweisen.
Um dieses Problem zu lösen, haben mich die Leute gebeten, ein "Downsample" durchzuführen oder anhand einer Teilmenge der Daten zu lernen, bei denen 50% der Beispiele Spam und 50% kein Spam sind.
Aber ich mache mir Sorgen um diesen Ansatz, da wir, sobald wir diesen Klassifikator erstellt haben und ihn auf einem echten Korpus von E-Mails verwenden (im Gegensatz zu einem 50/50 Testsatz), möglicherweise vorhersagen, dass viele E-Mails Spam sind, wenn sie " Wirklich nicht. Nur weil es daran gewöhnt ist, viel mehr Spam zu sehen, als der Datensatz tatsächlich enthält.
Wie können wir dieses Problem beheben?
("Upsampling" oder mehrmaliges Wiederholen der positiven Trainingsbeispiele, sodass 50% der Daten positive Trainingsbeispiele sind, scheint unter ähnlichen Problemen zu leiden.)