Комбинаторная теория переобучения (виртуальный семинар)

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

(Различия между версиями)
Перейти к: навигация, поиск
(категория)
Строка 1: Строка 1:
{{TOCright}}
{{TOCright}}
-
Данный виртуальный семинар предназначен для обсуждения проблемы учёта расслоения семейства алгоритмов и сходства алгоритмов в оценках [[обобщающая способность|обобщающей способности]].
+
Данный виртуальный семинар предназначен для обсуждения
 +
* эффектов расслоения и сходства в семействах алгоритмов [[классификация|классификации]];
 +
* влияния этих эффектов на [[обобщающая способность|обобщающую способность]];
 +
* математических техник, позволяющих учитывать эти эффекты в оценках [[Вероятность переобучения|вероятности переобучения]].
== Мотивация ==
== Мотивация ==
-
Получение точных верхних оценок вероятности [[переобучение|переобучения]] остаётся открытой проблемой в [[теория вычислительного обучения|теории статистического обучения]] уже более 40 лет, начиная с работ [[Вапник, Владимир Наумович|В. Н. Вапника]] и [[Червоненкис, Алексей Яковлевич|А. Я. Червоненкиса]]. Наиболее точные из известных оценок всё ещё сильно завышены.
+
Точные оценки [[Вероятность переобучения|вероятности переобучения]] необходимы для создания методов обучения по прецедентам, гарантирующих высокое качество классификации новых объектов, не вошедших в обучающую выборку.
 +
Получение точных оценок обобщающей способности остаётся открытой проблемой в [[теория вычислительного обучения|теории статистического обучения]] уже более 40 лет, начиная с [[Теория Вапника-Червоненкиса|VC-теории]], предложенной [[Вапник, Владимир Наумович|В. Н. Вапником]] и [[Червоненкис, Алексей Яковлевич|А. Я. Червоненкисом]].
 +
Наиболее точные из известных оценок всё ещё сильно завышены.
-
=== Первый эксперимент ===
+
Основной задачей в теории статистического обучения является получение верхних оценок для функционала
-
В экспериментах на реальных задачах классификации установлены основные причины завышенности и вычислены ''степени завышенности'' — коэффициенты, показывающие, во сколько раз каждая из этих причин завышает оценку вероятности переобучения.
+
::<tex>P_\varepsilon(A) = \mathbb{P}_X\Bigl( \sup_{a\in A} |P(a)-\nu(a,X)| \geq \varepsilon \Bigr),</tex>
-
Причины, в&nbsp;порядке убывания важности:
+
где
-
# Пренебрежение эффектом ''расслоения'' (или ''локализации'') семейства алгоритмов. Чем хуже классификатор решает данную задачу, тем меньше шансов получить его в результате настройки по обучающей выборке. Это означает, что реально работает не всё семейство, а только какая-то его часть, своя в каждой задаче. '''Степень завышенности:''' от нескольких десятков раз до сотен тысяч раз, в зависимости от задачи.
+
* <tex>A</tex> — семейство алгоритмов, из которого по обучающей выборке выбирается некоторый конкретный алгоритм;
-
# Пренебрежение сходством алгоритмов. При выводе оценок используется оценка вероятности объединения событий суммой их вероятностей (union bound). «События» соответствуют алгоритмам; точнее, ''d''-м «событием» является слишком большое уклонение частоты ошибок на тестовой и обучающей выборках для ''d''-го алгоритма. Union bound становится чрезвычайно завышенной оценкой, если среди событий (то есть среди алгоритмов) есть похожие. '''Степень завышенности:''' от нескольких сотен до десятков тысяч раз. Этот фактор всегда существенен и не так сильно зависит от задачи, как первый.
+
* <tex>P(a)</tex> — вероятность ошибки алгоритма <tex>a \in A</tex>;
-
# Экспоненциальная аппроксимация хвоста гипергеометрического распределения. Вроде бы точность аппроксимации увеличивается с ростом длины выборки — оба хвоста быстро стремятся к нулю. Тем не менее, относительная погрешность (отношение аппроксимации к точному значению) с ростом выборки растёт! Формула с экспонентой, конечно, приятна на глаз, но '''степень завышенности''' может достигать нескольких десятков. Отсюда вывод: по возможности не пользоваться аппроксимациями.
+
* <tex>\nu(a,X)</tex> — частота ошибок алгоритма <tex>a \in A</tex> на независимой обучающей выборке длины <tex>\ell</tex>;
 +
