Оккамово обучение
Оккамово обучение в теории вычислительного обучения является моделью алгоритмического обучения , где целью обучения является получение сжатого представления имеющихся тренировочных данных. Метод тесно связан с почти корректным обучением (ПК обучение, англ. Probably Approximately Correct learning, PAC learning), где учитель оценивает прогнозирующую способность тестового набора.
Оккамова обучаемость влечёт ПК обучение и для широкого класса понятий обратное тоже верно — ПК обучаемость влечёт оккамову обучаемость.
Введение
Оккамово обучение названо по термину «бритва Оккама», который является принципом, утверждающим, что при предположении отсутствия дополнительных сущностей короткому объяснению наблюдений следует давать предпочтение по сравнению с более длинным объяснением (кратко: «Не следует множить сущее без необходимости»). Теория оккамова обучения является формальным и математическим уточнением этого принципа. Блюмер с соавторами первыми показали[1], что оккамово обучение влечёт ПК обучение, которое является стандартной моделью обучения в теории вычислительного обучения. Другими словами, бережливость (выходной гипотезы) влечёт прогнозирующую способность.
Определение оккамова обучения
Лаконичность понятия [math]\displaystyle{ c }[/math] в классе понятий [math]\displaystyle{ \mathcal{C} }[/math] можно выразить как длину [math]\displaystyle{ size(c) }[/math] самой короткой строки бит, которая может представить понятие [math]\displaystyle{ c }[/math] в классе [math]\displaystyle{ \mathcal{C} }[/math]. Оккамово обучение соединяет лаконичность выхода алгоритма обучения с его прогнозирующей способностью.
Пусть [math]\displaystyle{ \mathcal{C} }[/math] и [math]\displaystyle{ \mathcal{H} }[/math] являются классами понятий, содержащих целевые понятия и гипотезы соответственно. Тогда, для констант [math]\displaystyle{ \alpha \geqslant 0 }[/math] и [math]\displaystyle{ 0 \leqslant \beta \lt 1 }[/math] алгоритм обучения [math]\displaystyle{ L }[/math] является [math]\displaystyle{ (\alpha,\beta) }[/math]-оккамовым алгоритмом для [math]\displaystyle{ \mathcal{C} }[/math] по гипотезам [math]\displaystyle{ \mathcal{H} }[/math] тогда и только тогда, когда, если дано множество [math]\displaystyle{ S = \{ x \} }[/math], содержащее [math]\displaystyle{ m }[/math] экземпляров, помеченных согласно понятию [math]\displaystyle{ c(x) \in \mathcal{C} }[/math], выходом алгоритма [math]\displaystyle{ L }[/math] является гипотеза [math]\displaystyle{ h \in \mathcal{H} }[/math], такая, что
- [math]\displaystyle{ h }[/math] согласуется с [math]\displaystyle{ c }[/math] на [math]\displaystyle{ S }[/math] (то есть [math]\displaystyle{ h(x)=c(x),\forall x \in S }[/math])
- [math]\displaystyle{ size(h) \leqslant (n \cdot size(c))^\alpha m^\beta }[/math][2][1]
где [math]\displaystyle{ n }[/math] является максимальной длиной любого экземпляра [math]\displaystyle{ x \in S }[/math]. Алгоритм Оккама называется эффективным, если работает за полиномиальное от [math]\displaystyle{ n }[/math], [math]\displaystyle{ m }[/math] и [math]\displaystyle{ size(c) }[/math] время. Мы говорим, что класс понятий [math]\displaystyle{ \mathcal{C} }[/math] оккамово обучаем по отношению к классу гипотез [math]\displaystyle{ \mathcal{H} }[/math], если существует эффективный алгоритм Оккама для [math]\displaystyle{ \mathcal{C} }[/math] по гипотезам [math]\displaystyle{ \mathcal{H}. }[/math]
Связь между оккамовым обучением и ПК обучением
Оккамова обучаемость влечёт ПК обучаемость, как показывает теорема Блюмера с соавторами[2]:
Теорема (Оккамово обучение влечёт ПК обучение)
Пусть [math]\displaystyle{ L }[/math] является эффективным [math]\displaystyle{ (\alpha,\beta) }[/math]-оккамовым алгоритмом для [math]\displaystyle{ \mathcal{C} }[/math] по гипотезам [math]\displaystyle{ \mathcal{H} }[/math]. Тогда существует константа [math]\displaystyle{ a \gt 0 }[/math], такая что для любых [math]\displaystyle{ 0 \lt \epsilon, \delta \lt 1 }[/math] для любого распределения [math]\displaystyle{ \mathcal{D} }[/math], если дано [math]\displaystyle{ m \geqslant a \left( \frac 1 \epsilon \log \frac 1 \delta + \left(\frac {(n \cdot size(c))^\alpha)} \epsilon \right)^{\frac 1 {1-\beta}}\right) }[/math] экземпляров, извлечённых из [math]\displaystyle{ \mathcal{D} }[/math] и помеченных согласно понятию [math]\displaystyle{ c \in \mathcal{C} }[/math] каждый [math]\displaystyle{ n }[/math] битами, алгоритм [math]\displaystyle{ L }[/math] даст гипотезу [math]\displaystyle{ h \in \mathcal{H} }[/math], такую что [math]\displaystyle{ error(h)\leqslant \epsilon }[/math] с вероятностью по меньшей мере [math]\displaystyle{ 1-\delta }[/math]
. Здесь [math]\displaystyle{ error(h) }[/math] учитывает понятие [math]\displaystyle{ c }[/math] и распределение [math]\displaystyle{ \mathcal{D} }[/math]. Отсюда следует, что алгоритм [math]\displaystyle{ L }[/math] является ПК учителем класса понятий [math]\displaystyle{ \mathcal{C} }[/math] при классе гипотез [math]\displaystyle{ \mathcal{H} }[/math]. Слегка более общая формулировка:
Теорема (Оккамово обучение влечёт ПК обучение, версия с длиной)
Пусть [math]\displaystyle{ 0 \lt \epsilon, \delta \lt 1 }[/math]. Пусть [math]\displaystyle{ L }[/math] будет алгоритмом, таким что при заданном наборе из [math]\displaystyle{ m }[/math] экземпляров, извлечённых из фиксированного, но неизвестного распределения [math]\displaystyle{ \mathcal{D} }[/math] и помеченных согласно понятия [math]\displaystyle{ c \in \mathcal{C} }[/math] строкой бит длиной [math]\displaystyle{ n }[/math] каждый, выходом будет гипотеза [math]\displaystyle{ h \in \mathcal{H}_{n,m} }[/math], согласующаяся с помеченными экзмеплярами. Тогда существует константа [math]\displaystyle{ b }[/math], такая что в случае [math]\displaystyle{ \log |\mathcal{H}_{n,m}| \leqslant b \epsilon m - \log \frac{1}{\delta} }[/math] [math]\displaystyle{ L }[/math] гарантированно даёт гипотезу [math]\displaystyle{ h \in \mathcal{H}_{n,m} }[/math], такую что [math]\displaystyle{ error(h)\leqslant \epsilon }[/math] с вероятностью по меньшей мере [math]\displaystyle{ 1-\delta }[/math].
Хотя приведённые теоремы показввают, что оккамово обучение достаточно для ПК обучения, они ничего не говорят о необходимости. Боард и Питт показали, что для широкого класс понятий оккамово обучение является необходимым для ПК обучения[3]. Они показали, что для любого класса понятий, который полиномиально замкнут по спискам исключений, ПК обучаемость влечёт существование оккамова алгоритма для этого класса понятий. Классы понятий, полиномиально замкнутые по спискам исключений, включают булевские формулы, суммирующие цепи, детерминированные конечные автоматы, списки решений, деревья решений и другие классы понятий на геометрической основе.
Класс понятий [math]\displaystyle{ \mathcal{C} }[/math] полиномиально замкнут по спискам исключений, если существует алгоритм полиномиального времени выполнения [math]\displaystyle{ A }[/math], такой, что, если задано представление понятия [math]\displaystyle{ c \in \mathcal{C} }[/math] и конечный список [math]\displaystyle{ E }[/math] исключений, выходом алгоритма будет представление понятия [math]\displaystyle{ c' \in \mathcal{C} }[/math], такое, что понятия [math]\displaystyle{ c }[/math] и [math]\displaystyle{ c' }[/math] согласуются за исключение элементов множества [math]\displaystyle{ E }[/math].
Доказательство, что оккамово обучение влечёт ПК обучение
Мы сначала докажем версию с длиной. Назовём гипотезу [math]\displaystyle{ h\in \mathcal{H} }[/math] плохой, если [math]\displaystyle{ error(h) \geqslant \epsilon }[/math], где снова [math]\displaystyle{ error(h) }[/math] учитывает истинное понятие [math]\displaystyle{ c }[/math] и распределение [math]\displaystyle{ \mathcal{D} }[/math]. Вероятность, что множество [math]\displaystyle{ S }[/math] согласуется с [math]\displaystyle{ h }[/math], не превосходит [math]\displaystyle{ (1 - \epsilon)^m }[/math], согласно независимости выборок. Для полного множества вероятность, что существует плохая гипотеза в [math]\displaystyle{ \mathcal{H}_{n,m} }[/math], не превосходит [math]\displaystyle{ | \mathcal{H}_{n,m} | (1 - \epsilon)^m }[/math], что меньше, чем [math]\displaystyle{ \delta }[/math], если [math]\displaystyle{ \log | \mathcal{H}_{n,m} | \leqslant O(\epsilon m) - \log \frac{1}{\delta} }[/math]. Это завершает доказательство второй теоремы.
Используя вторую теорему, мы докажем первую. Поскольку мы имеем [math]\displaystyle{ (\alpha,\beta) }[/math]-оккамов алгоритм, это означает, любая выходная гипотеза алгоритма [math]\displaystyle{ L }[/math] может быть представлена не более чем [math]\displaystyle{ (n \cdot size(c))^\alpha m^\beta }[/math] битами, а тогда [math]\displaystyle{ \log |\mathcal{H}_{n,m}| \leqslant (n \cdot size(c))^\alpha m^\beta }[/math]. Это меньше, чем [math]\displaystyle{ O(\epsilon m) - \log \frac{1}{\delta} }[/math], если мы положим [math]\displaystyle{ m \geqslant a \left( \frac 1 \epsilon \log \frac 1 \delta + \left(\frac {(n \cdot size(c))^\alpha)} \epsilon \right)^{\frac 1 {1-\beta}}\right) }[/math] для некоторой константы [math]\displaystyle{ a \gt 0 }[/math]. Тогда, по версии теоремы с длиной, [math]\displaystyle{ L }[/math] даст согласованную гипотезу [math]\displaystyle{ h }[/math] с вероятностью не менее [math]\displaystyle{ 1 - \delta }[/math]. Это завершает доказательство первой теоремы.
Улучшение сложности выборки для общих задач
Хотя оккамова обучаемость и ПК обучаемость эквивалентны, алгоритм Оккама может быть использован для получения более тесных границ сложности выборки для классических задач, включая логические умозаключения[2], умозаключения с несколькими переменными [4] и списки решений[5].
Расширения
Оккамовы алгоримы, как было показано, успешно работают для ПК обучения в присутствии ошибок[6][7], обучения вероятностных понятий[8], обучения функций[9] и марковских примерах с отсутствием независимости[10].
См. также
Примечания
- ↑ 1,0 1,1 Blumer, Ehrenfeucht, Haussler, Warmuth, 1987, с. 377—380.
- ↑ 2,0 2,1 2,2 Kearns, Vazirani, 1994.
- ↑ Board, Pitt, 1990, с. 54—63.
- ↑ Haussler, 1988, с. 177—221.
- ↑ Rivest, 1987, с. 229—246.
- ↑ Angluin, Laird, 1988, с. 343—370.
- ↑ Kearns, Li, 1993, с. 807—837.
- ↑ Kearns, Schapire, 1990, с. 382—391.
- ↑ Natarajan, 1993, с. 370—376.
- ↑ Aldous, Vazirani, 1990, с. 392—396.
Литература
- Kearns M. J., Vazirani U. V. chapter 2 // An introduction to computational learning theory. — MIT press, 1994. — ISBN 9780262111935.
- Blumer A., Ehrenfeucht A., Haussler D., Warmuth M. K. Occam's razor. — 1987. — Т. 24, вып. 6. — doi:10.1016/0020-0190(87)90114-1.
- Board R., Pitt L. On the necessity of Occam algorithms // Proceedings of the twenty-second annual ACM symposium on Theory of computing. — ACM, 1990.
- Haussler D. Quantifying inductive bias: AI learning algorithms and Valiant's learning framework // Artificial intelligence. — 1988. — Т. 36, вып. 2. Архивировано 12 апреля 2013 года.
- Rivest R. L. Learning decision lists // Machine learning. — 1987. — Т. 2, вып. 3.
- Angluin D., Laird P. Learning from noisy examples // Machine Learning. — 1988. — Т. 2, вып. 4.
- Kearns M., Li M. Learning in the presence of malicious errors // SIAM Journal on Computing,. — 1993. — Т. 22, вып. 4.
Kearns M. J., Schapire R. E. Efficient distribution-free learning of probabilistic concepts // Foundations of Computer Science, 1990. Proceedings., 31st Annual Symposium. — Los Alamitos, CA,: IEEE Computer Society Press, 1990.
- Kearns M. J., Schapire R. E. Foundations of Computer Science, 1990. Proceedings., 31st Annual Symposium // JOURNAL OF COMPUTER AND SYSTEM SCIENCES. — 1994. — Вып. 48. — С. 464-497.
- Natarajan B. K. Occam's razor for functions // Proceedings of the sixth annual conference on Computational learning theory. — ACM, 1993.
Aldous D., Vazirani U. A Markovian extension of Valiant's learning model // Foundations of Computer Science, 1990. Proceedings., 31st Annual Symposium. — IEEE, 1990.
Для улучшения этой статьи желательно: |