20111202 machine learning_nikolenko_lecture01

60
Что такое машинное обучение Байесовский подход Введение: AI и байесовский вывод Сергей Николенко Computer Science Club, Екатеринбург, 2011 Сергей Николенко Введение: AI и байесовский вывод

Upload: computer-science-club

Post on 22-May-2015

2.120 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Введение: AI и байесовский вывод

Сергей Николенко

Computer Science Club, Екатеринбург, 2011

Сергей Николенко Введение: AI и байесовский вывод

Page 2: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Краткая история AIМашинное обучение: суть

Outline

1 Что такое машинное обучениеКраткая история AIМашинное обучение: суть

2 Байесовский подходОсновные определенияПримеры

Сергей Николенко Введение: AI и байесовский вывод

Page 3: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Краткая история AIМашинное обучение: суть

Первые мысли об искусственном интеллекте

Гефест создавал себе роботов–андроидов, например,гигантского человекоподобного робота Талоса.

Пигмалион оживлял Галатею.

Иегова и Аллах — куски глины.

Особо мудрые раввины могли создавать големов.

Альберт Великий изготовил искусственную говорящуюголову (чем очень расстроил Фому Аквинского).

Начиная с доктора Франкенштейна, дальше AI влитературе появляется постоянно...

Сергей Николенко Введение: AI и байесовский вывод

Page 4: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Краткая история AIМашинное обучение: суть

Тест Тьюринга

AI как наука начался с теста Тьюринга (1950).

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

Правда, исходная формулировка была несколько тоньше иинтереснее...

Сергей Николенко Введение: AI и байесовский вывод

Page 5: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Краткая история AIМашинное обучение: суть

Тест Тьюринга

Здесь уже очевидно, сколько всего надо, чтобы сделать AI:

обработка естественного языка;представление знаний;выводы из полученных знаний;обучение на опыте (собственно machine learning).

Сергей Николенко Введение: AI и байесовский вывод

Page 6: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Краткая история AIМашинное обучение: суть

Дартмутский семинар

Термин AI и формулировки основных задач появились в1956 на семинаре в Дартмуте.

Его организовали Джон Маккарти (John McCarthy),Марвин Мински (Marvin Minsky), Клод Шеннон (ClaudeShennon) и Натаниэль Рочестер (Nathaniel Rochester).

Это была, наверное, самая амбициозная грантозаявка вистории информатики.

Сергей Николенко Введение: AI и байесовский вывод

Page 7: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Краткая история AIМашинное обучение: суть

Дартмутский семинар

Мы предлагаем исследование искусственного интеллектасроком в 2 месяца с участием 10 человек летом 1956 годав Дартмутском колледже, Гановер, Нью–Гемпшир.Исследование основано на предположении, что всякийаспект обучения или любое другое свойство интеллектаможет в принципе быть столь точно описано, что машинасможет его симулировать. Мы попытаемся понять, какобучить машины использовать естественные языки,формировать абстракции и концепции, решать задачи,сейчас подвластные только людям, и улучшать самих себя.Мы считаем, что существенное продвижение в одной илиболее из этих проблем вполне возможно, если специальноподобранная группа учёных будет работать над этим втечение лета.

Сергей Николенко Введение: AI и байесовский вывод

Page 8: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Краткая история AIМашинное обучение: суть

1956-1960: большие надежды

Оптимистическое время. Казалось, что ещё немного, ещёчуть-чуть...Allen Newell, Herbert Simon: Logic Theorist.

Программа для логического вывода.Смогла передоказать большую часть Principia Mathematica,кое-где даже изящнее, чем сами Рассел с Уайтхедом.

Сергей Николенко Введение: AI и байесовский вывод

Page 9: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Краткая история AIМашинное обучение: суть

1956-1960: большие надежды

Оптимистическое время. Казалось, что ещё немного, ещёчуть-чуть...

General Problem Solver – программа, которая пыталасьдумать как человек;Много программ, которые умели делать некоторыеограниченные вещи (microworlds):

Analogy (IQ-тесты на «выберите лишнее»);Student (алгебраические словесные задачи);Blocks World (переставляла 3D-блоки).