* <tex>\mathbb{P}_X</tex> — некоторая неизвестная вероятностная мера на множестве объектов.
 +
 
 +
У этого функционала есть несколько недостатков.
 +
* Если вероятностная мера <tex>P(a)</tex> неизвестна, то измерить функционал <tex>P_\varepsilon(A)</tex> непосредственно в эксперименте очень трудно, поскольку невозможно идентифицировать наступление события <tex>\sup_{a\in A} |P(a)-\nu(a,X)| \geq \varepsilon</tex>. А&nbsp;экспериментальное измерение необходимо для количественного анализа и понимания причин завышенности оценок. Выход заключается в том, чтобы вместо <tex>P(a)</tex> оценивать <tex>\nu(a,\bar X)</tex> — частоту ошибок алгоритма <tex>a</tex> на независимой контрольной выборке произвольной длины <tex>k</tex>. Тогда эмпирическое измерение функционала <tex>P_\varepsilon(A)</tex> становится возможным, например, методом Монте-Карло — путём генерации некоторого числа случайных разбиений полной выбоки <tex>X^L = X \sqcup \bar X</tex> на обучение и контроль. Здесь через <tex>L=\ell+k</tex> обозначена длина полной выборки.
 +
* Супремум в [[Теория Вапника-Червоненкиса|VC-теории]] вводится для того, чтобы получить наиболее общую оценку, не зависящую от конкретного [[метод обучения|метода обучения]] <tex>\mu</tex>, который по обучающей выборке <tex>X</tex> находит алгоритм <tex>a\in A</tex>. Однако на самом деле было бы правильнее оценивать [[вероятность переобучения]], то есть вероятность события <tex>|\delta_\mu(X,\bar X)| \geq \varepsilon</tex>, где разность <tex>\delta_\mu(X,\bar X) = \nu(\mu(X),\bar X)-\nu(\mu(X),X)</tex> называется ''переобученностью''. Введение супремума уже само по себе приводит к верхней оценке вероятности переобучения. Эта оценка может оказаться сильно завышенной, поскольку при решении прикладных задач методы обучения возвращают не любые алгоритмы из <tex>A</tex>, а лишь те, которые в определённом смысле «похожи» на восстанавливаемую зависимость.
 +
* Наконец, имеет смысл оценивать саму переобученность, а не её абсолютную величину, поскольку частоту ошибок на контрольной выборке, по смыслу задачи, необходимо ограничивать именно сверху, а не снизу.
 +
 
 +
Таким образом, более адекватным функционалом обобщающей способности является ''вероятность переобучения'':
 +
::<tex>Q_\varepsilon(\mu,X^L) = \mathbb{P}_{X,\bar X}\Bigl( \delta_\mu(X,\bar X) \geq \varepsilon \Bigr).</tex>
 +
 
 +
Этот функционал является ''локальной'' оценкой обобщающей способности, поскольку он зависит от метода обучения и полной выборки.
 +
 
 +
Термин ''переобучение'' понимается здесь в строго формальном смысле, как событие <tex>\delta_\mu(X,\bar X) \geq \varepsilon</tex>.
 +
 
 +
Вероятность <tex>\mathbb{P}_{X,\bar X}</tex> понимается здесь и далее в смысле равномерного распределения на множестве всех <tex>C_L^\ell</tex> разбиений неслучайной полной выбоки <tex>X^L = X \sqcup \bar X</tex>.
 +
