Минимизация эмпирического риска

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
 
(4 промежуточные версии не показаны)
Строка 1: Строка 1:
-
{{well|Статья написана с использованием LLM '''ChatGPT''' и проверена участником [[Участник:Polina Khadralinova|Polina Khadralinova]] 00:11, 22 июня 2026 (MSD)}}
+
{{well|СТАТЬЯ В РАЗРАБОТКЕ: Этот материал сейчас находится в процессе активного редактирования и доработки участником Polina Khadralinova. Просьба не оценивать статью до снятия этой пометки.}}
 +
{{TOCright}}
-
'''Минимизация эмпирического риска''' (англ. ''Empirical Risk Minimization, ERM'') — один из фундаментальных принципов в [[Теория вычислительного обучения|теории машинного обучения]], определяющий метод построения [[Обучение с учителем|алгоритмов обучения с учителем]]. Суть принципа заключается в выборе параметрической модели, которая минимизирует среднюю ошибку (функцию потерь) на заданной [[Выборка|обучающей выборке]].
+
'''Минимизация эмпирического риска''' (англ. ''Empirical Risk Minimization'', ''ERM'') — это фундаментальный принцип машинного обучения. Он заключается в том, что из заданного семейства моделей мы выбираем ту, которая показывает наименьшую ошибку на доступных тренировочных данных.
-
Данный принцип является строгой математической формализацией [[Эмпирическая индукция|эмпирической индукции]] Фрэнсиса Бэкона: на основе частных опытных данных (прецедентов) строится общее закономерное правило (модель), способное делать предсказания для новых объектов.
+
Поскольку мы никогда не знаем всех возможных данных в природе, мы не можем измерить «истинную» ошибку модели. Принцип ERM постулирует, что вместо недоступной истинной ошибки мы можем опираться на её практическую оценку — эмпирический риск.
-
== Историческая справка ==
+
== Введение ==
-
Идейным предшественником принципа ERM является [[Метод наименьших квадратов|метод наименьших квадратов]], предложенный Карлом Фридрихом Гауссом (1795) и Адриеном Мари Лежандром (1805) для астрономических вычислений. Они первыми предложили искать параметры модели, минимизируя сумму квадратов отклонений на известных точках<ref>Gauss C. F. Theoria motus corporum coelestium in sectionibus conicis solem ambientium. — 1809.</ref>.
+
Задача машинного обучения с учителем формулируется так. У нас есть множество объектов <tex>X</tex> (например, фотографии) и множество допустимых ответов <tex>Y</tex> (например, метки «кошка» или «собака»). Существует скрытая закономерность — идеальное правило <tex>y^*: X \to Y</tex>.
-
Строгое математическое и статистическое обоснование принципа минимизации эмпирического риска было разработано в 1960–1970-х годах в рамках статистической теории обучения (теории Вапника — Червоненкиса). В. Н. Вапник и А. Я. Червоненкис доказали теоремы о равномерной сходимости частот к вероятностям, определив условия, при которых минимизация ошибки на обучающей выборке гарантирует низкую ошибку на новых данных<ref>Вапник В. Н., Червоненкис А. Я. Теория распознавания образов. — М.: Наука, 1974.</ref>.
+
Мы не знаем эту закономерность целиком. Нам доступна лишь конечная обучающая выборка <tex>X^{\ell} = \{ (x_i, y_i) \}_{i=1}^{\ell}</tex>.
-
== Ожидаемый и эмпирический риск ==
+
Наша цель — найти такой алгоритм <tex>a: X \to Y</tex> из заданного семейства моделей <tex>A = \{ a(x, w) \mid w \in W \}</tex>, который не просто запомнит правильные ответы для обучающей выборки, но и сможет безошибочно работать на новых данных. Ошибку модели на конкретном объекте мы измеряем с помощью функции потерь <tex>\mathcal{L}(y, a(x))</tex>.
-
Пусть дано [[Пространство объектов|пространство объектов]] <math>X</math> и пространство ответов <math>Y</math>. Предполагается, что существует неизвестная совместная плотность распределения вероятностей <math>p(x, y)</math>, из которой порождаются данные.
+
== Историческая справка ==
-
Имеется параметрическое семейство моделей:
+
Истоки принципа минимизации эмпирического риска восходят к философской концепции [[Эмпирическая индукция|эмпирической индукции]] Фрэнсиса Бэкона (1620 г.), утверждавшего, что законы природы необходимо выводить путём обобщения фактов опыта, а не постулировать умозрительно.
-
:<math>A = \{ a(x, w) \mid w \in W \}</math>,
+
-
где <math>W \subseteq \mathbb{R}^N</math> — пространство параметров (весов).
+
-
Качество предсказания оценивается с помощью '''функции потерь''' (loss function) <math>\mathcal{L}(a(x, w), y)</math>.
+
В строгой математической форме этот принцип впервые был применён Карлом Фридрихом Гауссом в 1795 году при разработке [[Метод наименьших квадратов|метода наименьших квадратов]] для расчёта орбит небесных тел. Гаусс предложил искать параметры модели, минимизируя сумму квадратов отклонений предсказанных значений от наблюдаемых. Позже, в 1936 году, Рональд Фишер применил схожий принцип для задачи классификации ([[Линейный дискриминантный анализ|линейный дискриминантный анализ]]).
-
'''Истинный (ожидаемый) риск''' <math>R(w)</math> это математическое ожидание функции потерь по всему распределению <math>p(x, y)</math>:
+
Своё современное теоретико-вероятностное обоснование принцип ERM получил в конце 1960-х начале 1970-х годов в трудах советских математиков В. Н. Вапника и А. Я. Червоненкиса. В рамках созданной ими статистической теории обучения ([[Теория Вапника-Червоненкиса|теории Вапника-Червоненкиса]]) были строго сформулированы условия состоятельности принципа минимизации эмпирического риска и получены оценки скорости сходимости эмпирического риска к ожидаемому.
-
:<math>R(w) = \mathbb{E}_{x,y \sim p(x, y)} [\mathcal{L}(a(x, w), y)]</math>.
+
-
Идеальная цель машинного обучения — найти параметры <math>w</math>, минимизирующие истинный риск. Однако на практике распределение <math>p(x, y)</math> неизвестно.
+
-
Вместо этого доступна конечная обучающая выборка:
+
== Ожидаемый и эмпирический риск ==
-
:<math>X^{\ell} = \{ (x_1, y_1), \dots, (x_{\ell}, y_{\ell}) \}</math>.
+
-
В соответствии с [[Закон больших чисел|законом больших чисел]], истинный риск заменяется его выборочной оценкой — '''эмпирическим риском''':
+
В теории машинного обучения мы считаем, что данные не появляются из ниоткуда. Существует неизвестное совместное вероятностное распределение <tex>P(x, y)</tex> на пространстве <tex>X \times Y</tex>. Все наши объекты и ответы генерируются независимо из этого распределения.
-
:<math>Q(w, X^{\ell}) = \frac{1}{\ell} \sum_{i=1}^{\ell} \mathcal{L}(a(x_i, w), y_i)</math>.
+
-
Принцип ERM утверждает, что оптимальные параметры модели <math>w^*</math> должны доставлять минимум функционалу эмпирического риска:
+
В идеальном мире мы хотели бы создать модель, которая ошибается как можно реже на любых возможных данных. Эта идеальная мера ошибки называется '''ожидаемым риском''' (или истинным риском). Математически это математическое ожидание функции потерь по всему распределению:
-
:<math>w^* = \arg\min_{w \in W} Q(w, X^{\ell}) \to \min_w</math>.
+
::<tex>R(a) = \mathbb{E}_{x,y \sim P} [\mathcal{L}(y, a(x))] = \int_{X \times Y} \mathcal{L}(y, a(x)) dP(x, y)</tex>
-
== Условия состоятельности и переобучение ==
+
'''Интуитивная аналогия:''' Представьте, что вы готовитесь к сложному экзамену. Ожидаемый риск — это ваша реальная оценка на самом экзамене, где вам может попасться абсолютно любой билет по предмету. Мы хотим сдать экзамен на «отлично», то есть свести ожидаемый риск <tex>R(a)</tex> к минимуму.
-
Главная проблема принципа ERM заключается в том, что при высокой сложности семейства моделей <math>A</math> (например, в глубоких нейронных сетях) и малом объёме выборки <math>\ell</math>, минимум эмпирического риска не гарантирует минимума истинного риска. Возникает эффект '''[[Переобучение|переобучения]]''' (overfitting), когда <math>Q(w^*, X^{\ell}) \approx 0</math>, но истинный риск <math>R(w^*)</math> оказывается огромным.
+
Проблема в том, что заранее узнать все вопросы экзамена (распределение <tex>P(x, y)</tex>) невозможно. Поэтому вычислить ожидаемый риск <tex>R(a)</tex> напрямую нельзя.
-
Согласно теории Вапника Червоненкиса, с вероятностью <math>1 - \eta</math> истинный риск ограничен сверху:
+
Но у нас есть билеты прошлых лет наша обучающая выборка <tex>X^{\ell}</tex>. [[Закон больших чисел]] говорит нам, что теоретическое математическое ожидание можно оценить на практике, просто усреднив ошибку на всех доступных данных. Так мы получаем '''эмпирический риск''':
-
:<math>R(w) \leqslant Q(w, X^{\ell}) + \sqrt{\frac{h (\ln(2\ell/h) + 1) - \ln(\eta/4)}{\ell}}</math>,
+
::<tex>Q(a, X^{\ell}) = \frac{1}{\ell} \sum_{i=1}^{\ell} \mathcal{L}(y_i, a(x_i))</tex>
-
где <math>h</math> — [[Емкость (машинное обучение)|VC-размерность]] (мера сложности) семейства моделей. Для состоятельности принципа ERM необходимо, чтобы объем выборки значительно превосходил сложность модели (<math>\ell \gg h</math>).
+
-
=== Регуляризация ===
+
В нашей аналогии эмпирический риск <tex>Q(a, X^{\ell})</tex> — это доля ошибок, которые вы делаете, решая старые билеты дома.
-
Для борьбы с переобучением применяется '''[[Регуляризация|регуляризация]]'''. К эмпирическому риску добавляется штрафное слагаемое <math>\mathcal{R}(w)</math>, ограничивающее эффективную сложность модели:
+
-
:<math>Q_{\text{reg}}(w, X^{\ell}) = \frac{1}{\ell} \sum_{i=1}^{\ell} \mathcal{L}(a(x_i, w), y_i) + \tau \mathcal{R}(w) \to \min_{w}</math>,
+
-
где <math>\tau</math> — коэффициент регуляризации. Наиболее популярны <math>L_2</math>-норма (сокращение весов) и <math>L_1</math>-норма (отбор признаков).
+
-
== Основные типы функций потерь ==
+
Метод минимизации эмпирического риска делает логичный шаг. Раз мы не можем минимизировать ошибку на всех данных мира, давайте найдём алгоритм <tex>a^*</tex> (или вектор весов <tex>w^*</tex>), который доставляет минимум этому функционалу на обучающей выборке:
 +
