Машинное обучение 1, весна 2014: Лекция 4

51

Click here to load reader

Upload: cs-center

Post on 12-Apr-2017

148 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Графические модели и байесовский вывод на них

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

Computer Science Club, Казань, 2014

Сергей Николенко Графические модели и байесовский вывод на них

Page 2: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Графические моделиSum–product и max–sum

Outline

1 Алгоритм передачи сообщенийГрафические моделиSum–product и max–sum

2 Приближённый выводСложная структура графаСложные факторы

Сергей Николенко Графические модели и байесовский вывод на них

Page 3: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Графические моделиSum–product и max–sum

В чём же проблема

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

Но если всё так просто – взяли интеграл, посчитали, всёполучилось – о чём же здесь целая наука?

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

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

Сергей Николенко Графические модели и байесовский вывод на них

Page 4: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Графические моделиSum–product и max–sum

Графические модели с направленными графами

Пример: рассмотрим распределение трёх переменных изапишем его по формуле полной вероятности:

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

Теперь нарисуем граф, в котором стрелки указывают,какие условные вероятности заданы.

Пока граф полносвязный, это нам ничего не даёт – любоераспределение p(x1, . . . , xn) так можно переписать.

Но если некоторых связей нет, это даёт нам важнуюинформацию и упрощает жизнь.

Сергей Николенко Графические модели и байесовский вывод на них

Page 5: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Графические моделиSum–product и max–sum

Графические модели с направленными графами

Рассмотрим направленный ациклический граф навершинах x1, . . . , xk и зададим в каждой вершинераспределения p(xi | pa(xi )). Тогда будем говорить, чтограф с этими локальными распределениями являетсяграфической моделью (байесовской сетью доверия) длясовместного распределения вероятностей

p(x1, . . . , xk) =

k∏i=1

p(xi | pa(xi )).

Другими словами, если мы можем разложить большоесовместное распределение в произведение локальныхраспределений, каждое из которых связывает малопеременных, это хорошо. :)

Сергей Николенко Графические модели и байесовский вывод на них

Page 6: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Графические моделиSum–product и max–sum

Графические модели с направленными графами

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

p(x1, . . . , xn, θ) = p(θ)n∏

i=1

p(xi | θ).

Что можно сказать о (не)зависимости случайных величинxi и xj?Задача вывода на графической модели: в некоторой частивершин значения наблюдаются, надо пересчитатьраспределения в других вершинах (подсчитать условныераспределения). Например, из этой модели получатся изадача обучения параметров, и задача последующегопредсказания.

Сергей Николенко Графические модели и байесовский вывод на них

Page 7: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Графические моделиSum–product и max–sum

Графические модели с направленными графами

d -разделимость – условная независимость, выраженная вструктуре графа:

последовательная связь, p(x , y , z) = p(x)p(y | x)p(z | y):если y не наблюдается, тоp(x , z) = p(x)

∫p(y | x)p(z | y)dy = p(x)p(z | x);

если y наблюдается, тоp(x , z | y) = p(x,y,z)

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

получили условную независимость.

Сергей Николенко Графические модели и байесовский вывод на них

Page 8: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Графические моделиSum–product и max–sum

Графические модели с направленными графами

расходящаяся связь, p(x , y , z) = p(x)p(y | x)p(z | x), – так же:

если y не наблюдается, тоp(x , z) = p(x)p(z | x)

∫p(y | x)dy = p(x)p(z | x);

если y наблюдается, тоp(x , z | y) = p(x,y,z)

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

получили условную независимость.

Сергей Николенко Графические модели и байесовский вывод на них

Page 9: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Графические моделиSum–product и max–sum

Графические модели с направленными графами

Интересный случай – сходящаяся связь,p(x , y , z) = p(x)p(y)p(z | x , y):

если z не наблюдается, то p(x , y) = p(x)p(y),независимость есть;если z наблюдается, тоp(x , y | z) = p(x,y,z)

p(z) = p(x)p(y)p(z|x,y)p(z) , и условной

независимости нету.

Обобщение: если наблюдается хотябы один из потомков z , уже можетне быть независимости между x и y .

Сергей Николенко Графические модели и байесовский вывод на них

Page 10: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Графические моделиSum–product и max–sum

