Ich habe Trainingsdaten, die mit Binärwerten gekennzeichnet sind. Ich habe auch das Vertrauen jedes dieser Etiketten gesammelt, dh 0,8 Vertrauen würde bedeuten, dass 80% der menschlichen Etikettierer diesem Etikett zustimmen.
Ist es möglich, diese Vertrauensdaten zu verwenden, um die Genauigkeit meines Klassifikators zu verbessern?
Würde folgendes funktionieren?
1a) Wenn das Etikett 0 ist und die Konfidenzdaten für dieses Etikett 0,8 sind, geben Sie den Trainingsdaten ein neues Etikett von 0,2
1b) Wenn das Etikett 1 ist und die Konfidenzdaten für dieses Etikett 0,8 sind, geben Sie den Trainingsdaten ein neues Etikett von 0,8
2) Berechnen Sie das neue Etikett mit dieser Methode für jeden Eintrag im Trainingssatz
3) Behandeln Sie das Problem als Regressionsproblem (wobei die Beschriftungen zwischen 0 und 1 liegen).
4) Klassifizieren Sie unbeschriftete Daten danach, ob die neuen Beschriftungen über oder unter einem bestimmten Wert liegen. dh Geben Sie allen vorhergesagten Bezeichnungen Klasse 0, wenn sie unter X liegen, und Klasse 1, wenn sie über X liegen.
Ich verwende derzeit eine SVM mit einem RBF-Kernel für mein Modell.
Danke im Voraus!
quelle
Antworten:
Ja, diese Vertrauensdaten können verwendet werden. Ich würde den von Ihnen erwähnten Ansatz jedoch nicht empfehlen. Lassen Sie mich stattdessen einen anderen Ansatz vorschlagen. Eigentlich werde ich zwei vorschlagen. Der erste ist konzeptionell sauber; Der zweite ist wahrscheinlich einfacher zu implementieren. und sie werden in der Praxis wahrscheinlich ungefähr gleichwertig sein.
Stellen Sie die Verlustfunktion ein
Sie können die Verlustfunktion anpassen, um die Konfidenzwerte für die Trainingsdaten widerzuspiegeln.
Jetzt können Sie einen Klassifikator trainieren, indem Sie diese angepasste Verlustfunktion minimieren. Dadurch werden alle Informationen direkt in Ihre Vertrauensbewertungen einbezogen.
Verwenden Sie Gewichte
Alternativ können Sie Gewichte verwenden, um die Vertrauensinformationen wiederzugeben.
Bei einigen Klassifizierern können Sie für jede Instanz im Trainingssatz ein Gewicht angeben . Die Idee ist, dass eine falsche Vorhersage für eine bestimmte Instanz die Proportionalität zu ihrem Gewicht bestraft, sodass Instanzen mit einem hohen Gewicht wichtiger sind, um richtig zu sein, und Instanzen mit einem niedrigen Gewicht weniger wichtig sind. Entsprechend bemüht sich das Trainingsverfahren, Fehler bei Instanzen mit hohem Gewicht zu vermeiden.
Für Klassifizierer, die Gewichte unterstützen, sollte dies einfach zu implementieren sein.
Man kann auch zeigen, dass es effektiv und vernünftig ist. Wenn Sie beispielsweise den Kreuzentropieverlust zum Trainieren eines Klassifikators verwenden, entspricht dieser Ansatz unter Verwendung von Gewichten der Anpassung der Verlustfunktion wie oben hervorgehoben. In diesem speziellen Kontext sind die beiden Ansätze also tatsächlich gleichwertig.
quelle