::<tex>a^* = \arg\min_{a \in A} Q(a, X^{\ell})</tex>
-
Выбор <math>\mathcal{L}</math> зависит от типа прикладной задачи.
+
== Условия состоятельности и переобучение ==
-
В задачах '''[[Регрессионный анализ|регрессии]]''':
+
Главной проблемой принципа ERM является явление переобучения. Возвращаясь к нашей аналогии: если вы просто зазубрите наизусть ответы к билетам прошлых лет, ваш эмпирический риск дома будет равен нулю. Но на реальном экзамене при малейшем изменении формулировки вопроса вы провалитесь (истинный риск <tex>R(a)</tex> окажется высоким). Модель теряет способность к обобщению.
-
* Квадратичная ошибка (MSE): <math>\mathcal{L}(w, x_i) = (a(x_i, w) - y_i)^2</math>.
+
-
* Абсолютная ошибка (MAE, для [[Робастное обучение|робастности]] к выбросам): <math>\mathcal{L}(w, x_i) = |a(x_i, w) - y_i|</math>.
+
-
В задачах '''[[Классификация|бинарной классификации]]''' (где <math>y \in \{-1, +1\}</math>) функция потерь зависит от отступа <math>M_i(w) = a(x_i, w)y_i</math>:
+
Принцип ERM называется строго состоятельным, если при бесконечном увеличении объёма выборки <tex>\ell \to \infty</tex> эмпирический риск приближается к ожидаемому риску равномерно для всех моделей семейства <tex>A</tex>:
-
* Логистическая функция (в [[Логистическая регрессия|логистической регрессии]]): <math>\mathcal{L}(M) = \ln(1 + e^{-M})</math>.
+
::<tex>\lim_{\ell \to \infty} \mathbb{P} \left( \sup_{a \in A} |R(a) - Q(a, X^{\ell})| > \epsilon \right) = 0</tex>
-
* Кусочно-линейная функция (в [[Метод опорных векторов|SVM]]): <math>\mathcal{L}(M) = \max(0, 1 - M)</math>.
+
-
== Методы оптимизации ==
+
Согласно фундаментальной теореме Вапника-Червоненкиса, чтобы метод работал надёжно, сложность семейства функций должна быть ограничена. Оценка обобщающей способности имеет следующий вид: с вероятностью не менее <tex>1 - \delta</tex> для любого алгоритма <tex>a \in A</tex>справедливо неравенство:
 +