Графические модели с направленными графами

Можно сформулировать, как структура графа соотноситсяс условной независимостью: в графе, где вершины измножества Z получили означивания (evidence), две ещё неозначенные вершины x и y условно независимы приусловии множества означенных вершин Z , если любой(ненаправленный) путь между x и y :

либо проходит через означенную вершину z ∈ Z споследовательной или расходящейся связью;либо проходит через вершину со сходящейся связью, вкоторой ни она, ни её потомки не получили означиваний.

Сергей Николенко Графические модели и байесовский вывод на них

Page 11: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Графические моделиSum–product и max–sum

Графические модели с направленными графами

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

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

p(x1, . . . , xk) =

k∏i=1

p(xi | pa(xi )).

Сергей Николенко Графические модели и байесовский вывод на них

Page 12: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Графические моделиSum–product и max–sum

Пример байесовской сети

Сергей Николенко Графические модели и байесовский вывод на них

Page 13: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Графические моделиSum–product и max–sum

Markov blanket

Интересный вопрос: какие вершины нужно означить, чтобынаверняка «отрезать» одну вершину (Markov blanket)?

Иначе говоря, для какого минимального множествавершин X p(xi | xj 6=i ) = p(xi | X )?

Сергей Николенко Графические модели и байесовский вывод на них

Page 14: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Графические моделиSum–product и max–sum

Markov blanket

Сергей Николенко Графические модели и байесовский вывод на них

Page 15: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Графические моделиSum–product и max–sum

Графические модели с ненаправленными графами

Можно сделать и так, чтобы условие независимости было(более) локальным.

Для этого нужно задавать модели ненаправленнымиграфами. В них условие совсем естественное: множествовершин X условно независимо от множества вершин Yпри условии множества вершин Z , если любой путь от X кY проходит через Z .

В частности, очевидно,p(xi , xj | xk 6=i ,j) = p(xi | xk 6=i ,j)p(xj | xk 6=i ,j) тогда и толькотогда, когда xi и xj не соединены ребром.

Такие модели называются марковскими сетями (Markovrandom fields).

Сергей Николенко Графические модели и байесовский вывод на них

Page 16: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Графические моделиSum–product и max–sum

Условная независимость в ненаправленных моделях

Сергей Николенко Графические модели и байесовский вывод на них

Page 17: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Графические моделиSum–product и max–sum

Графические модели с ненаправленными графами

Поэтому в ненаправленных моделях локальныераспределения соответствуют кликам в графе, ифакторизация получается в виде

p(x1, . . . , xk) =1Z

∏ψC (xC ),

где C – максимальные клики, ψC – неотрицательныефункции (потенциалы), а Z – нормировочная константа(partition function).Поскольку ψC ≥ 0, их обычно представляют какэкспоненты:

ψC (xC ) = exp (−EC (xC )) ,

EC – функции энергии, они суммируются в полнуюэнергию системы (это всё похоже на статистическуюфизику, отсюда и терминология).

Сергей Николенко Графические модели и байесовский вывод на них

Page 18: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Графические моделиSum–product и max–sum

Графические модели с ненаправленными графами

Интересный факт: назовём идеальной картой (perfect map)распределения D графическую модель G , если всеусловные независимости, присутствующие в D,отображены в G , и наоборот (ничего лишнего). Тогдаидеальные карты в виде направленных моделейсуществуют не у всех распределений, в видененаправленных тоже не у всех, и эти множествасущественно различаются (бывают распределения,которые нельзя идеально выразить направленноймоделью, но можно ненаправленной, и наоборот).

Сергей Николенко Графические модели и байесовский вывод на них

Page 19: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Графические моделиSum–product и max–sum

Фактор-графы

Важная для вывода модификация – фактор-граф (можнопостроить и по направленной модели, и поненаправленной).Фактор-граф – двудольный граф функций и переменных.Функция, соответствующая графу, – произведение всехвходящих в него функций (т.е. то самое разложение иесть).Пример: p(x1, x2, x3) = f1(x1)f2(x2)f3(x3)f4(x1, x2)f5(x2, x3).

Сергей Николенко Графические модели и байесовский вывод на них

Page 20: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Графические моделиSum–product и max–sum

Три представления