Это позволяет применять чисто комбинаторные методы для получения оценок вероятности переобучения, и во многих случаях получать ''точные оценки'' (не завышенные, не асимптотические).
 +
См. также [[слабая вероятностная аксиоматика]].
 +
 
 +
Основным объектом изучения в комбинаторно-дискретной постановке является бинарная ''матрица ошибок'' <tex>I = (I_{id})</tex>.
 +
Строки матрицы соотвествуют объектам полной выборки, столбцы — алгоритмам, значение <tex>I_{id}=1</tex> означает, что алгоритм <tex>a_d</tex> допускает ошибку на объекте <tex>x_i</tex>. Столбец этой матрицы называется ''вектором ошибок'' алгоритма <tex>a_d</tex>.
 +
 +
=== Первый эксперимент (на реальных данных) ===
 +
В экспериментах на реальных задачах классификации удалось количественно оценить отдельные ''факторы завышенности'' классических VC-оценок.
 +
 
 +
Основные причины завышенности, в&nbsp;порядке убывания важности:
 +
# Пренебрежение эффектом ''расслоения'' (или ''локализации'') семейства алгоритмов. Чем хуже классификатор решает данную задачу, тем меньше шансов получить его в результате настройки по обучающей выборке. Это означает, что реально работает не всё семейство, а только какая-то его часть, своя в каждой задаче. <br>'''Степень завышенности:''' от нескольких десятков раз до сотен тысяч раз, в зависимости от задачи.
 +
# Пренебрежение эффектом ''сходства'' алгоритмов. При выводе классических VC-оценок используется [[неравенство Буля]] (union bound) — оценка вероятности объединения событий суммой их вероятностей. Эта оценка становится чрезвычайно завышенной, если среди алгоритмов есть похожие. <br>'''Степень завышенности:''' от нескольких сотен до десятков тысяч раз. Этот фактор всегда существенен и не так сильно зависит от задачи, как первый.
 +
# Экспоненциальная аппроксимация хвоста гипергеометрического распределения. Вроде бы точность аппроксимации увеличивается с ростом длины выборки — хвосты быстро стремятся к нулю. Однако относительная погрешность (отношение аппроксимированного значения к точному) с ростом выборки растёт! Отсюда вывод: при получении численно точных оценок не стоит пользоваться аппроксимациями. <br>'''Степень завышенности:''' порядка нескольких десятков.
 +
<!---
# Верхняя оценка профиля разнообразия одним скалярным [[коэффициент разнообразия|коэффициентом разнообразия]] (shatter coefficient). '''Степень завышенности''' часто порядка единицы, но в некоторых задачах может достигать нескольких десятков. Этот результат получен для [[логическая закономерность|логических закономерностей]]; если оценивать классификаторы, а не закономерности, то этот фактор завышенности должен возрасти. Фактор достаточно просто исключается из оценки для семейства алгоритмов, если union bound используется для объединения оценок отдельных алгоритмов, не зависящих от неизвестной вероятности ошибки каждого алгоритма. Так устроена, к примеру, оценка [[Occam Razor оценка вероятности переобучения|Occam Razor]].
# Верхняя оценка профиля разнообразия одним скалярным [[коэффициент разнообразия|коэффициентом разнообразия]] (shatter coefficient). '''Степень завышенности''' часто порядка единицы, но в некоторых задачах может достигать нескольких десятков. Этот результат получен для [[логическая закономерность|логических закономерностей]]; если оценивать классификаторы, а не закономерности, то этот фактор завышенности должен возрасти. Фактор достаточно просто исключается из оценки для семейства алгоритмов, если union bound используется для объединения оценок отдельных алгоритмов, не зависящих от неизвестной вероятности ошибки каждого алгоритма. Так устроена, к примеру, оценка [[Occam Razor оценка вероятности переобучения|Occam Razor]].
 +
--->
 +
 +
'''Основные выводы:'''
 +
* Завышенность VC-оценок обусловлена тем, что они учитывают только длину выборки и число различных алгоритмов, но не учитывают степень их различности, игнорируют внутреннюю структуру семейства.
 +
