2. Логистическая регрессия#
Маша решила, что нет смысла останавливаться на обычной регрессии, когда она знает, что есть ещё и логистическая:
Целевая переменная, \(y,\) принимает значения \(0\) и \(1\). Аналитического решения в общем виде для такой задачи не существует. Приходится искать его с помощью градиентного спуска.
а) Запишите формулу, по которой можно пересчитывать веса в ходе градиентного спуска для логистической регрессии.
Решение
Нам нужно взять производную от логистической функции потерь, заменим в ней \(p\) на сигмоиду
Теперь подставим вместо \(z\) уравнение регрессии:
Это и есть наша функция потерь. От неё нам нужно найти производную. Давайте подготовимся.
Делай раз, найдём производную \(logloss\) по \(p\):
Делай два, найдём производную \(\frac{1}{1 + e^{-w x}} \) по \(w\):
По-другому это можно записать как \(p \cdot (1 - p) \cdot x\).
Делай три, находим полную производную:
б) Оказалось, что \(x = -5\), а \(y = 1\). Сделайте один шаг градиентного спуска, если \(w_0 = 1\), а скорость обучения \(\gamma = 0.01\).
Решение
Найдём значение производной в точке \(w_0 = 1\) для нашего наблюдения \(x = -5, y=1\):
Делаем шаг градиентного спуска:
в) Есть ли при решении этой задачи проблемы с локальными оптимумами? Если запустить повторно из другой инициализации, может получиться другой результат? Если да, то как с этим бороться?
Решение
Проблемы с локальными оптимумами при оптимизации нет, так как функция потерь выпуклая.