Verwendung von ML zur Unterstützung der menschlichen Kennzeichnung in Datensätzen mit stark unausgeglichenen Klassen

7

Gibt es wissenschaftliche Probleme bei der Verwendung von ML zur Unterstützung menschlicher Anmerkungen?

Ich habe einen unbeschrifteten Datensatz mit 3 Klassen, in dem nur 1 von 500 Elementen zu den 2 interessierenden Klassen gehört.

Die Beschriftungen sind nicht für alle Elemente der unbeschrifteten Daten trivial erkennbar. Da jedoch die meisten Elemente der Mehrheitsklasse mit einem einfachen NN leicht erkennbar sind, können die meisten Elemente der Mehrheitsklasse herausgefiltert und die Zahl auf reduziert werden etwa 1 zu 100 und Erhöhung der Effektivität der Zeit menschlicher Annotatoren um das 50-fache. Der beschriftete Datensatz wird zum Trainieren, Testen und Validieren eines Klassifikators verwendet.

Ich kann jedoch Gründe vorhersehen, warum dies speziell aus akademischer Sicht zu einem Problem führen könnte:

  • Wenn die mit Anmerkungen versehenen Daten aufgrund von Verzerrungen in der vor der menschlichen Anmerkung verwendeten ML nicht repräsentativ sind, kann es sein, dass der Klassifizierer Schwierigkeiten hat, sie zu verallgemeinern
  • Die Verwendung eines ML-Datenbereinigers, der nicht auf von Menschen bereitgestellten, vertretbaren Regeln basiert, setzt eine Black Box am Anfang des Datenanalyseprozesses
  • Nur die Annotation eines kleinen Teils der weit verbreiteten Klasse macht den Datensatz sehr selektiv. Dies würde Kritik am Missbrauch dieser Verzerrung hervorrufen (dh Manipulation für eine gewünschte Hypothese).

Alle Gedanken geschätzt

Aidan Connelly
quelle

Antworten:

1

Ich denke, der Schlüssel ist, sich vor Augen zu halten, wonach Sie wirklich suchen. Ist das ein Kaggle-Wettbewerb? Dann klingt Ihr Ansatz sicher gut.

Wenn dies für eine akademische Arbeit oder eine medizinische Arbeit ist, die in die Praxis umgesetzt wird, und Sie etwas wollen, das sich gut verallgemeinern lässt und Peer Review besteht, dann halte ich dies nicht für einen guten Ansatz. Weil Sie einige Ihrer Beispiele nicht einfach ignorieren können.

Neben der "Gültigkeit" oder "Richtigkeit" des Ansatzes hilft es möglicherweise auch nicht so viel, wie Sie denken. Ein Teil des Problems ist der von Ihnen vorgeschlagene Vorklassifizierer. Ist es 100% genau? Woher weißt du, ob zu viele weggeworfen werden, um tatsächlich durchzusehen? Das Problem ist, dass Sie, wenn es nicht 100,0% genau ist, Ihre wertvollsten Trainingsbeispiele verlieren, indem Sie sie verwerfen, weil sie den aktuellen Algorithmus täuschen.

Wenn Sie diesen Vorklassifizierer dauerhaft verwenden, ist dieser Schritt gültig und nur ein Teil Ihrer gesamten "Black Box". Aber dann müssen Sie die falschen Negative, die als Teil Ihrer Gesamtbewertung verworfen werden, genau melden (und vorzugsweise Ihre Gesamtverlustfunktion, damit Sie sie korrekt optimieren können).

Jeff Ellen
quelle
Könnte eine repräsentative Stichprobe der Originaldaten, die die vom Vorklassifizierer ausgewählten nicht repräsentativen Stichproben validiert, helfen? Es wird ungefähr 10 Millionen Datenpunkte geben. Wenn zufällige 10 KB kommentiert würden, könnten sie verwendet werden, um die 10 KB zu validieren, die vom Vorklassifizierer ausgewählt wurden, der vom Menschen kommentiert werden soll
Aidan Connelly
Ich habe Probleme, Ihrer Beschreibung zu folgen. Sie sagen "repräsentative Stichprobe" und "zufällige 10k-Anmerkungen", was wie ein Schritt in die richtige Richtung klingt. Aber dann sagen Sie 10k, die vom Vorklassifizierer ausgewählt wurden. Auch dies ist in Ordnung, um einen Teil Ihrer leichter zu findenden Beispiele zu finden, aber ich sehe nicht ein, wie die ersten 10.000 (die ~ 20 der seltenen Klassen haben würden) dann die ausgewählten 10.000 "validieren" würden.
Jeff Ellen
0

Wenn es ein Modell gibt, das Ihre Daten für Sie kennzeichnen kann, warum dann überhaupt eines trainieren?

Ich würde sagen, dass die Verwendung eines anderen Modells zum Beschriften von Daten für ein Modell schlecht ist. Wenn es ein besseres Modell gibt, das einen Datensatz kennzeichnen kann, verwenden Sie stattdessen einfach dieses gute Modell. Zweitens, wenn die Klassen sehr unausgeglichen sind, ist dies viel mehr der Grund, warum Sie genaue Beschriftungen wünschen, damit Ihr Modell das Beste daraus machen kann. Ansonsten verwirren Sie es nur, warum sollten Sie das tun?

