Używam standardowej wersji regresji logistycznej, aby dopasować moje zmienne wejściowe do binarnych zmiennych wyjściowych.
Jednak w moim problemie negatywne wyniki (0s) znacznie przewyższają pozytywne wyniki (1s). Stosunek wynosi 20: 1. Kiedy trenuję klasyfikator, wydaje się, że nawet cechy, które zdecydowanie sugerują możliwość uzyskania wyniku dodatniego, nadal mają bardzo niskie (wysoce ujemne) wartości odpowiadających im parametrów. Wydaje mi się, że tak się dzieje, ponieważ jest zbyt wiele negatywnych przykładów, które ciągną parametry w ich kierunku.
Zastanawiam się więc, czy mogę dodać wagi (powiedzmy, używając 20 zamiast 1) dla pozytywnych przykładów. Czy to w ogóle skorzysta? A jeśli tak, to jak dodać wagi (w poniższych równaniach).
Funkcja kosztów wygląda następująco:
Gradient tej funkcji kosztu (wrt ) jest:
Tutaj = liczba przypadków testowych, = macierz cech, = wektor wyjściowy, = funkcja sigmoidalna, = parametry, których próbujemy się nauczyć.
W końcu uruchamiam opadanie gradientu, aby znaleźć najniższą możliwy. Implementacja wydaje się działać poprawnie.