Сергей Николенко Введение: AI и байесовский вывод

Page 10: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Краткая история AIМашинное обучение: суть

1970-е: knowledge-based systems

Суть: накопить достаточно большой набор правил изнаний о предметной области, затем делать выводы.Первый успех: MYCIN – диагностика инфекций крови:

около 450 правил;результаты как у опытного врача и существенно лучше,чем у начинающих врачей.

Сергей Николенко Введение: AI и байесовский вывод

Page 11: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Краткая история AIМашинное обучение: суть

1980-е: коммерческие применения; индустрия AI

Началось внедрение.

Первый AI-отдел был в компании DEC (Digital EquipmentCorporation);

Утверждают, что к 1986 году он экономил DEC $10 млн. вгод;

Бум закончился к концу 80-х, когда многие компании несмогли оправдать завышенных ожиданий.

Сергей Николенко Введение: AI и байесовский вывод

Page 12: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Краткая история AIМашинное обучение: суть

1990-2010: data mining, machine learning

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

Особенно — с развитием интернета.

Сейчас про AI в смысле трёх законов робототехники ужене очень вспоминают.

// Но роботика — процветает и пользуется machine learningна каждом шагу.

Сергей Николенко Введение: AI и байесовский вывод

Page 13: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Краткая история AIМашинное обучение: суть

Определение

Что значит — обучающаяся машина? Как определить«обучаемость»?

Сергей Николенко Введение: AI и байесовский вывод

Page 14: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Краткая история AIМашинное обучение: суть

Определение

Что значит — обучающаяся машина? Как определить«обучаемость»?

ОпределениеКомпьютерная программа обучается по мере накопления опытаотносительно некоторого класса задач T и целевой функции P,если качество решения этих задач (относительно P)улучшается с получением нового опыта.

Определение очень (слишком?) общее.

Какие конкретные примеры можно привести?

Сергей Николенко Введение: AI и байесовский вывод

Page 15: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Краткая история AIМашинное обучение: суть

Чем мы будем заниматься

Мы будем рассматривать разные алгоритмы, которыерешают ту ли иную задачу, причём решают тем лучше,чем больше начальных (тестовых) данных ему дадут.

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

Сергей Николенко Введение: AI и байесовский вывод

Page 16: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Краткая история AIМашинное обучение: суть

Основные задачи и понятия машинного обучения

Обучение с учителем (supervised learning) – обучение, вкотором есть некоторое число примеров с правильнымиответами:

обучающая выборка (training set) – примеры справильными ответами;модель обучается на этой выборке (training phase, learningphase), затем может быть применена к новым примерам(test set);главное – обучить модель, которая не только точки изобучающей выборки объясняет, но и на новые примерыхорошо обобщается (generalizes);иначе – оверфиттинг (overfitting);

Сергей Николенко Введение: AI и байесовский вывод

Page 17: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Краткая история AIМашинное обучение: суть

Основные задачи и понятия машинного обучения

Обучение с учителем (supervised learning) – обучение, вкотором есть некоторое число примеров с правильнымиответами:

обычно нам дают просто обучающую выборку – как тогдапроверить, обобщаются ли модели? кросс-валидация;перед тем как подавать что-то на вход, обычно делаютпредобработку, стараясь выделить из входных данныхсамые содержательные аспекты (feature extraction);классификация: есть некоторый дискретный наборкатегорий (классов), и надо новые примеры определить вкакой-нибудь класс;регрессия: есть некоторая неизвестная функция, и надопредсказать её значения на новых примерах.

Сергей Николенко Введение: AI и байесовский вывод

Page 18: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Краткая история AIМашинное обучение: суть

Основные задачи и понятия машинного обучения

Обучение без учителя (unsupervised learning) – обучение, вкотором нет правильных ответов, только данные:

кластеризация: надо разбить данные на заранеенеизвестные классы по некоторой мере похожести;оценка плотности: надо по данным сделать вывод ораспределении вероятностей, которыми они порождены;визуализация: надо спроецировать данные в размерность2-3, чтобы потом их визуализировать.