* Для получения точных оценок необходимо ''одновременно'' учесть оба эффекта — и расслоение, и сходство.
 +
 +
=== Второй эксперимент (на модельных данных) ===
 +
Простейшим примером семейства алгоритмов с расслоением и связностью является ''монотонная цепочка алгоритмов''.
 +
Оно строится следующим образом.
 +
Задаётся «лучший алгоритм», допускающий <tex>m_0</tex> ошибок на полной выборке.
 +
Каждый следующий алгоритм <tex>a_{d+1}</tex> допускает ошибки на тех же объектах, что и предыдущий <tex>a_{d}</tex>, плюс ошибку ещё на одном объекте.
 +
Перестановкой строк можно добиться, чтобы матрица ошибок такого семейства содержала верхнюю треугольную подматрицу.
 +
 +
Монотонная цепочка алгоритмов является довольно реалистичной моделью связного семейства с&nbsp;одним непрерывным параметром: чем дальше значение параметра от оптимального значения, тем больше ошибок, но в&nbsp;силу непрерывности (и&nbsp;при гипотезе, что выборка находится «в&nbsp;общем положении») ошибка не может появиться сразу на нескольких объектах.
 +
Вообще, ''связным семейством'' будем называть такое множество алгоритмов, в котором для каждого алгоритма найдётся другой алгоритм, вектор ошибок которого отличается от данного только на одном объекте.
 +
 +
Монотонной цепочке можно поставить в соотвествие ''цепочку без расслоения''. В&nbsp;этом семействе каждый следующий алгоритм также отличается от предыдущего только на одном объекте, но число ошибок, чередуясь, принимает лишь два значения: <tex>m_0, m_0+1</tex>.
 +
 +
Каждому из этих двух семейств можно сопоставить ''не-цепочку''. Чтобы разрушить эффект связности, достаточно в каждом столбце матрицы ошибок случайным образом переставить все элементы.
 +
 +
Итак, получается четыре ''модельных семейства'', заданных непосредственно своими маатрицами ошибок.
 +
Для каждого из них вероятность переобучения нетрудно оценить методом Монте-Карло
 +
(у&nbsp;хороших студентов реализация такого экспериментального стенда занимает обычно около пары часов работы).
 +
Результаты сопоставляются на графиках зависимости вероятности переобучения <tex>Q_\varepsilon</tex> от числа <tex>D</tex> первых алгоритмов <tex>a_1,\ldots,a_D</tex>, из которых метод обучения <tex>\mu(X)</tex> выбирает алгоритм с наименьшей частотой ошибок на обучающей выборке.
 +
В&nbsp;VC-теории такой метод обучения называется [[Минимизация эмпирического риска|минимизацией эмпирического риска]].
 +
 +
Этот эксперимент позволяет сделать чрезвычайно важные выводы и, по сути дела, указывает, в каком направлении следует развивать теорию переобучения.
 +
* Связность заметно снижает темп роста зависимости $Q_\varepsilon(D)$.
 +
* Расслоение понижает уровень горизонтальной асимптоты $Q_\varepsilon(D)$.
 +
* Только при наличии обоих эффектов вероятность переобучения приемлемо мала, причём кривая «выходит на насыщение» после первых 5–7 алгоритмов. Основная масса «плохих» алгоритмов вообще не вносит вклад в переобучение.
 +
* При отсутствии либо расслоения, либо связности переобучение наступает уже при нескольких десятках алгоритмов.
 +
* Это означает, что реальные семейства, состоящие из огромного числа различных алгоритмов, с необходимостью должны быть расслоенными и связными.
 +
