Функции потерь

Задача оценки вероятностей

Хотим, чтобы модель выдавала не просто класс, а уверенность в своём ответе. Например, \(a(x) = +1\) с уверенностью 80% означает: среди всех объектов, которым модель даёт 80%, реально положительных должно быть 80%.

Зачем это нужно:

  • Гибкий выбор порога. Если \(b(x) \geq 90\%\) — звоним клиенту, иначе нет.
  • Ранжирование объектов по уверенности (например, в задаче баннерной рекламы).

Формализуем: \(b(x) = \sigma(\langle w, x \rangle) \in (0; 1)\), где \(\sigma(z) = \frac{1}{1 + e^{-z}}\).

Корректность оценки. \(b(x)\) корректно оценивает вероятности, если для любого \(p\) среди всех объектов \(x\) с \(b(x) = p\) доля положительных равна \(p\).

Требование к функции потерь

При \(n \to \infty\) на группе одинаковых объектов получаем:

\[\mathop{\text{argmin}}_{b \in [0;1]} \mathbb{E}_y(L(y, b) \mid x) = P(y = +1 \mid x) \quad \forall x \in \mathbb{X}\]

То есть минимум ожидаемой потери должен достигаться именно в истинной вероятности положительного класса.

MSE

\[L(y, z) = (b - [y = +1])^2\]

Берём производную по \(b\) и приравниваем к нулю:

\[\frac{\partial}{\partial b} \mathbb{E}_y(b - [y=+1])^2 = 2p(b-1) + 2b(1-p) = 0 \implies b = P(y=+1 \mid x)\]

MSE формально удовлетворяет требованию. Однако на практике это плохой выбор: из-за горизонтальных асимптот сигмоиды производная в крайних точках очень мала, хотя ошибка может быть большой.

MAE

Для MAE требование к корректной оценке вероятностей не выполняется.

Log-loss (Binary Cross Entropy)

Выведем функцию потерь из вероятностных соображений. Каждый ответ \(y_i\) — случайная величина из распределения Бернулли. Запишем функцию максимального правдоподобия:

\[L = \prod_{i=1}^\ell b(x_i)^{[y_i=+1]} (1 - b(x_i))^{[y_i=-1]} \to \max\]

Логарифмируем и берём с минусом (минимизируем):

\[\text{log-loss} = \sum_{i=1}^\ell \left( -[y_i=+1] \log b(x_i) - [y_i=-1] \log(1 - b(x_i)) \right) \to \min\]

Для сигмоиды \(b(x) = \sigma(\langle w, x \rangle)\) это сводится к логистической функции потерь:

\[L(y, z) = \log(1 + e^{-yz})\]

Для log-loss требование корректной оценки вероятностей выполняется.

Hinge loss и SVM

Кусочно-линейная функция потерь:

\[\bar{L}(\mu) = \max(0, 1 - \mu)\]

Линейно-разделимый случай

Введём требование нормировки: \(\min_{x_i \in \mathbb{X}} |\langle w, x_i \rangle + w_0| = 1\). Тогда расстояние от гиперплоскости до ближайшего объекта равно \(\frac{1}{\|w\|}\). Максимизация отступа приводит к задаче:

\[\begin{cases} \|w\|^2 \to \min_{w, w_0} \\ y_i (\langle w, x_i \rangle + w_0) \geq 1 \quad \forall i \end{cases}\]

Линейно-неразделимый случай

Вводим переменные ослабления \(\xi_i \geq 0\):

\[\begin{cases} \frac{1}{2}\|w\|^2 + C \sum_{i=1}^n \xi_i \to \min_{w, w_0, \xi_i} \\ y_i(\langle w, x_i \rangle + w_0) \geq 1 - \xi_i \end{cases}\]

Здесь \(C\) — штраф за ошибки, \(\frac{1}{2}\|w\|^2\) — штраф за малый отступ. После подстановки оптимального \(\xi_i = \max(0, 1 - y_i(\langle w, x \rangle + w_0))\) получаем безусловную задачу оптимизации — SVM в общем виде.

Используется L1-норма по \(\xi_i\), а не L2, чтобы вектор ошибок был разреженным: выгоднее делать больше правильных предсказаний с небольшим числом ошибок, чем равномерно уменьшать суммарную ошибку.

Сравнение SVM и логистической регрессии

Свойство SVM (hinge) Логистическая регрессия (log-loss)
При \(\mu < 0\) Одинаковое поведение Одинаковое поведение
При \(\mu > 0\) Достаточно \(\mu \geq 1\) Стремится \(\mu \to +\infty\)
Цель Максимизация отступа, лучшие метрики классификации Предсказание вероятностей
← Назад к списку тем