Сергей Николенко Введение: AI и байесовский вывод

Page 19: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Краткая история AIМашинное обучение: суть

Основные задачи и понятия машинного обучения

Обучение с подкреплением (reinforcement learning) –обучение, в котором агент учится из собственных проб иошибок:

многорукие бандиты: есть некоторый набор действий,каждое из которых ведёт к случайным результатам; нужнополучить как можно больший доход;exploration vs. exploitation: как и когда от исследованиянового переходить к использованию того, что уже изучил;credit assignment: конфетку дают в самом конце (выигралпартию), и надо как-то распределить эту конфетку по всемходам, которые привели к победе.

Сергей Николенко Введение: AI и байесовский вывод

Page 20: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

Outline

1 Что такое машинное обучениеКраткая история AIМашинное обучение: суть

2 Байесовский подходОсновные определенияПримеры

Сергей Николенко Введение: AI и байесовский вывод

Page 21: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

Основные определения

Нам не понадобятся математические определениясигма-алгебры, вероятностной меры, борелевскихмножеств и т.п.

Достаточно понимать, что бывают дискретные случайныевеличины (неотрицательные вероятности исходов в суммедают единицу) и непрерывные случайные величины(интеграл неотрицательной функции плотности равенединице).

Сергей Николенко Введение: AI и байесовский вывод

Page 22: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

Основные определения

Совместная вероятность – вероятность одновременногонаступления двух событий, p(x , y); маргинализация:

p(x) =∑y

p(x , y).

Условная вероятность – вероятность наступления одногособытия, если известно, что произошло другое, p(x | y):

p(x , y) = p(x | y)p(y) = p(y | x)p(x).

Теорема Байеса – из предыдущей формулы:

p(y |x) =p(x |y)p(y)

p(x)=

p(x |y)p(y)∑y ′ p(x |y ′)p(y ′)

.

Независимость: x и y независимы, если

p(x , y) = p(x)p(y).

Сергей Николенко Введение: AI и байесовский вывод

Page 23: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

О болезнях и вероятностях

Приведём классический пример из классической областиприменения статистики — медицины.

Пусть некий тест на какую-нибудь болезнь имеетвероятность успеха 95% (т.е. 5% — вероятность какпозитивной, так и негативной ошибки).

Всего болезнь имеется у 1% респондентов (отложим навремя то, что они разного возраста и профессий).

Пусть некий человек получил позитивный результат теста(тест говорит, что он болен). С какой вероятностью ондействительно болен?

Сергей Николенко Введение: AI и байесовский вывод

Page 24: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

О болезнях и вероятностях

Приведём классический пример из классической областиприменения статистики — медицины.

Пусть некий тест на какую-нибудь болезнь имеетвероятность успеха 95% (т.е. 5% — вероятность какпозитивной, так и негативной ошибки).

Всего болезнь имеется у 1% респондентов (отложим навремя то, что они разного возраста и профессий).

Пусть некий человек получил позитивный результат теста(тест говорит, что он болен). С какой вероятностью ондействительно болен?

Ответ: 16%.

Сергей Николенко Введение: AI и байесовский вывод

Page 25: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

Доказательство

Обозначим через t результат теста, через d — наличиеболезни.

p(t = 1) = p(t = 1|d = 1)p(d = 1)+p(t = 1|d = 0)p(d = 0).

Используем теорему Байеса:

p(d = 1|t = 1) =

=p(t = 1|d = 1)p(d = 1)

p(t = 1|d = 1)p(d = 1) + p(t = 1|d = 0)p(d = 0)=

=0.95× 0.01

0.95× 0.01+ 0.05× 0.99= 0.16.

Сергей Николенко Введение: AI и байесовский вывод

Page 26: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

Вывод

Вот такие задачи составляют суть вероятностного вывода(probabilistic inference).

Поскольку они обычно основаны на теореме Байеса, выводчасто называют байесовским (Bayesian inference).

Но не только поэтому.

Сергей Николенко Введение: AI и байесовский вывод

Page 27: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

Вероятность как частота

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

Стандартный пример: бросание монетки.

Сергей Николенко Введение: AI и байесовский вывод

