Ich verwende eine Standardversion der logistischen Regression, um meine Eingabevariablen an binäre Ausgabevariablen anzupassen.
In meinem Problem sind die negativen Ausgänge (0s) jedoch weitaus größer als die positiven Ausgänge (1s). Das Verhältnis beträgt 20: 1. Wenn ich also einen Klassifikator trainiere, scheinen selbst Merkmale, die stark auf die Möglichkeit einer positiven Ausgabe hinweisen, immer noch sehr niedrige (stark negative) Werte für die entsprechenden Parameter zu haben. Es scheint mir, dass dies passiert, weil es einfach zu viele negative Beispiele gibt, die die Parameter in ihre Richtung ziehen.
Ich frage mich also, ob ich für die positiven Beispiele Gewichte hinzufügen kann (z. B. 20 anstelle von 1). Ist das überhaupt von Vorteil? Und wenn ja, wie soll ich die Gewichte hinzufügen (in den folgenden Gleichungen).
Die Kostenfunktion sieht wie folgt aus:
Der Gradient dieser Kostenfunktion (wrt ) ist:
Hier ist = Anzahl der Testfälle, = Merkmalsmatrix, = Ausgabevektor, = Sigmoidfunktion, = Parameter, die wir lernen wollen.
Schließlich laufe ich den Gradientenabstieg, um das niedrigstmögliche zu finden . Die Implementierung scheint korrekt zu laufen.