Сергей Николенко Графические модели и байесовский вывод на них

Page 21: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Графические моделиSum–product и max–sum

Функция в общем виде

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

p∗(X ) =

m∏j=1

fj(Xj),

где X = {xi }ni=1, Xj ⊆ X .

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

Сергей Николенко Графические модели и байесовский вывод на них

Page 22: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Графические моделиSum–product и max–sum

Задачи

Задача нормализации: найти Z =∑

X∏m

j=1 fj(Xj).

Задача маргинализации: найти

p∗i (xi ) =∑k 6=i

p∗(X ).

Также может понадобиться, например, pi1i2 , но реже.

Поиск гипотезы максимального правдоподобия:

x∗ = arg maxXp(X ).

Сергей Николенко Графические модели и байесовский вывод на них

Page 23: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Графические моделиSum–product и max–sum

Задачи

Все эти задачи NP-трудные.

То есть, если мир не рухнет, сложность их решения вхудшем случае возрастает экспоненциально.

Но можно решить некоторые частные случаи.

Сергей Николенко Графические модели и байесовский вывод на них

Page 24: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Графические моделиSum–product и max–sum

Пример

Давайте начнём с графа в виде (ненаправленной) цепи:

p(x1, . . . , xn) =1Zψ1,2(x1, x2) . . . ψn−1,n(xn−1, xn).

Мы хотим найти

p(xk) =∑x1

. . .∑xk−1

∑xk+1

. . .∑xn

p(x1, . . . , xn).

Сергей Николенко Графические модели и байесовский вывод на них

Page 25: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Графические моделиSum–product и max–sum

Пример

Очевидно, тут можно много чего упростить; например,справа налево:∑

xn

p(x1, . . . , xn) =

=1Zψ1,2(x1, x2) . . . ψn−2,n−1(xn−2, xn−1)

∑xn

ψn−1,n(xn−1, xn).

Эту сумму можно вычислить отдельно и продолжать в томже духе справа налево, потом аналогично слева направо.

Сергей Николенко Графические модели и байесовский вывод на них

Page 26: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Графические моделиSum–product и max–sum

Пример

В итоге процесс сойдётся на узле xk , куда придут два«сообщения»: слева

µα(xk) =∑xk−1

ψk−1,k(xk−1, xk)

[. . .

∑x2

ψ2,3(x2, x3)

[∑x1

ψ1,2(x1, x2)

]. . .

],

справа

µβ(xk) =∑xk+1

ψk,k+1(xk , xk+1)

[. . .

[∑xn

ψn−1,n(xn−1, xn)

]. . .

].

Каждую частичную сумму можно рассматривать как«сообщение» от узла к своему соседу, причём этосообщение – функция от соседа.

Сергей Николенко Графические модели и байесовский вывод на них

Page 27: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Графические моделиSum–product и max–sum

Алгоритм передачи сообщений

Чтобы обобщить, удобно рассмотреть опять фактор-граф.

Предположим, что фактор-граф – дерево (если не дерево,так просто не сработает).

Алгоритм передачи сообщений решает задачумаргинализации для функции видаp(x1, . . . , xn) =

∏s fs(Xs), заданной в виде фактор-графа.

Передаём сообщения по направлению к нужному узлу отпеременных к функциям и наоборот.

Сергей Николенко Графические модели и байесовский вывод на них

Page 28: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Графические моделиSum–product и max–sum

Передача сообщений

Сергей Николенко Графические модели и байесовский вывод на них

Page 29: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Графические моделиSum–product и max–sum

Алгоритм передачи сообщений

Чтобы найти p(xk), запишемp(x1, . . . , xn) =

∏s∈ne(xk )

Fs(xk ,Xs), где Xs – переменные изподдерева с корнем в fs . Тогда

p(xk) =∑xi 6=k

p(x1, . . . , xn) =∏

s∈ne(xk )

∑Xs

Fs(xk ,Xs)

=

=∏

s∈ne(xk )

µfs→xk (xk),

где µfs→xk (xk) – сообщения от соседних функций кпеременной xk .

Сергей Николенко Графические модели и байесовский вывод на них

Page 30: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Графические моделиSum–product и max–sum

Алгоритм передачи сообщений

