Betreutes Lernen mit „seltenen“ Ereignissen, wenn Seltenheit aufgrund der Vielzahl kontrafaktischer Ereignisse besteht

13

Angenommen, Sie können "Übereinstimmungen" zwischen Käufern und Verkäufern auf einem Markt beobachten. Sie können auch Merkmale sowohl von Käufern als auch von Verkäufern beobachten, anhand derer Sie zukünftige Spiele vorhersagen und Empfehlungen für beide Seiten des Marktes aussprechen möchten.

Nehmen Sie der Einfachheit halber an, dass es N Käufer und N Verkäufer gibt und jeder eine Übereinstimmung findet. Es gibt N Übereinstimmungen und (N-1) (N-1) Nicht-Übereinstimmungen. Der All-Inclusive-Trainingsdatensatz enthält N + (N-1) * (N-1) Beobachtungen, die unerschwinglich groß sein können. Es scheint, dass das zufällige Abtasten von (N-1) (N-1) Nichtübereinstimmungen und das Trainieren eines Algorithmus für diese reduzierten Daten effizienter sein könnte. Meine Fragen sind:

(1) Ist eine Stichprobe aus den Nicht-Spielen, um einen Trainingsdatensatz zu erstellen, ein angemessener Weg, um mit diesem Problem umzugehen?

(2) Wenn (1) wahr ist, gibt es eine strenge Möglichkeit zu entscheiden, wie groß ein Teil von (N-1) (N-1) sein soll?

John Horton
quelle

Antworten:

11

Wenn ich das richtig verstehe, haben Sie ein Zwei-Klassen-Klassifizierungsproblem, bei dem die positive Klasse (Übereinstimmungen) selten ist. Viele Klassifikatoren haben Probleme mit einem solchen Klassenungleichgewicht, und es ist gängige Praxis, die Mehrheit der Klassen zu subsamplen, um eine bessere Leistung zu erzielen. Daher lautet die Antwort auf die erste Frage "Ja". Wenn Sie jedoch zu viel Unterabtastung durchführen, erhalten Sie einen Klassifikator, der die positive Minderheitsklasse überbewertet. Wählen Sie daher am besten die Unterabtastungsrate, um die Leistung zu maximieren, indem Sie möglicherweise die Querabtastungsrate minimieren. Validierungsfehler, bei dem die Testdaten nicht unterabgetastet wurden, damit Sie einen guten Hinweis auf die Betriebsleistung erhalten.

Wenn Sie einen probabilistischen Klassifikator haben, der die Wahrscheinlichkeit einer Klassenmitgliedschaft abschätzt, können Sie die Ausgabe nachbearbeiten, um den Unterschied zwischen den Klassenfrequenzen im Trainingssatz und im Betrieb auszugleichen. Ich vermute, dass für einige Klassifikatoren der optimale Ansatz darin besteht, sowohl das Unterabtastungsverhältnis als auch die Korrektur der Ausgabe durch Optimierung des Kreuzvalidierungsfehlers zu optimieren.

Bei einigen Klassifikatoren (z. B. SVMs) können Sie positive und negative Muster unterschiedlich gewichten, anstatt eine Unterabtastung durchzuführen. Ich bevorzuge dies der Unterabtastung, da es aufgrund der verwendeten Unterabtastung keine Variabilität in den Ergebnissen gibt. Wenn dies nicht möglich ist, erstellen Sie mithilfe von Bootstrapping einen Bagged-Klassifikator, bei dem in jeder Iteration ein anderes Teilmuster der Mehrheitsklasse verwendet wird.

Die andere Sache, die ich sagen würde, ist, dass häufig, wenn es ein großes Klassenungleichgewicht gibt, falsch negative Fehler und falsch positive Fehler nicht gleich schlecht sind, und es eine gute Idee ist, dies in das Klassifiziererdesign zu integrieren (was durch sub erreicht werden kann) Abtast- oder Gewichtungsmuster, die zu jeder Klasse gehören).

Dikran Beuteltier
quelle
3
(+1), aber ich denke, man muss zwischen dem Ziel des Rankings (Maß: AUC) und der Trennung der beiden Klassen (Maß: Genauigkeit) unterscheiden. Im ersteren Fall spielt das Ungleichgewicht bei einem wahrscheinlichkeitstheoretischen Klassenkameraden wie Naive Bayes vermutlich eine geringere Rolle. Oder sollte man sich auch in diesem Fall Sorgen machen? Noch eine Frage: Was meinst du mit "Ausgabe nachbearbeiten"? Punkte in tatsächliche Wahrscheinlichkeiten umrechnen?
Steffen
@Steffen Meine Intuition ist, dass das Problem des Klassenungleichgewichts für das Ranking weniger ein Problem darstellt, aber nicht vollständig verschwindet (ich arbeite an einer Arbeit zu diesem Problem, das ist also eine Lösung wert). Mit Nachbearbeitung meinte ich die Multiplikation der Ergebnisse mit dem Verhältnis der festgelegten Klassenfrequenzen für Betrieb und Training und die anschließende erneute Normalisierung, sodass die Wahrscheinlichkeiten aller möglichen Ergebnisse eins ergeben. In der Praxis ist der tatsächliche optimale Skalierungsfaktor jedoch wahrscheinlich etwas anders - optimieren Sie daher mit XVAL (aber normalisieren Sie immer noch neu).
Dikran Beuteltier
1

Betrifft (1). Sie müssen positive und negative Beobachtungen aufbewahren, wenn Sie aussagekräftige Ergebnisse erzielen möchten.
(2) Es gibt keine klügere Methode der Unterabtastung als die gleichmäßige Verteilung, wenn Ihre Daten nicht von vornherein vorliegen.

Ugo
quelle
Vielen Dank, Ugo - stimmt zu, die Trainingsdaten müssen auf jeden Fall sowohl Übereinstimmungen als auch Nicht-Übereinstimmungen enthalten. Die Frage ist, wie viele der (N-1) (N-1) Nicht-Übereinstimmungen benötigt werden. Für Teil (2) würde ich auf jeden Fall bei allen Beobachtungen das gleiche Gewicht wählen.
John Horton
Nun, wenn Sie keine Ahnung von Ihren Daten haben, gibt es keine vernünftige Möglichkeit, die Daten abzutasten. Sie müssen also eine einheitliche Probenahme durchführen, und in diesem Fall ist es umso besser, je mehr Sie entnehmen. Sie können jedoch den durch die Stichprobe verursachten Fehler abschätzen, aber hier fehlen Informationen, um Ihnen in diesem Punkt zu helfen.
Ugo
Es scheint mir, dass der Fehler von der Art des verwendeten Klassifikators abhängt. Auf jeden Fall können Sie immer versuchen, eine andere Abtastrate vorherzusagen und einen Schwellenwert festzulegen, bei dem der eingeführte Fehler Ihrer Meinung nach zufriedenstellend ist.
Ugo