Page 28: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

Вероятность как степень доверия

Мы можем рассуждать о том, «насколько вероятно» то,что

«Единая Россия» победит на думских выборах;«Одиссею» написала женщина;Керенский бежал за границу в женском платье;...

Но о «стремящемся к бесконечности количествеэкспериментов» говорить бессмысленно — экспериментздесь ровно один.

Сергей Николенко Введение: AI и байесовский вывод

Page 29: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

Вероятность как степень доверия

Здесь вероятности уже выступают как степени доверия(degrees of belief). Это байесовский подход к вероятностям(Томас Байес так понимал).

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

Сергей Николенко Введение: AI и байесовский вывод

Page 30: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

Прямые и обратные задачи

Прямая задача: в урне лежат 10 шаров, из них 3 чёрных.Какова вероятность выбрать чёрный шар?

Или: в урне лежат 10 шаров с номерами от 1 до 10. Каковавероятность того, что номера трёх последовательновыбранных шаров дадут в сумме 12?

Обратная задача: перед нами две урны, в каждой по 10шаров, но в одной 3 чёрных, а в другой — 6. Кто-то взялиз какой-то урны шар, и он оказался чёрным. Наскольковероятно, что он брал шар из первой урны?

Заметьте, что в обратной задаче вероятности сразу сталибайесовскими (хоть здесь и можно переформулироватьчерез частоты).

Сергей Николенко Введение: AI и байесовский вывод

Page 31: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

Прямые и обратные задачи

Иначе говоря, прямые задачи теории вероятностейописывают некий вероятностный процесс или модель ипросят подсчитать ту или иную вероятность (т.е.фактически по модели предсказать поведение).

Обратные задачи содержат скрытые переменные (впримере — номер урны, из которой брали шар). Они частопросят по известному поведению построить вероятностнуюмодель.

Задачи машинного обучения обычно являются задачамивторой категории.

Сергей Николенко Введение: AI и байесовский вывод

Page 32: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

Определения

Запишем теорему Байеса:

p(θ|D) =p(θ)p(D |θ)

p(D).

Здесь p(θ) — априорная вероятность (prior probability),p(D |θ) — правдоподобие (likelihood), p(θ|D) —апостериорная вероятность (posterior probability),p(D) =

∫p(D | θ)p(θ)dθ — вероятность данных (evidence).

Вообще, функция правдоподобия имеет вид

a 7→ p(y |x = a)

для некоторой случайной величины y .

Сергей Николенко Введение: AI и байесовский вывод

Page 33: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

ML vs. MAP

В статистике обычно ищут гипотезу максимальногоправдоподобия (maximum likelihood):

θML = arg maxθp(D | θ).

В байесовском подходе ищут апостериорное распределение(posterior)

p(θ|D) ∝ p(D |θ)p(θ)

и, возможно, максимальную апостериорную гипотезу(maximum a posteriori):

θMAP = arg maxθp(θ | D) = arg maxθp(D | θ)p(θ).

Сергей Николенко Введение: AI и байесовский вывод

Page 34: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

Постановка задачи

Простая задача вывода: дана нечестная монетка, онаподброшена N раз, имеется последовательностьрезультатов падения монетки. Надо определить её«нечестность» и предсказать, чем она выпадет вследующий раз.

Гипотеза максимального правдоподобия скажет, чтовероятность решки равна числу выпавших решек,делённому на число экспериментов.

Сергей Николенко Введение: AI и байесовский вывод

Page 35: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

Постановка задачи

Простая задача вывода: дана нечестная монетка, онаподброшена N раз, имеется последовательностьрезультатов падения монетки. Надо определить её«нечестность» и предсказать, чем она выпадет вследующий раз.

Гипотеза максимального правдоподобия скажет, чтовероятность решки равна числу выпавших решек,делённому на число экспериментов.

То есть если вы взяли незнакомую монетку, подбросили еёодин раз и она выпала решкой, вы теперь ожидаете, чтоона всегда будет выпадать только решкой, правильно?

Сергей Николенко Введение: AI и байесовский вывод

Page 36: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

Первые замечания