Чтобы найти µfs→xk (xk), заметим, что Fs(xk ,Xs) тожеможно разложить по соответствующему подграфу:

Fs(xk ,Xs) = fs(xk ,Ys)∏y∈Ys

Gy (y ,Xs,y ),

где Ys – переменные, непосредственно связанные с fs(кроме xk), Xs,y – соответствующие поддеревья.Итого получаем

µfs→xk (xk) =∑Ys

fs(xk ,Ys)∏y∈Ys

∑Xs,y

Gy (y ,Xs,y )

=

=∑Ys

fs(xk ,Ys)∏y∈Ys

µy→fs (y).

Сергей Николенко Графические модели и байесовский вывод на них

Page 31: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Графические моделиSum–product и max–sum

Алгоритм передачи сообщений

Можно аналогично подсчитать, чтоµy→fs (y) =

∏f ∈ne(y)\fs µf →y (y).

Сергей Николенко Графические модели и байесовский вывод на них

Page 32: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Графические моделиSum–product и max–sum

Алгоритм передачи сообщений

Итак, получился простой и понятный алгоритм:как только узел получил сообщения от всех соседей, кромеодного, он сам начинает передавать сообщение в этогососеда;сообщение по ребру между функцией и переменнойявляется функцией от этой переменной;узел-переменная x передаёт сообщение

µx→f (x) =∏

g∈ne(x)\f

µg→x(x);

узел-функция f (x ,Y ) передаёт сообщение

µf →x(x) =∑y∈Y

f (x ,Y )∏y∈Y

µy→f (y);

начальные сообщения в листьях µx→f (x) = 1,µf →x(x) = f (x).

Сергей Николенко Графические модели и байесовский вывод на них

Page 33: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Графические моделиSum–product и max–sum

Алгоритм передачи сообщений

Когда сообщения придут из всех соседей в какую-топеременную xk , можно будет подсчитать

p(xk) =∏

f ∈ne(xk )

µf →xk (xk).

Когда сообщения придут из всех соседей в какой-тофактор fs(Xs), можно будет подсчитать совместноераспределение

p(Xs) = fs(Xs)∏

y∈ne(fs )

µy→fs (y).

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

Сергей Николенко Графические модели и байесовский вывод на них

Page 34: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Графические моделиSum–product и max–sum

Алгоритм передачи сообщений

Это называется алгоритм sum-product, потому чтосообщение вычисляется как

µf →x(x) =∑y∈Y

f (x ,Y )∏y∈Y

µy→f (y).

Задача максимизации arg maxxp(x1, . . . , xn) решается также, но алгоритмом max-sum: сумма заменяется намаксимум, а произведение на сумму.

Сергей Николенко Графические модели и байесовский вывод на них

Page 35: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Графические моделиSum–product и max–sum

Передача сообщений

Сергей Николенко Графические модели и байесовский вывод на них

Page 36: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Графические моделиSum–product и max–sum

Так что же делать с байесовской сетью?

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

Сергей Николенко Графические модели и байесовский вывод на них

Page 37: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Графические моделиSum–product и max–sum

Так что же делать с байесовской сетью?

Сергей Николенко Графические модели и байесовский вывод на них

Page 38: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Графические моделиSum–product и max–sum

Так что же делать с байесовской сетью?

Сергей Николенко Графические модели и байесовский вывод на них

Page 39: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Графические моделиSum–product и max–sum

Так что же делать с байесовской сетью?

Сергей Николенко Графические модели и байесовский вывод на них

Page 40: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Сложная структура графаСложные факторы

Outline

1 Алгоритм передачи сообщенийГрафические моделиSum–product и max–sum

2 Приближённый выводСложная структура графаСложные факторы

Сергей Николенко Графические модели и байесовский вывод на них

Page 41: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Сложная структура графаСложные факторы

Приближённый вывод

Когда граф – дерево, и в каждом узле всё считается явнои аналитически, можно посчитать быстро и точно.

Но что делать, когда зубная щётка недоступна?Могут быть две проблемы:

1 сложная структура графа, с циклами;2 сложные факторы – результат маргинализации в

отдельном узле неудобный.

Сергей Николенко Графические модели и байесовский вывод на них

Page 42: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Сложная структура графаСложные факторы