::<tex>R(a) \le Q(a, X^{\ell}) + \sqrt{\frac{h \left( \ln\left(\frac{2\ell}{h}\right) + 1 \right) - \ln\left(\frac{\delta}{4}\right)}{\ell}}</tex>,
 +
где <tex>h</tex> — ёмкость класса моделей ([[Емкость (машинное обучение)|VC-размерность]]), а второй член под корнем представляет собой штраф за сложность.
-
В современных задачах с большими данными прямое вычисление градиента эмпирического риска по всей выборке <math>X^\ell</math> вычислительно неэффективно. Применяется метод '''[[Стохастический градиентный спуск|стохастического градиента]]''' (SG). На каждой итерации <math>t</math> градиентный шаг делается на основе потери только на одном случайно выбранном объекте <math>x_i</math>:
+
Из этой формулы математически следует важное правило: если сложность модели <tex>h</tex> (например, количество параметров нейронной сети) слишком велика по сравнению с количеством данных <tex>\ell</tex>, то метод ERM не гарантирует хорошего качества на новых данных, и модель неизбежно переобучается.
-
:<math>w^{(t+1)} := w^{(t)} - h \left( \nabla \mathcal{L}(a(x_i, w^{(t)}), y_i) + \tau \nabla \mathcal{R}(w^{(t)}) \right)</math>.
+
-
Для ускорения сходимости используются эвристики, такие как метод накопления инерции (Momentum) или адаптивный шаг (Adam).
+
-
== См. также ==
+
== Регуляризация ==
-
* [[Теория Вапника-Червоненкиса]]
+
-
* [[Переобучение]]
+
-
* [[Регуляризация (машинное обучение)]]
+
-
* [[Стохастический градиентный спуск]]
+
-
== Примечания ==
+
Для борьбы с переобучением метод ERM модифицируется. Мы не просто минимизируем ошибку на данных, но и штрафуем модель за излишнюю сложность. Этот подход известен как принцип структурной минимизации риска.
-
<references/>
+
 
 +