Das Beschriften von Daten ist für den Menschen mühsam, aber deshalb versuchen wir, Maschinen so gut zu machen, dass wir irgendwann damit aufhören können.

Wenn Sie einen einfacheren Weg suchen, beschriften Sie zunächst nur die Minderheitsklasse und dann eine gleiche Anzahl der anderen Klassen und trainieren damit, sodass Ihr Datensatz nicht mehr unausgeglichen ist. Angenommen, Sie haben 100 Proben. 10, 40, 50 sind die Anzahl der Proben in jeder Klasse. Sie beschriften also zunächst die 10, die Probe 10 von der 40 und dann die 50 und beschriften sie ebenfalls. Trainieren Sie dann ein Modell mit einem Datensatz Ihrer 30 Proben, die unvoreingenommen sind. Diese Methode hat Vor- und Nachteile, aber ich werde hier aufhören, da dies nicht Ihre ursprüngliche Frage war.

plumSemPy
quelle
Vielen Dank für Ihre Antwort! Die Frage bezieht sich jedoch nicht auf die Verwendung von ML zum Beschriften von Daten, sondern auf die Unterstützung des Benutzers beim Beschriften von Daten durch aktives Lernen ( en.m.wikipedia.org/wiki/Active_learning_(machine_learning) )
Aidan Connelly
Richtig, selbst beim aktiven Lernen würde ich vorschlagen, die Minderheiten und einen Teil der Mehrheiten selbst zu kennzeichnen und dann den Rest der Mehrheiten zu belassen. Aber dann stellen Sie sicher, dass Sie einen Schwellenwert wählen, der für Ihren Zweck sinnvoll ist, dh fragen Sie mich nur, wenn Sie weniger als 90% sicher sind, aber dies hängt stark vom Anwendungsfall ab. Möglicherweise möchten Sie auch die Kosten für den Aufbau eines aktiven Lernrahmens in Betracht ziehen, anstatt 500 selbst zu kennzeichnen. das ist Zeit und Erfahrung gelernt.
plumSemPy
Beim aktiven Lernen ist der Mensch Teil des Algorithmus, da die Kennzeichnung teuer ist. Das ist das Setup hier, aber wenn man Beispiele verwirft und nicht berücksichtigt, wie viele der beiden Minderheitenklassen vom ersten Vorklassifizierer entfernt wurden, bedeutet dies, dass es kein aktives Lernen mehr gibt. Aktives Lernen würde bedeuten, alle zu behalten und in den endgültigen Metriken darüber zu berichten.
Jeff Ellen
0

Es ist wahr, dass normalerweise mehr Daten zu besseren Entscheidungen führen. In Ihrem Fall versuchen Sie, den Etikettierungsprozess zu beschleunigen, und die Art und Weise, wie Sie dies vorschlagen, ist gültig. Da die Frage ist, welche Beispiele man manuell kennzeichnen sollte, ist es sinnvoll, ein System zu verwenden, um "uninteressante" Beispiele mit hoher Sicherheit zu verwerfen. Es geht nicht darum, Beispiele zu ignorieren, sondern einigen von ihnen Vorrang einzuräumen, die nicht trivial sind.

Ein weiteres Thema ist ein Klassifikator, der sich gut auf die tatsächliche Verteilung der Trainingsdaten verallgemeinert. Sie können dies sicherstellen, indem Sie den Klassifizierer in einem Holdout-Set auswerten, das in einer geschichteten Weise aufgeteilt ist. Da es billiger ist, Proben aus einer der Klassen zu erhalten, können Sie den Trainingssatz in einem späteren Schritt (durch Über- / Unter-Probenahme) ausgleichen, nachdem Sie die Daten beschriftet haben.

geompalik
quelle
1
Ich stimme dir nicht zu. Sie müssen das Endziel im Auge behalten, nicht das Zwischenziel. Ist das Endziel, mehr Daten zu erhalten und zu hoffen, dass dies zu besseren Entscheidungen führt? Oder ist das Endziel ein Klassifikator, der sich gut verallgemeinern lässt? Wenn die Antwort ein Klassifikator ist, der sich gut verallgemeinern lässt, muss mehr Sorgfalt angewendet werden.
Jeff Ellen
Zwei Punkte: In Ihren Inline-Fragen entsprechen bessere Entscheidungen einem Klassifikator, der sich gut verallgemeinert. Die Frage ist auch, welche Beispiele man manuell kennzeichnen sollte, und es ist wahr, dass die Verwendung eines Systems zum Verwerfen von "uninteressanten" Beispielen mit hoher Sicherheit sinnvoll ist. Es geht nicht darum, Beispiele zu ignorieren, sondern darum, welche Beispiele vorrangig manuell gekennzeichnet werden sollten.
Geompalik