Я использую стандартную версию логистической регрессии для подгонки моих входных переменных к двоичным выходным переменным.
Однако в моей задаче отрицательные выходы (0 с) намного превосходят положительные (1 с). Соотношение составляет 20: 1. Поэтому, когда я обучаю классификатор, кажется, что даже функции, которые настоятельно предполагают возможность положительного результата, все еще имеют очень низкие (крайне отрицательные) значения для их соответствующих параметров. Мне кажется, что это происходит потому, что слишком много отрицательных примеров подтягивают параметры в их направлении.
Поэтому мне интересно, могу ли я добавить веса (скажем, используя 20 вместо 1) для положительных примеров. Это может принести пользу вообще? И если да, то как мне добавить вес (в уравнениях ниже).
Функция стоимости выглядит следующим образом:
Градиент этой функции стоимости (относительно ):
Здесь = количество тестовых случаев, x = матрица признаков, y = выходной вектор, h = сигмовидная функция, θ = параметры, которые мы пытаемся изучить.
Наконец я запускаю градиентный спуск, чтобы найти самый низкий возможный Реализация, кажется, работает правильно.