Оптимизируемый функционал принимает вид:
 +
::<tex>Q_{\text{reg}}(w, X^{\ell}) = \sum_{i=1}^{\ell} \mathcal{L}(y_i, a(x_i, w)) + \tau \mathcal{R}(w) \to \min_{w}</tex>,
 +
где <tex>\mathcal{R}(w)</tex> — функция-[[Регуляризация (машинное обучение)|регуляризатор]], запрещающая параметрам модели принимать слишком большие или сложные значения, а <tex>\tau > 0</tex> — коэффициент регуляризации.
 +
 
 +
Наиболее часто используемые регуляризаторы:
 +
* '''<tex>L_2</tex>-регуляризация''' (гребневая, Ridge): <tex>\mathcal{R}(w) = \|w\|_2^2 = \sum_{j=1}^n w_j^2</tex>. Не даёт весам модели неограниченно расти.
 +
* '''<tex>L_1</tex>-регуляризация''' (Lasso): <tex>\mathcal{R}(w) = \|w\|_1 = \sum_{j=1}^n |w_j|</tex>. Способна занулять малозначимые признаки, упрощая итоговую модель.
 +
 
 +
== Основные типы функций потерь ==
 +
 
 +
Выбор функции потерь <tex>\mathcal{L}(y, a(x))</tex> строго зависит от типа решаемой задачи.
 +
 
 +