* Семейство без расслоения и без связности — это и есть тот наихудший случай, который изучается в [[Теория Вапника-Червоненкиса|VC-теории]].
=== Замечание о природе переобучения ===
=== Замечание о природе переобучения ===
Строка 48: Строка 115:
[[линейный классификатор|линейные классификаторы]], [[SVM]] с непрерывными ядрами, [[нейронная сеть|нейронные сети]] с непрерывными функциями активации, [[решающее дерево|решающие деревья]] с пороговыми условиями ветвления, и многие другие.
[[линейный классификатор|линейные классификаторы]], [[SVM]] с непрерывными ядрами, [[нейронная сеть|нейронные сети]] с непрерывными функциями активации, [[решающее дерево|решающие деревья]] с пороговыми условиями ветвления, и многие другие.
J.&nbsp;Sill называет такие семейства ''связными'', так как множество векторов ошибок всех алгоритмов семейства представляется в виде связного графа. E.&nbsp;Bax предлагает кластеризовать семейство на группы схожих классификаторов.
J.&nbsp;Sill называет такие семейства ''связными'', так как множество векторов ошибок всех алгоритмов семейства представляется в виде связного графа. E.&nbsp;Bax предлагает кластеризовать семейство на группы схожих классификаторов.
-
 
-
=== Цепочки алгоритмов ===
 
-
Цепочкой будем называть такую последовательность векторов ошибок, в которой хэммингово расстояние между последовательными векторами равно 1.
 
-
 
-
Эксперименты показывают следующее.
 
-
* Для цепочек вероятность переобучения растёт гораздо медленнее с увеличением числа алгоритмов, чем для не-цепочек.
 
-
* Расслоение приводит к снижению максимального уровня вероятности переобучения; если семейство не расслаивается, то вероятность переобучения с ростом числа алгоритмов быстро достигает единицы.
 
-
* Семейство без расслоения и без цепочек — как раз и есть тот наихудший случай, который изучается [[Теориея Вапника-Червоненкиса|теорией Вапника-Червоненкиса]]. На&nbsp;практике, как правило, приходится работать со связными и расслоёнными семействами.
 
=== Основной вопрос данного виртуального семинара ===
=== Основной вопрос данного виртуального семинара ===
Строка 76: Строка 135:
== Литература ==
== Литература ==
 +
# {{П:Воронцов 2010 Комбинаторная теория}}
# ''Sill J.'' [http://citeseer.ist.psu.edu/127284.html Generalization bounds for connected function classes].
# ''Sill J.'' [http://citeseer.ist.psu.edu/127284.html Generalization bounds for connected function classes].
# ''Bax E. T.'' [http://citeseer.ist.psu.edu/bax97similar.html Similar classifiers and VC error bounds]: Tech. Rep. CalTech-CS-TR97-14:6 1997.
# ''Bax E. T.'' [http://citeseer.ist.psu.edu/bax97similar.html Similar classifiers and VC error bounds]: Tech. Rep. CalTech-CS-TR97-14:6 1997.

Версия 21:02, 2 мая 2010

Содержание

Данный виртуальный семинар предназначен для обсуждения

Мотивация

Точные оценки вероятности переобучения необходимы для создания методов обучения по прецедентам, гарантирующих высокое качество классификации новых объектов, не вошедших в обучающую выборку. Получение точных оценок обобщающей способности остаётся открытой проблемой в теории статистического обучения уже более 40 лет, начиная с VC-теории, предложенной В. Н. Вапником и А. Я. Червоненкисом. Наиболее точные из известных оценок всё ещё сильно завышены.

Основной задачей в теории статистического обучения является получение верхних оценок для функционала

P_\varepsilon(A) = \mathbb{P}_X\Bigl( \sup_{a\in A} |P(a)-\nu(a,X)| \geq \varepsilon \Bigr),

где

  • A — семейство алгоритмов, из которого по обучающей выборке выбирается некоторый конкретный алгоритм;
  • P(a) — вероятность ошибки алгоритма a \in A;
  • \nu(a,X) — частота ошибок алгоритма a \in A на независимой обучающей выборке длины \ell;
  • \mathbb{P}_X — некоторая неизвестная вероятностная мера на множестве объектов.

