# Математика классификации: как логарифмические потери спасают градиентный спуск

Источник: https://www.youtube.com/watch?v=vq4Ie5xWhww
Канал: DeepLearning.AI
Опубликовано: 01.12.2022

---

В рамках специализации **Machine Learning Specialization**, созданной **DeepLearning.AI**, рассматривается фундаментальный вопрос оптимизации моделей классификации. Ведущий курса объясняет, почему стандартный подход, применяемый в линейной регрессии, оказывается неэффективным для логистической регрессии, и представляет новую математическую архитектуру функции потерь, необходимую для стабильного обучения нейронных сетей и алгоритмов машинного обучения.

## 📉 Проблема невыпуклости: почему MSE не работает
[[JUMP:00:14]]

В задачах линейной регрессии традиционно используется функция стоимости на основе среднеквадратичной ошибки (MSE). Математически она представляет собой «выпуклую» (convex) функцию, по форме напоминающую чашу или гамак [01:51]. Такая структура идеальна для алгоритма градиентного спуска, так как из любой точки он неизбежно сходится к единственному глобальному минимуму [02:03].

Однако при попытке применить тот же метод к логистической регрессии возникают серьезные препятствия:

*   **Сложная архитектура:** Модель логистической регрессии использует сигмовидную функцию $f(x) = 1 / (1 + e^{-(wx+b)})$, которая вносит нелинейность [02:17].
*   **Невыпуклость (Non-convexity):** Если подставить логистическую функцию в формулу MSE, график функции стоимости станет «волнистым». На нем появится множество локальных минимумов [02:32].
*   **Риск застревания:** При использовании градиентного спуска на такой поверхности алгоритм может «застрять» в локальном минимуме, так и не найдя оптимальные параметры $W$ и $B$ [02:46].

По мнению автора курса, именно отсутствие гарантии сходимости делает среднеквадратичную ошибку плохим выбором для задач классификации. Чтобы вернуть функции стоимости свойство выпуклости, необходимо пересмотреть само определение потерь для каждого отдельного примера [02:59].

## 🛠 Разделение понятий: «Потери» против «Стоимости»
[[JUMP:03:11]]

Для построения новой функции стоимости вводится разграничение между двумя терминами:

1.  **Функция потерь (Loss function):** Обозначается как $L(f(x), y)$. Она вычисляет ошибку на **одном** конкретном обучающем примере [03:40].
2.  **Функция стоимости (Cost function):** Обозначается как $J(w, b)$. Это среднее арифметическое функций потерь по **всему** обучающему набору данных из $M$ примеров [10:20].

В логистической регрессии используется кусочно-заданная функция потерь, которая зависит от истинного значения метки $y$ (которая может быть либо 0, либо 1) [04:35]. Это позволяет математически «выпрямить» поверхность оптимизации, сделав итоговую функцию стоимости $J$ снова выпуклой [09:55].

## 🎯 Анализ случая y = 1: наказание за неуверенность
[[JUMP:04:48]]

Когда истинная метка объекта равна 1 (например, опухоль является злокачественной), функция потерь определяется как отрицательный логарифм предсказания: $L = -\log(f(x))$ [04:35].

Логика этого выбора заключается в следующем:

*   **Идеальный прогноз:** Если алгоритм предсказывает вероятность 1 (или очень близкую к ней), потери стремятся к нулю, так как предсказание совпало с реальностью [06:25].
*   **Средний результат:** Если алгоритм выдает вероятность 0.5, потери становятся ощутимо выше [06:51].
*   **Критическая ошибка:** Если алгоритм предсказывает вероятность 0.1 (считает, что шанс болезни всего 10%), в то время как $y=1$, функция назначает очень высокий штраф [07:05].

График этой функции на отрезке от 0 до 1 показывает, что чем дальше предсказание от единицы, тем стремительнее растут потери [05:41]. Это «подталкивает» модель делать более точные и уверенные предсказания для положительного класса [07:19].

## 🛡 Анализ случая y = 0: борьба с ложной тревогой
[[JUMP:07:32]]

Если истинная метка равна 0 (здоровая ткань), используется формула $L = -\log(1 - f(x))$ [04:48]. Здесь логика зеркально меняется:

*   **Точное попадание:** Когда предсказание $f(x)$ близко к 0, потери минимальны [08:10].
*   **Рост ошибки:** Чем выше предсказанная вероятность, тем больше штраф, так как модель уходит дальше от истины [08:36].
*   **Бесконечный штраф:** Если модель утверждает, что вероятность болезни 99.9% ($f(x) \to 1$), а на самом деле $y=0$, потери устремляются в бесконечность [09:03].

Автор подчеркивает, что такая жесткая минимизация ошибок крайне важна: если алгоритм ошибается в классификации, он должен получать максимально возможный «стимул» (штраф) для корректировки весов [09:29].

## 🚀 Практический результат: гладкая оптимизация
[[JUMP:10:08]]

Главное преимущество новой логарифмической функции потерь заключается в том, что среднее этих потерь по всему набору данных всегда дает выпуклую функцию стоимости $J(w, b)$ [10:08]. Хотя строгое математическое доказательство этого факта выходит за рамки курса, практические тесты подтверждают:

1.  **Отсутствие локальных минимумов:** Поверхность функции стоимости становится гладкой и похожей на чашу [11:24].
2.  **Надежность:** Градиентный спуск гарантированно находит глобальный минимум, обеспечивая наилучшие параметры модели [10:46].
3.  **Визуализация:** В лабораторных работах курса студенты могут сравнить «ухабистую» поверхность MSE и чистую выпуклую поверхность логистической функции потерь [11:12].

В следующем уроке планируется упрощение записи этой функции в одну строку, что позволит эффективно внедрить её в программный код для обучения моделей [11:50].