=== В задачах регрессии ===
 +
В [[Регрессионный анализ|регрессии]] мы предсказываем действительные числа (<tex>Y = \mathbb{R}</tex>). Типичные функции потерь:
 +
* Квадратичная функция потерь (Метод наименьших квадратов): <tex>\mathcal{L}(y, a(x)) = (a(x) - y)^2</tex>.
 +
* Абсолютная ошибка (Модуль отклонения, для [[Робастное обучение|робастности]]): <tex>\mathcal{L}(y, a(x)) = |a(x) - y|</tex>. Менее чувствительна к аномальным выбросам в данных.
 +
 
 +
=== В задачах классификации ===
 +
В бинарной [[Классификация|классификации]] ответом является класс (<tex>Y = \{-1, +1\}</tex>). Самый естественный выбор — пороговая функция потерь, которая просто штрафует за несовпадение ответов:
 +
::<tex>\mathcal{L}(y, a(x)) = [a(x) \neq y]</tex>
 +
 
 +
Однако минимизация такой функции является крайне сложной дискретной NP-полной задачей комбинаторной оптимизации, так как она имеет вид «ступеньки» и её нельзя продифференцировать. На практике пороговую функцию заменяют её гладкими или выпуклыми верхними оценками, что позволяет легко обучать модель с помощью вычисления производных:
 +
* Логистическая функция (применяется в [[Логистическая регрессия|логистической регрессии]]): <tex>\mathcal{L}(M) = \log_2(1 + e^{-M})</tex>.
 +
* Кусочно-линейная функция (Hinge loss, применяется в [[Метод опорных векторов|методе опорных векторов]], SVM): <tex>\mathcal{L}(M) = \max(0, 1 - M)</tex>.
 +
* Экспоненциальная функция (применяется в бустинге): <tex>\mathcal{L}(M) = e^{-M}</tex>.
 +
Здесь <tex>M = y \langle w, x \rangle</tex> — это отступ (margin), который характеризует степень уверенности классификатора в правильном ответе. Использование таких аппроксимаций не только решает вычислительную проблему, но и улучшает обобщающую способность алгоритма.
 +
 
 +
== Методы оптимизации ==
 +
 
 +
Когда функция потерь непрерывна и имеет производные по параметрам <tex>w</tex>, задача решается методами градиентной оптимизации.
 +
 
 +
Исторически базовым алгоритмом является [[Градиентный спуск|градиентный спуск]]:
 +
::<tex>w_t = w_{t-1} - h \nabla_w Q(w_{t-1}, X^{\ell})</tex>,
 +
где <tex>h</tex> — размер шага (темп обучения). Вычисление градиента <tex>\nabla_w Q</tex> требует прохода по всей выборке <tex>X^{\ell}</tex>, что работает слишком медленно на современных больших данных.
 +
 
 +
В индустрии машинного и глубокого обучения повсеместно применяется '''[[Стохастический градиентный спуск|стохастический градиентный спуск]]''' (SGD). В нём на каждом шаге параметры обновляются по ошибке не на всех данных, а лишь на одном случайном объекте <tex>x_i</tex>:
 +
::<tex>w_t = w_{t-1} - h \nabla_w \mathcal{L}(y_i, a(x_i, w_{t-1}))</tex>
 +
 
 +