У этого функционала есть несколько недостатков.

  • Если вероятностная мера P(a) неизвестна, то измерить функционал P_\varepsilon(A) непосредственно в эксперименте очень трудно, поскольку невозможно идентифицировать наступление события \sup_{a\in A} |P(a)-\nu(a,X)| \geq \varepsilon. А экспериментальное измерение необходимо для количественного анализа и понимания причин завышенности оценок. Выход заключается в том, чтобы вместо P(a) оценивать \nu(a,\bar X) — частоту ошибок алгоритма a на независимой контрольной выборке произвольной длины k. Тогда эмпирическое измерение функционала P_\varepsilon(A) становится возможным, например, методом Монте-Карло — путём генерации некоторого числа случайных разбиений полной выбоки X^L = X \sqcup \bar X на обучение и контроль. Здесь через L=\ell+k обозначена длина полной выборки.
  • Супремум в VC-теории вводится для того, чтобы получить наиболее общую оценку, не зависящую от конкретного метода обучения \mu, который по обучающей выборке X находит алгоритм a\in A. Однако на самом деле было бы правильнее оценивать вероятность переобучения, то есть вероятность события |\delta_\mu(X,\bar X)| \geq \varepsilon, где разность \delta_\mu(X,\bar X) = \nu(\mu(X),\bar X)-\nu(\mu(X),X) называется переобученностью. Введение супремума уже само по себе приводит к верхней оценке вероятности переобучения. Эта оценка может оказаться сильно завышенной, поскольку при решении прикладных задач методы обучения возвращают не любые алгоритмы из A, а лишь те, которые в определённом смысле «похожи» на восстанавливаемую зависимость.
  • Наконец, имеет смысл оценивать саму переобученность, а не её абсолютную величину, поскольку частоту ошибок на контрольной выборке, по смыслу задачи, необходимо ограничивать именно сверху, а не снизу.

Таким образом, более адекватным функционалом обобщающей способности является вероятность переобучения:

Q_\varepsilon(\mu,X^L) = \mathbb{P}_{X,\bar X}\Bigl( \delta_\mu(X,\bar X) \geq \varepsilon \Bigr).

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

Термин переобучение понимается здесь в строго формальном смысле, как событие \delta_\mu(X,\bar X) \geq \varepsilon.

Вероятность \mathbb{P}_{X,\bar X} понимается здесь и далее в смысле равномерного распределения на множестве всех C_L^\ell разбиений неслучайной полной выбоки X^L = X \sqcup \bar X. Это позволяет применять чисто комбинаторные методы для получения оценок вероятности переобучения, и во многих случаях получать точные оценки (не завышенные, не асимптотические). См. также слабая вероятностная аксиоматика.

Основным объектом изучения в комбинаторно-дискретной постановке является бинарная матрица ошибок I = (I_{id}). Строки матрицы соотвествуют объектам полной выборки, столбцы — алгоритмам, значение I_{id}=1 означает, что алгоритм a_d допускает ошибку на объекте x_i. Столбец этой матрицы называется вектором ошибок алгоритма a_d.

Первый эксперимент (на реальных данных)

В экспериментах на реальных задачах классификации удалось количественно оценить отдельные факторы завышенности классических VC-оценок.

Основные причины завышенности, в порядке убывания важности:

  1. Пренебрежение эффектом расслоения (или локализации) семейства алгоритмов. Чем хуже классификатор решает данную задачу, тем меньше шансов получить его в результате настройки по обучающей выборке. Это означает, что реально работает не всё семейство, а только какая-то его часть, своя в каждой задаче.
    Степень завышенности: от нескольких десятков раз до сотен тысяч раз, в зависимости от задачи.
  2. Пренебрежение эффектом сходства алгоритмов. При выводе классических VC-оценок используется неравенство Буля (union bound) — оценка вероятности объединения событий суммой их вероятностей. Эта оценка становится чрезвычайно завышенной, если среди алгоритмов есть похожие.
    Степень завышенности: от нескольких сотен до десятков тысяч раз. Этот фактор всегда существенен и не так сильно зависит от задачи, как первый.
  3. Экспоненциальная аппроксимация хвоста гипергеометрического распределения. Вроде бы точность аппроксимации увеличивается с ростом длины выборки — хвосты быстро стремятся к нулю. Однако относительная погрешность (отношение аппроксимированного значения к точному) с ростом выборки растёт! Отсюда вывод: при получении численно точных оценок не стоит пользоваться аппроксимациями.
    Степень завышенности: порядка нескольких десятков.