Если у нас есть вероятность ph того, что монетка выпадетрешкой (вероятность орла pt = 1− ph), то вероятностьтого, что выпадет последовательность s, которая содержитnh решек и nt орлов, равна

p(s |ph) = pnhh (1− ph)

nt .

Сделаем предположение: будем считать, что монеткавыпадает равномерно, т.е. у нас нет априорного знания ph.

Теперь нужно использовать теорему Байеса и вычислитьскрытые параметры.

Сергей Николенко Введение: AI и байесовский вывод

Page 37: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

Пример применения теоремы Байеса

p(ph|s) =p(s |ph)p(ph)

p(s) .

Здесь p(ph) следует понимать как непрерывную случайнуювеличину, сосредоточенную на интервале [0, 1], коей она иявляется. Наше предположение о равномерномраспределении в данном случае значит, что априорнаявероятность p(ph) = 1, ph ∈ [0, 1] (т.е. априори мы незнаем, насколько нечестна монетка, и предполагаем эторавновероятным). А p(s |ph) мы уже знаем.

Итого получается:

p(ph|s) =pnhh (1− ph)

nt

p(s).

Сергей Николенко Введение: AI и байесовский вывод

Page 38: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

Пример применения теоремы Байеса

Итого получается:

p(ph|s) =pnhh (1− ph)

nt

p(s).

p(s) можно подсчитать как

p(s) =∫1

0pnhh (1− ph)

ntdph =

=Γ(nh + 1)Γ(nt + 1)Γ(nh + nt + 2)

=nh!nt !

(nh + nt + 1)!,

но найти arg maxphp(ph | s) = nh

nh+ntможно и без этого.

Сергей Николенко Введение: AI и байесовский вывод

Page 39: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

Пример применения теоремы Байеса

Итого получается:

p(ph|s) =pnhh (1− ph)

nt

p(s).

Но это ещё не всё. Чтобы предсказать следующий исход,надо найти p(heads|s):

p(heads|s) =∫1

0p(heads|ph)p(ph|s)dph =

=

∫1

0

pnh+1h (1− ph)

nt

p(s)dph =

=(nh + 1)!nt !

(nh + nt + 2)!· (nh + nt + 1)!

nh!nt !=

nh + 1nh + nt + 2

.

Получили правило Лапласа.

Сергей Николенко Введение: AI и байесовский вывод

Page 40: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

Пример применения теоремы Байеса

Итого получается:

p(ph|s) =pnhh (1− ph)

nt

p(s).

Это была иллюстрация двух основных задач байесовскоговывода:

1 найти апостериорное распределение нагипотезах/параметрах:

p(θ | D) ∝ p(D |θ)p(θ)

(и/или найти гипотезу максимального правдоподобияarg maxθp(θ | D));

2 найти апостериорное распределение исходов дальнейшихэкспериментов:

p(x | D) ∝∫θ∈Θ

p(x | θ)p(D |θ)p(θ)dθ.

Сергей Николенко Введение: AI и байесовский вывод

Page 41: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

Поиск скрытых параметров

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

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

Требуется найти наиболее правдоподобные неизвестныепараметры этих распределений.

Сергей Николенко Введение: AI и байесовский вывод

Page 42: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

Гауссиан

Начнём с нормального (гауссовского) распределения. Унего два параметра:

p(x) =1

σ√2π

e−(x−µ)2

2σ2 .

Функция правдоподобия данных x1, . . . , xn:

p(x1, . . . , xn|µ, σ) =1

(σ√2π)n

e−∑n

i=1(xi−µ)2

2σ2 .

Сергей Николенко Введение: AI и байесовский вывод

Page 43: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

Нормальное распределение

Сергей Николенко Введение: AI и байесовский вывод

Page 44: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

Гауссиан: достаточные статистики

Заметим, что функция эта зависит от двух параметров, ане от n:

p(x1, . . . , xn|µ, σ) =1

(σ√2π)n

e−S+n(�x−µ)2

2σ2 ,

где

�x =x1 + . . .+ xn

n, S =

n∑i=1

(�x − xn)2.