Чаще всего используется промежуточный пакетный вариант (Mini-batch SGD). При нём шаг делается по небольшой группе объектов (батчу). Это позволяет эффективно обучать огромные нейронные сети за счёт распараллеливания вычислений на видеокартах (GPU).
== Литература ==
== Литература ==
-
* ''Hastie T., Tibshirani R., Friedman J.'' The Elements of Statistical Learning. — Springer, 2017.
+
* {{книга | автор = Вапник В. Н., Червоненкис А. Я. | заглавие = Теория распознавания образов | место = М. | издательство = Наука | год = 1974 | страниц = 416 }}
-
* ''Воронцов К. В.'' Философия. Введение в ИИ (курс лекций). — 2026.
+
* {{книга | автор = Вапник В. Н. | заглавие = Восстановление зависимостей по эмпирическим данным | место = М. | издательство = Наука | год = 1979 | страниц = 448 }}
-
* ''Мерков А. Б.'' Распознавание образов. Введение в методы статистического обучения. — М.: Едиториал УРСС, 2011.
+
* {{книга | автор = Hastie T., Tibshirani R., Friedman J. | заглавие = The Elements of Statistical Learning, 2nd edition | издательство = Springer | год = 2009 | страниц = 745 }}
 +
* {{книга | автор = Воронцов К. В. | заглавие = Математические методы обучения по прецедентам | место = М. | издательство = МФТИ | год = 2012 }}
[[Категория:Машинное обучение]]
[[Категория:Машинное обучение]]
[[Категория:Математические методы]]
[[Категория:Математические методы]]
[[Категория:Теория вычислительного обучения]]
[[Категория:Теория вычислительного обучения]]

Текущая версия

СТАТЬЯ В РАЗРАБОТКЕ: Этот материал сейчас находится в процессе активного редактирования и доработки участником Polina Khadralinova. Просьба не оценивать статью до снятия этой пометки.


Содержание

Минимизация эмпирического риска (англ. Empirical Risk Minimization, ERM) — это фундаментальный принцип машинного обучения. Он заключается в том, что из заданного семейства моделей мы выбираем ту, которая показывает наименьшую ошибку на доступных тренировочных данных.

Поскольку мы никогда не знаем всех возможных данных в природе, мы не можем измерить «истинную» ошибку модели. Принцип ERM постулирует, что вместо недоступной истинной ошибки мы можем опираться на её практическую оценку — эмпирический риск.

Введение

Задача машинного обучения с учителем формулируется так. У нас есть множество объектов X (например, фотографии) и множество допустимых ответов Y (например, метки «кошка» или «собака»). Существует скрытая закономерность — идеальное правило y^*: X \to Y.

Мы не знаем эту закономерность целиком. Нам доступна лишь конечная обучающая выборка X^{\ell} = \{ (x_i, y_i) \}_{i=1}^{\ell}.

Наша цель — найти такой алгоритм a: X \to Y из заданного семейства моделей A = \{ a(x, w) \mid w \in W \}, который не просто запомнит правильные ответы для обучающей выборки, но и сможет безошибочно работать на новых данных. Ошибку модели на конкретном объекте мы измеряем с помощью функции потерь \mathcal{L}(y, a(x)).

Историческая справка

Истоки принципа минимизации эмпирического риска восходят к философской концепции эмпирической индукции Фрэнсиса Бэкона (1620 г.), утверждавшего, что законы природы необходимо выводить путём обобщения фактов опыта, а не постулировать умозрительно.

В строгой математической форме этот принцип впервые был применён Карлом Фридрихом Гауссом в 1795 году при разработке метода наименьших квадратов для расчёта орбит небесных тел. Гаусс предложил искать параметры модели, минимизируя сумму квадратов отклонений предсказанных значений от наблюдаемых. Позже, в 1936 году, Рональд Фишер применил схожий принцип для задачи классификации (линейный дискриминантный анализ).

