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.
quelle
Antworten:
quelle
In solchen Fällen ist es oft besser, anstelle des logistischen Links einen flexiblen Link zu verwenden, der diese Asymmetrie erfassen kann. Zum Beispiel ein Skew-Normal, GEV , Sinh-Arcsinh und die darin enthaltenen Referenzen. Es gibt viele andere, aber ich kann nicht mehr als 2 Links posten.
quelle