Параметры �x и S называются достаточными статистиками(sufficient statistics).

Сергей Николенко Введение: AI и байесовский вывод

Page 45: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

Гауссиан: ГМП

Какие параметры лучше всего описывают данные?

Перейдём, как водится, к логарифму:

ln p(x1, . . . , xn|µ, σ) = −n ln(σ√2π) −

S + n(�x − µ)2

2σ2 .

Как выяснить, при каких параметрах функцияправдоподобия максимизируется?

Сергей Николенко Введение: AI и байесовский вывод

Page 46: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

Гауссиан: ГМП

Какие параметры лучше всего описывают данные?

Перейдём, как водится, к логарифму:

ln p(x1, . . . , xn|µ, σ) = −n ln(σ√2π) −

S + n(�x − µ)2

2σ2 .

Как выяснить, при каких параметрах функцияправдоподобия максимизируется?

Взять частные производные и приравнять нулю.

Сергей Николенко Введение: AI и байесовский вывод

Page 47: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

Гауссиан: ГМП

По µ:∂ ln p∂µ

= −nσ2 (µ− �x).

То есть в гипотезе максимального правдоподобия µML = �x ,независимо от S .

Теперь нужно найти σ из гипотезы максимальногоправдоподобия.

Для этого мы продифференцируем по lnσ — полезныйприём на будущее. Кстати, dxn

d(ln x) = nxn.

Сергей Николенко Введение: AI и байесовский вывод

Page 48: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

Гауссиан: ГМП

∂ ln p∂ lnσ

= −n +

∑ni=1(xi − µ)

2

σ2 .

Следовательно, в гипотезе максимального правдоподобия

σML =

√∑ni=1(xi − µ)2

n.

Упражнение.1 Найти ожидание оценки σML и убедиться, что она смещена.2 Оценить ошибку в полученных нами значениях (найти

доверительные интервалы).

Сергей Николенко Введение: AI и байесовский вывод

Page 49: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

Несколько гауссианов

Теперь то же самое для нескольких гауссианов сразу.

Даны несколько точек x1, . . . , xn, но они принадлежатсмеси гауссианов с разными µk (пусть σ будет одна и таже).

Обозначим коэффициенты смеси через wk (вероятностьтого, что точка порождена гауссианом со средним µk).

Тогда распределение будет

p(x |w,µ, σ2) =∑k

wkN (x | µk , σ2).

Сергей Николенко Введение: AI и байесовский вывод

Page 50: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

Несколько гауссианов

Мы будем ещё говорить о том, как находить параметрымаксимального правдоподобия в смесях распределенийвроде этой;

p(x1, . . . , xn | w,µ, σ2) =

n∏i=1

p(xi |w,µ, σ2) =

n∏i=1

∑k

wkN (xi | µk , σ2).

А пока просто – что мы сделаем, если найдём этипараметры? Как называется эта задача?

Сергей Николенко Введение: AI и байесовский вывод

Page 51: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

Несколько гауссианов

Мы будем ещё говорить о том, как находить параметрымаксимального правдоподобия в смесях распределенийвроде этой;

p(x1, . . . , xn | w,µ, σ2) =

n∏i=1

p(xi |w,µ, σ2) =

n∏i=1

∑k

wkN (xi | µk , σ2).

А пока просто – что мы сделаем, если найдём этипараметры? Как называется эта задача?Мы решим задачу кластеризации: разделим данные (понаиболее правдоподобной компоненте смеси) на хорошоопределённые (в данном случае гауссовские) кластеры.

Сергей Николенко Введение: AI и байесовский вывод

Page 52: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

Регрессия

Третий пример – регрессия:обучающая выборка – несколько точек x = {x1, . . . , xN } снаблюдениями неизвестной функции t = {t1, . . . , tN };мы хотим понять, что это была за функция y(x), ипредсказать новые значения y(x);давайте будем просто искать функцию в виде многочлена:

y(x ,w) = w0 + w1x + w2x2 + . . .+ wdxd =

d∑j=0

wjx j .

Сергей Николенко Введение: AI и байесовский вывод

Page 53: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

Регрессия