Своё современное теоретико-вероятностное обоснование принцип ERM получил в конце 1960-х — начале 1970-х годов в трудах советских математиков В. Н. Вапника и А. Я. Червоненкиса. В рамках созданной ими статистической теории обучения (теории Вапника-Червоненкиса) были строго сформулированы условия состоятельности принципа минимизации эмпирического риска и получены оценки скорости сходимости эмпирического риска к ожидаемому.

Ожидаемый и эмпирический риск

В теории машинного обучения мы считаем, что данные не появляются из ниоткуда. Существует неизвестное совместное вероятностное распределение P(x, y) на пространстве X \times Y. Все наши объекты и ответы генерируются независимо из этого распределения.

В идеальном мире мы хотели бы создать модель, которая ошибается как можно реже на любых возможных данных. Эта идеальная мера ошибки называется ожидаемым риском (или истинным риском). Математически это математическое ожидание функции потерь по всему распределению:

R(a) = \mathbb{E}_{x,y \sim P} [\mathcal{L}(y, a(x))] = \int_{X \times Y} \mathcal{L}(y, a(x)) dP(x, y)

Интуитивная аналогия: Представьте, что вы готовитесь к сложному экзамену. Ожидаемый риск — это ваша реальная оценка на самом экзамене, где вам может попасться абсолютно любой билет по предмету. Мы хотим сдать экзамен на «отлично», то есть свести ожидаемый риск R(a) к минимуму.

Проблема в том, что заранее узнать все вопросы экзамена (распределение P(x, y)) невозможно. Поэтому вычислить ожидаемый риск R(a) напрямую нельзя.

Но у нас есть билеты прошлых лет — наша обучающая выборка X^{\ell}. Закон больших чисел говорит нам, что теоретическое математическое ожидание можно оценить на практике, просто усреднив ошибку на всех доступных данных. Так мы получаем эмпирический риск:

Q(a, X^{\ell}) = \frac{1}{\ell} \sum_{i=1}^{\ell} \mathcal{L}(y_i, a(x_i))

В нашей аналогии эмпирический риск Q(a, X^{\ell}) — это доля ошибок, которые вы делаете, решая старые билеты дома.

Метод минимизации эмпирического риска делает логичный шаг. Раз мы не можем минимизировать ошибку на всех данных мира, давайте найдём алгоритм a^* (или вектор весов w^*), который доставляет минимум этому функционалу на обучающей выборке:

a^* = \arg\min_{a \in A} Q(a, X^{\ell})

Условия состоятельности и переобучение

Главной проблемой принципа ERM является явление переобучения. Возвращаясь к нашей аналогии: если вы просто зазубрите наизусть ответы к билетам прошлых лет, ваш эмпирический риск дома будет равен нулю. Но на реальном экзамене при малейшем изменении формулировки вопроса вы провалитесь (истинный риск R(a) окажется высоким). Модель теряет способность к обобщению.

Принцип ERM называется строго состоятельным, если при бесконечном увеличении объёма выборки \ell \to \infty эмпирический риск приближается к ожидаемому риску равномерно для всех моделей семейства A:

\lim_{\ell \to \infty} \mathbb{P} \left( \sup_{a \in A} |R(a) - Q(a, X^{\ell})| > \epsilon \right) = 0

Согласно фундаментальной теореме Вапника-Червоненкиса, чтобы метод работал надёжно, сложность семейства функций должна быть ограничена. Оценка обобщающей способности имеет следующий вид: с вероятностью не менее 1 - \delta для любого алгоритма a \in Aсправедливо неравенство:

R(a) \le Q(a, X^{\ell}) + \sqrt{\frac{h \left( \ln\left(\frac{2\ell}{h}\right) + 1 \right) - \ln\left(\frac{\delta}{4}\right)}{\ell}},

где h — ёмкость класса моделей (VC-размерность), а второй член под корнем представляет собой штраф за сложность.

Из этой формулы математически следует важное правило: если сложность модели h (например, количество параметров нейронной сети) слишком велика по сравнению с количеством данных \ell, то метод ERM не гарантирует хорошего качества на новых данных, и модель неизбежно переобучается.

Регуляризация