Суть

Sum–product работает корректно, только если граф —дерево (ну, разве что скрестить пальцы и помолиться...).

Что делать, когда граф содержит циклы?

Нужно использовать деревья сочленений.

Сергей Николенко Графические модели и байесовский вывод на них

Page 43: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Сложная структура графаСложные факторы

Деревья сочленений — неформально

Если цикл не сдаётся, его уничтожают, то есть заменяютвесь цикл на одну вершину.

Получается дерево, в котором уже можно работатьобычным sum–product’ом; но при этом, конечно, заменанескольких вершин одной приводит к экспоненциальномураздуванию соответствующего фактора (множествозначений соответствующей переменной должно содержатьвсе комбинации значений исходных переменных).

Сергей Николенко Графические модели и байесовский вывод на них

Page 44: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Сложная структура графаСложные факторы

Другие методы

Если цикл всё-таки большой, то есть хороший общийметод, который применяют, когда нельзя применятьsum–product.

Метод заключается в том, чтобы применять sum–product.:)

Он работает довольно часто даже тогда, когда в принципеработать не обязан (когда есть циклы).

Сергей Николенко Графические модели и байесовский вывод на них

Page 45: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Сложная структура графаСложные факторы

Передача сообщений с циклами

Сергей Николенко Графические модели и байесовский вывод на них

Page 46: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Сложная структура графаСложные факторы

Вариационные методы

Если факторы простые, а структура сложная, можноприближать сложное распределение более простойформой, разрывая связи в графе: вариационныеприближения (из матфизики).

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

«Похожесть» можно определить по расстояниюКульбака–Лейблера

d(p, q) =∫

p(x) lnp(x)q(x)

dx .

Сергей Николенко Графические модели и байесовский вывод на них

Page 47: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Сложная структура графаСложные факторы

Вариационные методы

Например: давайте искусственно разорвём связи, оставивтолько рёбра внутри подмножеств вершин Xi .

Иначе говоря, будем предполагать, что любой факторq(Z ) представляется в виде

q(Z ) =∏

qi (Zi ), где Zi = Z ∪ Xi .

Затем оптимизируем параметры, минимизируя расстояниемежду исходным распределением и такимфакторизованным; это соответствует методусамосогласованного поля (mean field theory) в физике.

Более подробно мы рассматривать вариационные методысейчас не будем.

Сергей Николенко Графические модели и байесовский вывод на них

Page 48: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Сложная структура графаСложные факторы

Сэмплирование по Гиббсу

Ещё один важный метод – сэмплирование по Гиббсу.

Постепенно сэмплируем одни переменные при условиидругих.

Это вариант MCMC-приближений (Markov chain MonteCarlo), про них мы подробно говорить не будем.

Сергей Николенко Графические модели и байесовский вывод на них

Page 49: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Сложная структура графаСложные факторы

Expectation propagation

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

p(θ | D) =1

p(D)

∏i

fi (θ)

слишком сложные факторы fi , мы хотим их заменить накакие-нибудь простые (из экспоненциального семейства,например, гауссианы):

q(θ | D) =1Z

∏i

f̂i (θ).

И тоже минимизировать расстояние Кульбака–Лейблерамежду p и q.

Сергей Николенко Графические модели и байесовский вывод на них

Page 50: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Сложная структура графаСложные факторы

Expectation propagation

Для одного фактора всё это очень просто было бы –посчитать среднее и дисперсию (moment matching).

Для многих факторов надо приближать все f̂iодновременно. Можно доказать (мы не будем), что этоможно делать последовательно, приближая фактор зафактором и итерируя, покаТаким образом, алгоритм Expectation Propagation насамом деле очень простой:

1 запустить алгоритм передачи сообщений, но на каждомшаге вместо сообщения µfs→xk (xk) считать егоприближение µ̂fs→xk (xk) из какого-нибудь простогосемейства;

2 повторять передачу сообщений, пока не сойдётся.

Сергей Николенко Графические модели и байесовский вывод на них

Page 51: Машинное обучение 1, весна 2014: Лекция 4

Алгоритм передачи сообщенийПриближённый вывод

Сложная структура графаСложные факторы

Thank you!

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

Сергей Николенко Графические модели и байесовский вывод на них