Прежде всего заметим, что такую задачу все навернякарешали и безо всякого байесовского вывода:

выберем функцию ошибки – обычно выбираютсреднеквадратическое отклонение

E (w) =12

N∑n=1

(y(xn,w) − tn)2;

будем её минимизировать – возьмём производные инайдём минимум (или будем к нему двигатьсяградиентным спуском);в результате получатся оптимальные коэффициентымногочлена данной степени.

Сергей Николенко Введение: AI и байесовский вывод

Page 54: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

Регрессия

Тут же обнаружится проблема – чем больше степеньмногочлена, тем, конечно, точнее им можно приблизитьданные, но в какой-то момент начнётся оверфиттинг;какая модель лучше?Получится, что число параметров модели (степеньмногочлена) зависит от числа точек в наборе данных; этокак-то странно.Чтобы с этим бороться, вводят регуляризацию:минимизируют, например,

E ′(w) =12

N∑n=1

(y(xn,w) − tn)2 +

λ

2‖w‖2 .

Всё это выглядит странно – почему такая функцияошибки? почему такой регуляризатор? откуда брать λ?..

Сергей Николенко Введение: AI и байесовский вывод

Page 55: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

Регрессия

Теперь давайте попробуем рассмотреть то же самое сбайесовских позиций:

сделаем (очень естественное) предположение о том, чтоошибка в данных распределена нормально:

p(t | x ,w, σ2) = N (t | y(x ,w), σ2);

запишем правдоподобие тестовой выборки (предполагаянезависимость тестовых примеров):

p(t | x ,w, σ2) =

N∏n=1

N (tn | y(xn,w), σ2);

теперь (проверьте!) максимизация правдоподобияэквивалентна минимизации среднеквадратической ошибки.

Сергей Николенко Введение: AI и байесовский вывод

Page 56: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

Регрессия

Но и это ещё не всё – давайте добавим априорноераспределение:

введём априорное распределение

p(w | σ2w ) = N (w | 0, σ2

w ) ∝ e− 1

2σ2wwTw

;

теперь апостериорное распределение выглядит как

p(w | x, t, σ2, σ2w ) ∝ p(t | x ,w, σ2)p(w | σ2

w );

и поиск MAP-гипотезы эквивалентен (проверьте!)минимизации среднеквадратической ошибки срегуляризатором λ ‖w‖2 для λ = σ2

σ2w.

Сергей Николенко Введение: AI и байесовский вывод

Page 57: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

Байесовская регрессия

Сергей Николенко Введение: AI и байесовский вывод

Page 58: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

Классификация

Теперь – о задаче классификации. Пусть есть несколькоклассов {Ck }, и мы хотим узнать, к какому классупринадлежит x.

Небайесовский подход – придумать функцию f (x)(дискриминант), которая будет выдавать метку класса k(пример: расстояние до разделяющей поверхности).

Байесовский подход – оценить распределения p(x | Ck) поотдельности для каждого класса Ck , а затеммаксимизировать апостериорную вероятность:

k∗ = arg maxkp(Ck | x) = arg maxkp(x | Ck)p(Ck).

Ну, или просто напрямую искать p(Ck | x), если это проще.

Сергей Николенко Введение: AI и байесовский вывод

Page 59: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

Классификация

Чем байесовский подход лучше:если нужно минимизировать меняющиеся риски(коэффициенты при p(Ck | x) меняются), не нужнопереобучать модель;можно скомпенсировать несбалансированные априорныераспределения;можно совместить разные модели – если есть p(Ck | x) иp(Ck | y), можно предположить условную независимость(наивный байес) и подсчитать

p(Ck | x,y) ∝ p(x,y | Ck)p(Ck) ∝

p(x | Ck)p(y | Ck)p(Ck) ∝p(Ck | x)p(Ck | y)

p(Ck).

Сергей Николенко Введение: AI и байесовский вывод

Page 60: 20111202 machine learning_nikolenko_lecture01

Что такое машинное обучениеБайесовский подход

Основные определенияПримеры

Thank you!

Спасибо за внимание!

Сергей Николенко Введение: AI и байесовский вывод