Для борьбы с переобучением метод ERM модифицируется. Мы не просто минимизируем ошибку на данных, но и штрафуем модель за излишнюю сложность. Этот подход известен как принцип структурной минимизации риска.

Оптимизируемый функционал принимает вид:

Q_{\text{reg}}(w, X^{\ell}) = \sum_{i=1}^{\ell} \mathcal{L}(y_i, a(x_i, w)) + \tau \mathcal{R}(w) \to \min_{w},

где \mathcal{R}(w) — функция-регуляризатор, запрещающая параметрам модели принимать слишком большие или сложные значения, а \tau > 0 — коэффициент регуляризации.

Наиболее часто используемые регуляризаторы:

  • L_2-регуляризация (гребневая, Ridge): \mathcal{R}(w) = \|w\|_2^2 = \sum_{j=1}^n w_j^2. Не даёт весам модели неограниченно расти.
  • L_1-регуляризация (Lasso): \mathcal{R}(w) = \|w\|_1 = \sum_{j=1}^n |w_j|. Способна занулять малозначимые признаки, упрощая итоговую модель.

Основные типы функций потерь

Выбор функции потерь \mathcal{L}(y, a(x)) строго зависит от типа решаемой задачи.

В задачах регрессии

В регрессии мы предсказываем действительные числа (Y = \mathbb{R}). Типичные функции потерь:

  • Квадратичная функция потерь (Метод наименьших квадратов): \mathcal{L}(y, a(x)) = (a(x) - y)^2.
  • Абсолютная ошибка (Модуль отклонения, для робастности): \mathcal{L}(y, a(x)) = |a(x) - y|. Менее чувствительна к аномальным выбросам в данных.

В задачах классификации

В бинарной классификации ответом является класс (Y = \{-1, +1\}). Самый естественный выбор — пороговая функция потерь, которая просто штрафует за несовпадение ответов:

\mathcal{L}(y, a(x)) = [a(x) \neq y]

Однако минимизация такой функции является крайне сложной дискретной NP-полной задачей комбинаторной оптимизации, так как она имеет вид «ступеньки» и её нельзя продифференцировать. На практике пороговую функцию заменяют её гладкими или выпуклыми верхними оценками, что позволяет легко обучать модель с помощью вычисления производных:

Здесь M = y \langle w, x \rangle — это отступ (margin), который характеризует степень уверенности классификатора в правильном ответе. Использование таких аппроксимаций не только решает вычислительную проблему, но и улучшает обобщающую способность алгоритма.

Методы оптимизации

Когда функция потерь непрерывна и имеет производные по параметрам w, задача решается методами градиентной оптимизации.

Исторически базовым алгоритмом является градиентный спуск:

w_t = w_{t-1} - h \nabla_w Q(w_{t-1}, X^{\ell}),

где h — размер шага (темп обучения). Вычисление градиента \nabla_w Q требует прохода по всей выборке X^{\ell}, что работает слишком медленно на современных больших данных.

В индустрии машинного и глубокого обучения повсеместно применяется стохастический градиентный спуск (SGD). В нём на каждом шаге параметры обновляются по ошибке не на всех данных, а лишь на одном случайном объекте x_i:

w_t = w_{t-1} - h \nabla_w \mathcal{L}(y_i, a(x_i, w_{t-1}))

Чаще всего используется промежуточный пакетный вариант (Mini-batch SGD). При нём шаг делается по небольшой группе объектов (батчу). Это позволяет эффективно обучать огромные нейронные сети за счёт распараллеливания вычислений на видеокартах (GPU).

Литература

  • Вапник В. Н., Червоненкис А. Я. Теория распознавания образов. — М.: Наука, 1974. — 416 с.
  • Вапник В. Н. Восстановление зависимостей по эмпирическим данным. — М.: Наука, 1979. — 448 с.
  • Hastie T., Tibshirani R., Friedman J. The Elements of Statistical Learning, 2nd edition. — Springer, 2009. — 745 с.
  • Воронцов К. В. Математические методы обучения по прецедентам. — М.: МФТИ, 2012.
Личные инструменты