Сегодня разбираем последние два подхода к машинному обучению из книги Педро Домингоса - байесовский и основанный на сходстве, а заодно обучение без учителя.
Шотландский священник 18 века Томас Байес смог описать формулу, позволяющую делать универсальные выводы о том, как устроен мир:
P(cause | effect) = P(cause) × P(effect | cause) / P(effect)
Всем возможным причинам (болезням, например), необходимо заранее присвоить вероятности, и тогда, наблюдая любой симптом, мы сможем обновлять эти вероятности, пока не будем достаточно уверены в диагнозе. Вместо моделей могут быть научные теории - и мы будем продолжать доверять сразу нескольким из них, пока одна не докажет убедительного превосходства. Подобные же модели (марковские), описывающие вероятности следования различных слов и звуков друг за другом, позволяют роботам типа Сири понимать и генерировать речь.
Достаточно полная байесовская модель может вычислить вероятность чего угодно при условии чего угодно.. Но на практике это огромные сети переменных, все связи между которыми (условные вероятности) приходится как-то определять. Кроме того, всевозможных событий в такой сети очень много, и вместо того, чтобы вычислять вероятности всех из них, приходится выбирать только некоторые события путём случайного блуждания (MCMC). Байесовские методы окутывают собой классическую статистику как частный случай, а в последнее время они сблизились и с нейронными сетями. Марковские сети - подобные модели, заменяющие часть вероятностных допущений на чисто оптимизационные (с подгонкой весов). Но даже такие вероятностные модели с трудом описывают сложные, многотипные явления. А ещё все вышеописанные подходы работают плохо, когда данных совсем мало.
Человеческое мышление основано на осознании сходства и проведении аналогий. На этом же основан метод ближайших соседей: для каждого объекта предсказывайте класс объекта из обучающей выборки, наиболее похожего на него (или класс k самых похожих). Так удалось создать, например, модели коллаборативной фильтрации, советующие вам товары, выбранные людьми со вкусами, похожими на ваши. Проблема, однако, в том, что в очень многомерных пространствах (миллион фильмов на Netflix) меры сходства не очень информативны - все соседи далеки, и границы между классами можно провести как угодно. Эту проблему решает SVM, выбирая из всех возможных границ самую широкую и устойчивую - обучаться получается, даже когда наблюдений сильно меньше, чем признаков. Но всё-таки для этого нужны размеченные наблюдения...
Post #140
276