Основные выводы:

  • Завышенность VC-оценок обусловлена тем, что они учитывают только длину выборки и число различных алгоритмов, но не учитывают степень их различности, игнорируют внутреннюю структуру семейства.
  • Для получения точных оценок необходимо одновременно учесть оба эффекта — и расслоение, и сходство.

Второй эксперимент (на модельных данных)

Простейшим примером семейства алгоритмов с расслоением и связностью является монотонная цепочка алгоритмов. Оно строится следующим образом. Задаётся «лучший алгоритм», допускающий m_0 ошибок на полной выборке. Каждый следующий алгоритм a_{d+1} допускает ошибки на тех же объектах, что и предыдущий a_{d}, плюс ошибку ещё на одном объекте. Перестановкой строк можно добиться, чтобы матрица ошибок такого семейства содержала верхнюю треугольную подматрицу.

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

Монотонной цепочке можно поставить в соотвествие цепочку без расслоения. В этом семействе каждый следующий алгоритм также отличается от предыдущего только на одном объекте, но число ошибок, чередуясь, принимает лишь два значения: m_0, m_0+1.

Каждому из этих двух семейств можно сопоставить не-цепочку. Чтобы разрушить эффект связности, достаточно в каждом столбце матрицы ошибок случайным образом переставить все элементы.

Итак, получается четыре модельных семейства, заданных непосредственно своими маатрицами ошибок. Для каждого из них вероятность переобучения нетрудно оценить методом Монте-Карло (у хороших студентов реализация такого экспериментального стенда занимает обычно около пары часов работы). Результаты сопоставляются на графиках зависимости вероятности переобучения Q_\varepsilon от числа D первых алгоритмов a_1,\ldots,a_D, из которых метод обучения \mu(X) выбирает алгоритм с наименьшей частотой ошибок на обучающей выборке. В VC-теории такой метод обучения называется минимизацией эмпирического риска.

Этот эксперимент позволяет сделать чрезвычайно важные выводы и, по сути дела, указывает, в каком направлении следует развивать теорию переобучения.

  • Связность заметно снижает темп роста зависимости $Q_\varepsilon(D)$.
  • Расслоение понижает уровень горизонтальной асимптоты $Q_\varepsilon(D)$.
  • Только при наличии обоих эффектов вероятность переобучения приемлемо мала, причём кривая «выходит на насыщение» после первых 5–7 алгоритмов. Основная масса «плохих» алгоритмов вообще не вносит вклад в переобучение.
  • При отсутствии либо расслоения, либо связности переобучение наступает уже при нескольких десятках алгоритмов.
  • Это означает, что реальные семейства, состоящие из огромного числа различных алгоритмов, с необходимостью должны быть расслоенными и связными.
  • Семейство без расслоения и без связности — это и есть тот наихудший случай, который изучается в VC-теории.

Замечание о природе переобучения

Вообще, переобучение возникает из-за того, что выбирается алгоритм с минимальным числом ошибок на обучающей выборке.

Сделаем мысленный эксперимент. Представим, что все алгоритмы семейства имеют одинаковую вероятность ошибок. Тогда число ошибок на конечной выборке подчиняется биномиальному распределению, имеющему форму пика. Шансы отдельному алгоритму угодить в левый хвост распределения невелики. Однако чем больше алгоритмов мы будем брать, тем дальше влево будет смещаться минимальное (по всем взятым алгоритмам) число ошибок; тем больше будет разность между частотой и вероятностью ошибок у «лучшего» алгоритма. Но это и есть переобучение.

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

