1. Математический фундамент: постановка задачи обучения, функции потерь и основы оптимизации
Математический фундамент: постановка задачи обучения, функции потерь и основы оптимизации
Представьте, что вы пытаетесь научить компьютер отличать качественное вино от суррогата, имея лишь данные о химическом составе. У вас нет четкого алгоритма «если кислотность выше , то это элитный сорт». Вместо этого у вас есть тысячи примеров, размеченных экспертами. Задача кажется тривиальной для человека, но для машины это превращается в поиск экстремума функции в многомерном пространстве. Почему большинство моделей машинного обучения сводятся к минимизации одной-единственной функции и как математически формализовать само понятие «обучения»?
Формальная постановка задачи: от данных к гипотезе
Обучение по прецедентам (supervised learning) начинается с определения объектов и их признаков. Мы рассматриваем множество объектов , которое часто называют признаковым пространством (feature space). Каждый объект описывается вектором признаков , где — размерность пространства.
Параллельно существует пространство ответов . В задачах регрессии , в задачах классификации — это конечное множество меток (например, ). Наша цель — найти зависимость между и , имея лишь обучающую выборку:
Здесь — количество примеров в выборке, а пара представляет собой конкретный прецедент. Мы предполагаем, что существует некоторая идеальная целевая зависимость , которая нам неизвестна. Мы ищем алгоритм , который будет максимально приближен к .
Однако «пространство всех возможных функций» бесконечно и неупорядочено. Чтобы сделать задачу решаемой, мы вводим семейство функций (гипотез) , параметризованных вектором . Тогда наш алгоритм принимает вид . Процесс обучения — это процедура выбора таких параметров , при которых предсказания алгоритма на обучающей выборке дают минимальную ошибку.
Эмпирический риск и функционал качества
Как измерить «плохость» модели? Для этого вводится функция потерь (loss function) , которая вычисляет штраф за отклонение предсказания от истинного значения .
Если мы просуммируем потери по всей обучающей выборке, мы получим функционал эмпирического риска (Empirical Risk):
В этой формуле:
* — значение суммарной ошибки модели с параметрами на данных . * — объем выборки. * — функция потерь. * — предсказание модели для -го объекта.
Принцип минимизации эмпирического риска (Empirical Risk Minimization, ERM) гласит: оптимальные параметры — это те, которые доставляют минимум функционалу :
> Важно понимать разницу между «аппроксимацией» и «обучением». Если мы просто идеально подгоним параметры под обучающую выборку, мы можем столкнуться с переобучением (overfitting). Модель просто «зазубрит» шум в данных, потеряв способность к обобщению на новых объектах.
Анатомия функций потерь: когда и что выбирать
Выбор функции потерь определяет характер обучения. Сравним основные подходы в таблице:
| Функция потерь | Область применения | Преимущества | Недостатки | | :--- | :--- | :--- | :--- | | MSE (Quadratic) | Регрессия | Дифференцируема, удобна для оптимизации | Чувствительна к выбросам | | MAE (Absolute) | Регрессия | Робастность (устойчивость к шуму) | Не дифференцируема в нуле | | Log-Loss | Классификация | Штрафует за неуверенность и ошибки | Требует вероятностного выхода |
Квадратичная функция потерь (MSE)
В задачах регрессии классическим выбором является Mean Squared Error (MSE):
Математически MSE очень удобна: она дифференцируема во всех точках, а ее производная линейно зависит от ошибки. Однако у нее есть существенный недостаток — чувствительность к выбросам (outliers). Поскольку ошибка возводится в квадрат, один аномальный объект с огромным отклонением может «перетянуть» на себя все внимание модели.
Абсолютная функция потерь (MAE)
Mean Absolute Error (MAE) использует модуль отклонения:
MAE гораздо устойчивее к выбросам, так как штраф растет линейно. Но есть нюанс: функция не дифференцируема в нуле. Это создает сложности для методов оптимизации, основанных на градиентах, так как в точке идеального совпадения () направление спуска не определено.
Логарифмическая функция потерь (Log-Loss)
В задачах классификации, где модель предсказывает вероятность принадлежности к классу , используется бинарная кросс-энтропия:
Здесь . Если истинный класс , а модель предсказывает , близкое к , значение логарифма стремится к минус бесконечности, и общий штраф резко возрастает.
Градиентный спуск: механическая интуиция
Математически «уклон» ландшафта функции потерь описывается градиентом . Градиент — это вектор частных производных функции по всем ее параметрам:
Градиент всегда указывает в сторону наискорейшего роста функции. Чтобы минимизировать функцию, нужно двигаться в сторону антиградиента. Правило обновления весов:
Где: * — текущие параметры. * (eta) — скорость обучения (learning rate). * — градиент функции в текущей точке.
Параметр скорости обучения ()
Стохастический градиентный спуск (SGD) и его вариации
Классический градиентный спуск (Batch Gradient Descent) требует вычисления градиента по всей выборке. Стохастический подход (SGD) предлагает обновлять веса на основе одного случайного объекта :
Сравнение методов оптимизации:
* Batch GD: Стабильный спуск, но очень медленный на больших данных. * SGD: Быстрый, позволяет работать с потоками данных, но траектория очень «шумная». * Mini-batch GD: Оптимальный баланс. Выборка разбивается на группы (батчи) от 16 до 512 объектов.
Проблема локальных минимумов и седловых точек
В классическом машинном обучении (линейная или логистическая регрессия) функции потерь часто являются выпуклыми (convex). Для выпуклой функции любой локальный минимум является глобальным.
Однако существует проблема плохо обусловленных данных. Если признаки имеют разный масштаб, линии уровня функции потерь вытягиваются в узкие «овраги». Именно поэтому масштабирование признаков (StandardScaler, MinMaxScaler) является математической необходимостью для градиентных методов.
Реализация градиентного спуска «с нуля» на Python
Рассмотрим оптимизацию MSE для модели . Производная MSE по параметру :
Анализ ограничений и краевых случаев
class weights.float overflow (ошибки NaN).Связь с теорией вероятностей
Минимизация функций потерь — это следствие принципа максимального правдоподобия (Maximum Likelihood Estimation, MLE).
* Если ошибки распределены нормально , MLE приводит к минимизации MSE. * Если ошибки распределены по Лапласу, MLE приводит к MAE. * Для распределения Бернулли мы получаем Log-Loss.
Выбирая функцию потерь, вы неявно делаете предположение о статистической природе шума в ваших данных.