Пара алгоритмов

Получены точные формулы для вероятности переобучения при выборе лучшего из двух алгоритмов. Если алгоритмы совпадают, то вероятность переобучения равна вероятности большого уклонения частот в двух подвыборках для отдельного алгоритма, и описывается гипергеометрическим распределением. Если алгоритмы существенно различны, но имеют одинаковый уровень ошибок, то вероятность переобучения увеличивается вдвое. Если алгоритмы имеют существенно различный уровень ошибок, то вероятность переобучения уменьшается.

Выводы: уже при выборе одного из двух алгоритмов может возникать переобучение. Расслоение алгоритмов по числу ошибок и увеличение сходства уменьшают вероятность переобучения.

Как устроены реально используемые семейства

Многие параметрические семейства алгоритмов обладают следующим свойством: при изменении вектора параметров по некоторой непрерывной траектории каждое изменение вектора ошибок происходит только на одном объекте. Одновременное изменение нескольких координат возможно, но только для «редких» траекторий, образующих в пространстве траекторий множество меры нуль. В частности, этим свойством обладают классификаторы с непрерывной по параметрам разделяющей поверхностью: линейные классификаторы, SVM с непрерывными ядрами, нейронные сети с непрерывными функциями активации, решающие деревья с пороговыми условиями ветвления, и многие другие. J. Sill называет такие семейства связными, так как множество векторов ошибок всех алгоритмов семейства представляется в виде связного графа. E. Bax предлагает кластеризовать семейство на группы схожих классификаторов.

Основной вопрос данного виртуального семинара

Как учесть связность и расслоенность в семействах алгоритмов для получения незавышенных оценок вероятности переобучения?

Точные оценки вероятности переобучения

В декабре 2008 удалось доказать одну общую теорему, позволяющую получать точные оценки вероятности переобучения. Очевидно, они учитывают и связность, и расслоенность. Частные результаты пока получены только для нескольких искусственных семейств: монотонных и унимодальных цепочек, единичной окрестности оптимального алгоритма, двухэлементного семейства. Есть основания полагать, что новый комбинаторный подход удастся распространить и на семейства более общего вида.


Список открытых проблем, оформленный в виде задач по спецкурсу «Теория надёжности обучения по прецедентам».
(PDF, 180 КБ).


Ссылки

Более подробно результаты можно посмотреть здесь:

  • март 2009. Точные оценки вероятности переобучения. (PDF, 336 КБ).
  • октябрь 2008. Эффекты расслоения и сходства в семействах алгоритмов и их влияние на вероятность переобучения. Развёрнутая версия статьи на РОАИ-9-2008. (PDF, 354 КБ).
  • 17 сентября 2008. Пути повышения точности оценок обобщающей способности (комбинаторный подход). Пленарный доклад на международной конференции РОАИ-9-2008, Нижний Новгород. Презентация на английском (PDF, 846 КБ), на русском (PDF, 844 КБ), тезисы доклада на русском (PDF, 243 КБ).
  • 12 июня 2008. Слабая вероятностная аксиоматика, оценки надёжности эмпирических предсказаний, расслоение и различность алгоритмов. Конференция ИОИ-2008. (PDF, 950 КБ).
  • 28 апреля 2008. Ломоносовские чтения 2008. Оценки надёжности эмпирических предсказаний (комбинаторный подход). (PDF, 804 КБ).

Литература

  1. Воронцов, К. В. Комбинаторная теория надёжности обучения по прецедентам: Дис. док. физ.-мат. наук: 05-13-17. — Вычислительный центр РАН, 2010. — 271 с.  (подробнее)
  2. Sill J. Generalization bounds for connected function classes.
  3. Bax E. T. Similar classifiers and VC error bounds: Tech. Rep. CalTech-CS-TR97-14:6 1997.
  4. Langford J. Quantitatively tight sample complexity bounds. — 2002. — Carnegie Mellon Thesis.

См. также


Это незавершённая статья о незавершённом исследовании.
Личные инструменты