SlideShare a Scribd company logo
1 of 50
Download to read offline
Алгоритм передачи сообщений
              Приближённый вывод




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

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



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




                 Сергей Николенко   Графические модели и байесовский вывод на них
Алгоритм передачи сообщений   Графические модели
                    Приближённый вывод    Sum–product и max–sum


Outline



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


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




                       Сергей Николенко   Графические модели и байесовский вывод на них
Алгоритм передачи сообщений   Графические модели
                  Приближённый вывод    Sum–product и max–sum


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

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

                     Сергей Николенко   Графические модели и байесовский вывод на них
Алгоритм передачи сообщений   Графические модели
                  Приближённый вывод    Sum–product и max–sum


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


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

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

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



                     Сергей Николенко   Графические модели и байесовский вывод на них
Алгоритм передачи сообщений        Графические модели
                  Приближённый вывод         Sum–product и max–sum


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

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

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

                     Сергей Николенко        Графические модели и байесовский вывод на них
Алгоритм передачи сообщений    Графические модели
                  Приближённый вывод     Sum–product и max–sum


Графические модели с направленными графами
     Пример: обучение параметров распределения по
     нескольким экспериментам (плашки, можно нарисовать
     параметры явно):
                                                   n
                   p(x1 , . . . , xn , θ) = p(θ)         p(xi | θ).
                                                   i=1

     Что можно сказать о (не)зависимости случайных величин
     xi и xj ?
     Задача вывода на графической модели: в некоторой части
     вершин значения наблюдаются, надо пересчитать
     распределения в других вершинах (подсчитать условные
     распределения). Например, из этой модели получатся и
     задача обучения параметров, и задача последующего
     предсказания.
                     Сергей Николенко    Графические модели и байесовский вывод на них
Алгоритм передачи сообщений     Графические модели
                  Приближённый вывод      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 ) = p(x)p(y |x)p(z|y ) = p(x | y )p(z | y ),
                               p(y
                                   ,z)
                                             p(y )
              получили условную независимость.




                     Сергей Николенко     Графические модели и байесовский вывод на них
Алгоритм передачи сообщений   Графические модели
                   Приближённый вывод    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 ) = p(x)p(y |x)p(z|x) = p(x | y )p(z | y ),
                           p(y
                               ,z)
                                         p(y )
          получили условную независимость.




                      Сергей Николенко   Графические модели и байесовский вывод на них
Алгоритм передачи сообщений   Графические модели
                   Приближённый вывод    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(x)p(y )p(z|x,y ) , и условной
                         p(z)            p(z)
         независимости нету.



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




                      Сергей Николенко   Графические модели и байесовский вывод на них
Алгоритм передачи сообщений   Графические модели
                  Приближённый вывод    Sum–product и max–sum


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



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




                     Сергей Николенко   Графические модели и байесовский вывод на них
Алгоритм передачи сообщений        Графические модели
                  Приближённый вывод         Sum–product и max–sum


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


     Можно сказать, что граф задаёт некоторое семейство
     распределений – не все распределения на вершинах графа
     будут соответствовать тем ограничениям по условной
     независимости, которые накладывает структура графа.
     Теорема (без доказательства): это семейство
     распределений в точности совпадает с семейством тех
     распределений, которые можно разложить в произведение
                                              k
                     p(x1 , . . . , xk ) =         p(xi | pa(xi )).
                                             i=1




                     Сергей Николенко        Графические модели и байесовский вывод на них
Алгоритм передачи сообщений   Графические модели
                 Приближённый вывод    Sum–product и max–sum


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




                    Сергей Николенко   Графические модели и байесовский вывод на них
Алгоритм передачи сообщений   Графические модели
                  Приближённый вывод    Sum–product и max–sum


Markov blanket




     Интересный вопрос: какие вершины нужно означить, чтобы
     наверняка отрезать одну вершину (Markov blanket)?
     Иначе говоря, для какого минимального множества
     вершин X p(xi | xj=i ) = p(xi | X )?




                     Сергей Николенко   Графические модели и байесовский вывод на них
Алгоритм передачи сообщений   Графические модели
                  Приближённый вывод    Sum–product и max–sum


Markov blanket




                     Сергей Николенко   Графические модели и байесовский вывод на них
Алгоритм передачи сообщений   Графические модели
                   Приближённый вывод    Sum–product и max–sum


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

     Можно сделать и так, чтобы условие независимости было
     (более) локальным.
     Для этого нужно задавать модели ненаправленными
     графами. В них условие совсем естественное: множество
     вершин X условно независимо от множества вершин Y
     при условии множества вершин Z , если любой путь от X к
     Y проходит через Z .
     В частности, очевидно,
     p(xi , xj | xk=i,j ) = p(xi | xk=i,j )p(xj | xk=i,j ) тогда и только
     тогда, когда xi и xj не соединены ребром.
     Такие модели называются марковскими сетями (Markov
     random fields).

                      Сергей Николенко   Графические модели и байесовский вывод на них
Алгоритм передачи сообщений   Графические модели
                 Приближённый вывод    Sum–product и max–sum


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




                    Сергей Николенко   Графические модели и байесовский вывод на них
Алгоритм передачи сообщений   Графические модели
                  Приближённый вывод    Sum–product и max–sum


Графические модели с ненаправленными графами
     Поэтому в ненаправленных моделях локальные
     распределения соответствуют кликам в графе, и
     факторизация получается в виде
                                         1
                   p(x1 , . . . , xk ) =   ψC (xC ),
                                         Z
     где C – максимальные клики, ψC – неотрицательные
     функции (потенциалы), а Z – нормировочная константа
     (partition function).
     Поскольку ψC ≥ 0, их обычно представляют как
     экспоненты:
                        ψC (xC ) = exp (−EC (xC )) ,
     EC – функции энергии, они суммируются в полную
     энергию системы (это всё похоже на статистическую
     физику, отсюда и терминология).
                     Сергей Николенко   Графические модели и байесовский вывод на них
Алгоритм передачи сообщений   Графические модели
                  Приближённый вывод    Sum–product и max–sum


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


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



                     Сергей Николенко   Графические модели и байесовский вывод на них
Алгоритм передачи сообщений     Графические модели
                    Приближённый вывод      Sum–product и max–sum


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

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




                       Сергей Николенко     Графические модели и байесовский вывод на них
Алгоритм передачи сообщений   Графические модели
                 Приближённый вывод    Sum–product и max–sum


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




                    Сергей Николенко   Графические модели и байесовский вывод на них
Алгоритм передачи сообщений    Графические модели
                  Приближённый вывод     Sum–product и max–sum


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



     Чтобы поставить задачу в общем виде, рассмотрим
     функцию
                                          m
                               ∗
                              p (X ) =         fj (Xj ),
                                         j=1

     где X = {xi }n , Xj ⊆ X .
                  i=1
     Т.е. мы рассматриваем функцию, которая раскладывается
     в произведение нескольких других функций.




                     Сергей Николенко    Графические модели и байесовский вывод на них
Алгоритм передачи сообщений      Графические модели
                  Приближённый вывод       Sum–product и max–sum


Задачи


                                                             m
     Задача нормализации: найти Z =                   X      j=1 fj (Xj ).
     Задача маргинализации: найти

                             pi∗ (xi ) =         p ∗ (X ).
                                           k=i

     Также может понадобиться, например, pi1 i2 , но реже.
     Поиск гипотезы максимального правдоподобия:

                            x∗ = arg maxX p(X ).




                     Сергей Николенко      Графические модели и байесовский вывод на них
Алгоритм передачи сообщений   Графические модели
                  Приближённый вывод    Sum–product и max–sum


Задачи




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




                     Сергей Николенко   Графические модели и байесовский вывод на них
Алгоритм передачи сообщений       Графические модели
                 Приближённый вывод        Sum–product и max–sum


Пример



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

                                 1
         p(x1 , . . . , xn ) =     ψ1,2 (x1 , x2 ) . . . ψn−1,n (xn−1 , xn ).
                                 Z
    Мы хотим найти

             p(xk ) =         ...               ...        p(x1 , . . . , xn ).
                         x1         xk−1 xk+1         xn




                    Сергей Николенко       Графические модели и байесовский вывод на них
Алгоритм передачи сообщений   Графические модели
                      Приближённый вывод    Sum–product и max–sum


Пример


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

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

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




                         Сергей Николенко   Графические модели и байесовский вывод на них
Алгоритм передачи сообщений              Графические модели
                   Приближённый вывод               Sum–product и max–sum


Пример


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

    µα (xk ) =          ψk−1,k (xk−1 , xk ) . . .        ψ2,3 (x2 , x3 )        ψ1,2 (x1 , x2 ) . . . ,
                 xk−1                               x2                     x1

     справа

         µβ (xk ) =            ψk,k+1 (xk , xk+1 ) . . .          ψn−1,n (xn−1 , xn ) . . . .
                        xk+1                                 xn


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


                           Сергей Николенко         Графические модели и байесовский вывод на них
Алгоритм передачи сообщений   Графические модели
                   Приближённый вывод    Sum–product и max–sum


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



     Чтобы обобщить, удобно рассмотреть опять фактор-граф.
     Предположим, что фактор-граф – дерево (если не дерево,
     так просто не сработает).
     Алгоритм передачи сообщений решает задачу
     маргинализации для функции вида
     p(x1 , . . . , xn ) = s fs (Xs ), заданной в виде фактор-графа.
     Передаём сообщения по направлению к нужному узлу от
     переменных к функциям и наоборот.




                      Сергей Николенко   Графические модели и байесовский вывод на них
Алгоритм передачи сообщений   Графические модели
                 Приближённый вывод    Sum–product и max–sum


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




                    Сергей Николенко   Графические модели и байесовский вывод на них
Алгоритм передачи сообщений            Графические модели
                   Приближённый вывод             Sum–product и max–sum


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


     Чтобы найти p(xk ), запишем
     p(x1 , . . . , xn ) = s∈ne(xk ) Fs (xk , Xs ), где Xs – переменные из
     поддерева с корнем в fs . Тогда
                                                                                  

       p(xk ) =           p(x1 , . . . , xn ) =                       Fs (xk , Xs ) =
                  xi =k                           s∈ne(xk )       Xs

                                                              =               µfs →xk (xk ),
                                                                  s∈ne(xk )

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


                          Сергей Николенко        Графические модели и байесовский вывод на них
Алгоритм передачи сообщений         Графические модели
                   Приближённый вывод          Sum–product и max–sum


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

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

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

       µfs →xk (xk ) =        fs (xk , Ys )                     Gy (y , Xs,y ) =
                         Ys                   y ∈Ys       Xs,y

                                              =        fs (xk , Ys )           µy →fs (y ).
                                                  Ys                   y ∈Ys


                      Сергей Николенко         Графические модели и байесовский вывод на них
Алгоритм передачи сообщений   Графические модели
                  Приближённый вывод    Sum–product и max–sum


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




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




                     Сергей Николенко   Графические модели и байесовский вывод на них
Алгоритм передачи сообщений          Графические модели
                  Приближённый вывод           Sum–product и max–sum


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

                           µx→f (x) =                      µg →x (x);
                                           g ∈ne(x)f

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

                       µf →x (x) =             f (x, Y )          µy →f (y );
                                        y ∈Y               y ∈Y

         начальные сообщения в листьях µx→f (x) = 1,
         µf →x (x) = f (x).
                     Сергей Николенко          Графические модели и байесовский вывод на них
Алгоритм передачи сообщений     Графические модели
                  Приближённый вывод      Sum–product и max–sum


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

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

                         p(xk ) =                µf →xk (xk ).
                                    f ∈ne(xk )

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

                     p(Xs ) = fs (Xs )                µy →fs (y ).
                                         y ∈ne(fs )

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

                     Сергей Николенко     Графические модели и байесовский вывод на них
Алгоритм передачи сообщений     Графические модели
                  Приближённый вывод      Sum–product и max–sum


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



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

                  µf →x (x) =           f (x, Y )          µy →f (y ).
                                 y ∈Y               y ∈Y

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




                     Сергей Николенко     Графические модели и байесовский вывод на них
Алгоритм передачи сообщений   Графические модели
                 Приближённый вывод    Sum–product и max–sum


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




                    Сергей Николенко   Графические модели и байесовский вывод на них
Алгоритм передачи сообщений   Графические модели
                   Приближённый вывод    Sum–product и max–sum


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




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




                      Сергей Николенко   Графические модели и байесовский вывод на них
Алгоритм передачи сообщений   Графические модели
                 Приближённый вывод    Sum–product и max–sum


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




                    Сергей Николенко   Графические модели и байесовский вывод на них
Алгоритм передачи сообщений   Графические модели
                 Приближённый вывод    Sum–product и max–sum


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




                    Сергей Николенко   Графические модели и байесовский вывод на них
Алгоритм передачи сообщений   Графические модели
                 Приближённый вывод    Sum–product и max–sum


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




                    Сергей Николенко   Графические модели и байесовский вывод на них
Алгоритм передачи сообщений   Сложная структура графа
                    Приближённый вывод    Сложные факторы


Outline



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


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




                       Сергей Николенко   Графические модели и байесовский вывод на них
Алгоритм передачи сообщений   Сложная структура графа
                   Приближённый вывод    Сложные факторы


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



     Когда граф – дерево, и в каждом узле всё считается явно
     и аналитически, можно посчитать быстро и точно.
     Но что делать, когда зубная щётка недоступна?
     Могут быть две проблемы:
       1   сложная структура графа, с циклами;
       2   сложные факторы – результат маргинализации в
           отдельном узле неудобный.




                      Сергей Николенко   Графические модели и байесовский вывод на них
Алгоритм передачи сообщений   Сложная структура графа
                    Приближённый вывод    Сложные факторы


Суть




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




                       Сергей Николенко   Графические модели и байесовский вывод на них
Алгоритм передачи сообщений   Сложная структура графа
                  Приближённый вывод    Сложные факторы


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



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




                     Сергей Николенко   Графические модели и байесовский вывод на них
Алгоритм передачи сообщений   Сложная структура графа
                  Приближённый вывод    Сложные факторы


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



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




                     Сергей Николенко   Графические модели и байесовский вывод на них
Алгоритм передачи сообщений   Сложная структура графа
                 Приближённый вывод    Сложные факторы


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




                    Сергей Николенко   Графические модели и байесовский вывод на них
Алгоритм передачи сообщений   Сложная структура графа
                  Приближённый вывод    Сложные факторы


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

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

                                                p(x)
                        d (p, q) = p(x) ln           dx.
                                                q(x)


                     Сергей Николенко   Графические модели и байесовский вывод на них
Алгоритм передачи сообщений   Сложная структура графа
                  Приближённый вывод    Сложные факторы


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

     Например: давайте искусственно разорвём связи, оставив
     только рёбра внутри подмножеств вершин Xi .
     Иначе говоря, будем предполагать, что любой фактор
     q(Z ) представляется в виде

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

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

                     Сергей Николенко   Графические модели и байесовский вывод на них
Алгоритм передачи сообщений   Сложная структура графа
                   Приближённый вывод    Сложные факторы


Expectation propagation
      Если структура простая, но сложные факторы (результат
      не представляется в виде распределения нужной формы),
      можно его приближать простыми распределениями. Если в
      нашем факторизованном распределении
                                           1
                          p(θ | D) =                    fi (θ)
                                         p(D)
                                                    i

      слишком сложные факторы fi , мы хотим их заменить на
      какие-нибудь простые (из экспоненциального семейства,
      например, гауссианы):
                                          1
                            q(θ | D) =              ^
                                                    fi (θ).
                                          Z
                                                i

      И тоже минимизировать расстояние Кульбака–Лейблера
      между p и q.
                      Сергей Николенко   Графические модели и байесовский вывод на них
Алгоритм передачи сообщений   Сложная структура графа
                    Приближённый вывод    Сложные факторы


Expectation propagation

      Для одного фактора всё это очень просто было бы –
      посчитать среднее и дисперсию (moment matching).
                                               ^
      Для многих факторов надо приближать все fi
      одновременно. Можно доказать (мы не будем), что это
      можно делать последовательно, приближая фактор за
      фактором и итерируя, пока
      Таким образом, алгоритм Expectation Propagation на
      самом деле очень простой:
       1   запустить алгоритм передачи сообщений, но на каждом
           шаге вместо сообщения µfs →xk (xk ) считать его
           приближение µfs →xk (xk ) из какого-нибудь простого
                        ^
           семейства;
       2   повторять передачу сообщений, пока не сойдётся.

                       Сергей Николенко   Графические модели и байесовский вывод на них
Алгоритм передачи сообщений   Сложная структура графа
                 Приближённый вывод    Сложные факторы


Thank you!




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




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

More Related Content

What's hot

L3: Линейная и логистическая регрессия
L3: Линейная и логистическая регрессияL3: Линейная и логистическая регрессия
L3: Линейная и логистическая регрессияTechnosphere1
 
Линейная алгебра - II
Линейная алгебра - IIЛинейная алгебра - II
Линейная алгебра - IIDEVTYPE
 
L6: Метод опорных векторов
L6: Метод опорных векторовL6: Метод опорных векторов
L6: Метод опорных векторовTechnosphere1
 
L2: Задача классификации и регрессии. Метрики ошибок
L2: Задача классификации и регрессии. Метрики ошибокL2: Задача классификации и регрессии. Метрики ошибок
L2: Задача классификации и регрессии. Метрики ошибокTechnosphere1
 
L11: Метод ансамблей
L11: Метод ансамблейL11: Метод ансамблей
L11: Метод ансамблейTechnosphere1
 
Лекция №5 "Обработка текстов, Naive Bayes"
Лекция №5 "Обработка текстов, Naive Bayes" Лекция №5 "Обработка текстов, Naive Bayes"
Лекция №5 "Обработка текстов, Naive Bayes" Technosphere1
 
Методы численного интегрирования
Методы численного интегрированияМетоды численного интегрирования
Методы численного интегрированияTheoretical mechanics department
 
Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение" Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение" Technosphere1
 
Лекция №6 "Линейные модели для классификации и регрессии"
Лекция №6 "Линейные модели для классификации и регрессии" Лекция №6 "Линейные модели для классификации и регрессии"
Лекция №6 "Линейные модели для классификации и регрессии" Technosphere1
 
Лекция №7 "Машина опорных векторов"
Лекция №7 "Машина опорных векторов" Лекция №7 "Машина опорных векторов"
Лекция №7 "Машина опорных векторов" Technosphere1
 
Лекция №3 "Различные алгоритмы кластеризации"
Лекция №3 "Различные алгоритмы кластеризации"Лекция №3 "Различные алгоритмы кластеризации"
Лекция №3 "Различные алгоритмы кластеризации"Technosphere1
 
20111023 circuit complexity_seminar_lecture04_mihajlin
20111023 circuit complexity_seminar_lecture04_mihajlin20111023 circuit complexity_seminar_lecture04_mihajlin
20111023 circuit complexity_seminar_lecture04_mihajlinComputer Science Club
 
20110403 quantum algorithms_vyali_lecture03
20110403 quantum algorithms_vyali_lecture0320110403 quantum algorithms_vyali_lecture03
20110403 quantum algorithms_vyali_lecture03Computer Science Club
 
L10: Алгоритмы кластеризации
L10: Алгоритмы кластеризацииL10: Алгоритмы кластеризации
L10: Алгоритмы кластеризацииTechnosphere1
 
Лекция №1 "Задачи Data Mining"
Лекция №1 "Задачи Data Mining" Лекция №1 "Задачи Data Mining"
Лекция №1 "Задачи Data Mining" Technosphere1
 
Use of eliptic curves for generating digital signature
Use of eliptic curves for generating digital signatureUse of eliptic curves for generating digital signature
Use of eliptic curves for generating digital signatureAndrei Poliakov
 
Михаил Рыбалкин. Перестановочные многочлены.
Михаил Рыбалкин. Перестановочные многочлены.Михаил Рыбалкин. Перестановочные многочлены.
Михаил Рыбалкин. Перестановочные многочлены.LiloSEA
 
Численное решение ОДУ. Метод Эйлера
Численное решение ОДУ. Метод ЭйлераЧисленное решение ОДУ. Метод Эйлера
Численное решение ОДУ. Метод ЭйлераTheoretical mechanics department
 

What's hot (20)

L3: Линейная и логистическая регрессия
L3: Линейная и логистическая регрессияL3: Линейная и логистическая регрессия
L3: Линейная и логистическая регрессия
 
Линейная алгебра - II
Линейная алгебра - IIЛинейная алгебра - II
Линейная алгебра - II
 
L6: Метод опорных векторов
L6: Метод опорных векторовL6: Метод опорных векторов
L6: Метод опорных векторов
 
L2: Задача классификации и регрессии. Метрики ошибок
L2: Задача классификации и регрессии. Метрики ошибокL2: Задача классификации и регрессии. Метрики ошибок
L2: Задача классификации и регрессии. Метрики ошибок
 
L11: Метод ансамблей
L11: Метод ансамблейL11: Метод ансамблей
L11: Метод ансамблей
 
Лекция №5 "Обработка текстов, Naive Bayes"
Лекция №5 "Обработка текстов, Naive Bayes" Лекция №5 "Обработка текстов, Naive Bayes"
Лекция №5 "Обработка текстов, Naive Bayes"
 
Методы численного интегрирования
Методы численного интегрированияМетоды численного интегрирования
Методы численного интегрирования
 
Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение" Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение"
 
Лекция №6 "Линейные модели для классификации и регрессии"
Лекция №6 "Линейные модели для классификации и регрессии" Лекция №6 "Линейные модели для классификации и регрессии"
Лекция №6 "Линейные модели для классификации и регрессии"
 
Лекция №7 "Машина опорных векторов"
Лекция №7 "Машина опорных векторов" Лекция №7 "Машина опорных векторов"
Лекция №7 "Машина опорных векторов"
 
Метод конечных разностей
Метод конечных разностейМетод конечных разностей
Метод конечных разностей
 
Лекция №3 "Различные алгоритмы кластеризации"
Лекция №3 "Различные алгоритмы кластеризации"Лекция №3 "Различные алгоритмы кластеризации"
Лекция №3 "Различные алгоритмы кластеризации"
 
Сплайн интерполяция
Сплайн интерполяцияСплайн интерполяция
Сплайн интерполяция
 
20111023 circuit complexity_seminar_lecture04_mihajlin
20111023 circuit complexity_seminar_lecture04_mihajlin20111023 circuit complexity_seminar_lecture04_mihajlin
20111023 circuit complexity_seminar_lecture04_mihajlin
 
20110403 quantum algorithms_vyali_lecture03
20110403 quantum algorithms_vyali_lecture0320110403 quantum algorithms_vyali_lecture03
20110403 quantum algorithms_vyali_lecture03
 
L10: Алгоритмы кластеризации
L10: Алгоритмы кластеризацииL10: Алгоритмы кластеризации
L10: Алгоритмы кластеризации
 
Лекция №1 "Задачи Data Mining"
Лекция №1 "Задачи Data Mining" Лекция №1 "Задачи Data Mining"
Лекция №1 "Задачи Data Mining"
 
Use of eliptic curves for generating digital signature
Use of eliptic curves for generating digital signatureUse of eliptic curves for generating digital signature
Use of eliptic curves for generating digital signature
 
Михаил Рыбалкин. Перестановочные многочлены.
Михаил Рыбалкин. Перестановочные многочлены.Михаил Рыбалкин. Перестановочные многочлены.
Михаил Рыбалкин. Перестановочные многочлены.
 
Численное решение ОДУ. Метод Эйлера
Численное решение ОДУ. Метод ЭйлераЧисленное решение ОДУ. Метод Эйлера
Численное решение ОДУ. Метод Эйлера
 

Viewers also liked

20151116 lokal formidling,forankring og samarbejde
20151116   lokal formidling,forankring og samarbejde20151116   lokal formidling,forankring og samarbejde
20151116 lokal formidling,forankring og samarbejdeMichael Anker
 
Danskernes Digitale Bibliotek for Vejle Centralbibliotek - Biblioteksledere
Danskernes Digitale Bibliotek for Vejle Centralbibliotek - BiblioteksledereDanskernes Digitale Bibliotek for Vejle Centralbibliotek - Biblioteksledere
Danskernes Digitale Bibliotek for Vejle Centralbibliotek - BiblioteksledereMichael Anker
 
TING concept presentation
TING concept presentationTING concept presentation
TING concept presentationMichael Anker
 
20111016 inroduction to_combinatorics_on_words_frid_lecture04
20111016 inroduction to_combinatorics_on_words_frid_lecture0420111016 inroduction to_combinatorics_on_words_frid_lecture04
20111016 inroduction to_combinatorics_on_words_frid_lecture04Computer Science Club
 
20130408 Computers In Libraries
20130408   Computers In Libraries20130408   Computers In Libraries
20130408 Computers In LibrariesMichael Anker
 
20121004 TING : interoperabilitet
20121004   TING : interoperabilitet20121004   TING : interoperabilitet
20121004 TING : interoperabilitetMichael Anker
 
20130822 CB informationsmøde i Roskilde
20130822   CB informationsmøde i Roskilde20130822   CB informationsmøde i Roskilde
20130822 CB informationsmøde i RoskildeMichael Anker
 
20120905 BF - it faggruppen - hvad sker der med folkebibliotekernes it
20120905   BF - it faggruppen - hvad sker der med folkebibliotekernes it20120905   BF - it faggruppen - hvad sker der med folkebibliotekernes it
20120905 BF - it faggruppen - hvad sker der med folkebibliotekernes itMichael Anker
 
20120927 Skolebibliotek og folkebibliotek i digital tango konference
20120927   Skolebibliotek og folkebibliotek i digital tango konference20120927   Skolebibliotek og folkebibliotek i digital tango konference
20120927 Skolebibliotek og folkebibliotek i digital tango konferenceMichael Anker
 
Funktionsområder i DDB CMS
Funktionsområder i DDB CMSFunktionsområder i DDB CMS
Funktionsområder i DDB CMSMichael Anker
 
20110930 information retrieval raskovalov_lecture1
20110930 information retrieval raskovalov_lecture120110930 information retrieval raskovalov_lecture1
20110930 information retrieval raskovalov_lecture1Computer Science Club
 
Danskernes Digitale Bibliotek
Danskernes Digitale BibliotekDanskernes Digitale Bibliotek
Danskernes Digitale BibliotekMichael Anker
 
20130928 automated theorem_proving_harrison
20130928 automated theorem_proving_harrison20130928 automated theorem_proving_harrison
20130928 automated theorem_proving_harrisonComputer Science Club
 
Vestidos de Fiesta
Vestidos de FiestaVestidos de Fiesta
Vestidos de Fiestalikatu
 
20130301 np algorithms_kulikov_lecture02-03_tsp
20130301 np algorithms_kulikov_lecture02-03_tsp20130301 np algorithms_kulikov_lecture02-03_tsp
20130301 np algorithms_kulikov_lecture02-03_tspComputer Science Club
 

Viewers also liked (19)

20151116 lokal formidling,forankring og samarbejde
20151116   lokal formidling,forankring og samarbejde20151116   lokal formidling,forankring og samarbejde
20151116 lokal formidling,forankring og samarbejde
 
Danskernes Digitale Bibliotek for Vejle Centralbibliotek - Biblioteksledere
Danskernes Digitale Bibliotek for Vejle Centralbibliotek - BiblioteksledereDanskernes Digitale Bibliotek for Vejle Centralbibliotek - Biblioteksledere
Danskernes Digitale Bibliotek for Vejle Centralbibliotek - Biblioteksledere
 
TING concept presentation
TING concept presentationTING concept presentation
TING concept presentation
 
20111016 inroduction to_combinatorics_on_words_frid_lecture04
20111016 inroduction to_combinatorics_on_words_frid_lecture0420111016 inroduction to_combinatorics_on_words_frid_lecture04
20111016 inroduction to_combinatorics_on_words_frid_lecture04
 
20130408 Computers In Libraries
20130408   Computers In Libraries20130408   Computers In Libraries
20130408 Computers In Libraries
 
20121004 TING : ddb
20121004   TING : ddb20121004   TING : ddb
20121004 TING : ddb
 
Frigør dine data
Frigør dine dataFrigør dine data
Frigør dine data
 
20121004 TING : interoperabilitet
20121004   TING : interoperabilitet20121004   TING : interoperabilitet
20121004 TING : interoperabilitet
 
20130822 CB informationsmøde i Roskilde
20130822   CB informationsmøde i Roskilde20130822   CB informationsmøde i Roskilde
20130822 CB informationsmøde i Roskilde
 
20130905 FBS og DDB
20130905   FBS og DDB20130905   FBS og DDB
20130905 FBS og DDB
 
20120905 BF - it faggruppen - hvad sker der med folkebibliotekernes it
20120905   BF - it faggruppen - hvad sker der med folkebibliotekernes it20120905   BF - it faggruppen - hvad sker der med folkebibliotekernes it
20120905 BF - it faggruppen - hvad sker der med folkebibliotekernes it
 
20120927 Skolebibliotek og folkebibliotek i digital tango konference
20120927   Skolebibliotek og folkebibliotek i digital tango konference20120927   Skolebibliotek og folkebibliotek i digital tango konference
20120927 Skolebibliotek og folkebibliotek i digital tango konference
 
Funktionsområder i DDB CMS
Funktionsområder i DDB CMSFunktionsområder i DDB CMS
Funktionsområder i DDB CMS
 
20110930 information retrieval raskovalov_lecture1
20110930 information retrieval raskovalov_lecture120110930 information retrieval raskovalov_lecture1
20110930 information retrieval raskovalov_lecture1
 
Danskernes Digitale Bibliotek
Danskernes Digitale BibliotekDanskernes Digitale Bibliotek
Danskernes Digitale Bibliotek
 
20130928 automated theorem_proving_harrison
20130928 automated theorem_proving_harrison20130928 automated theorem_proving_harrison
20130928 automated theorem_proving_harrison
 
Vestidos de Fiesta
Vestidos de FiestaVestidos de Fiesta
Vestidos de Fiesta
 
20130301 np algorithms_kulikov_lecture02-03_tsp
20130301 np algorithms_kulikov_lecture02-03_tsp20130301 np algorithms_kulikov_lecture02-03_tsp
20130301 np algorithms_kulikov_lecture02-03_tsp
 
20120321 csseminar ulanov_duplicate
20120321 csseminar ulanov_duplicate20120321 csseminar ulanov_duplicate
20120321 csseminar ulanov_duplicate
 

Similar to 20111202 machine learning_nikolenko_lecture03

Многочлены наилучших среднеквадратичных приближений
Многочлены наилучших среднеквадратичных приближенийМногочлены наилучших среднеквадратичных приближений
Многочлены наилучших среднеквадратичных приближенийTheoretical mechanics department
 
Лекция №1. Введение. Предмет "Теория вычислительных процессов"
Лекция №1. Введение. Предмет "Теория вычислительных процессов"Лекция №1. Введение. Предмет "Теория вычислительных процессов"
Лекция №1. Введение. Предмет "Теория вычислительных процессов"Nikolay Grebenshikov
 
20071111 efficientalgorithms kulikov_lecture06
20071111 efficientalgorithms kulikov_lecture0620071111 efficientalgorithms kulikov_lecture06
20071111 efficientalgorithms kulikov_lecture06Computer Science Club
 
20101007 proof complexity_hirsch_lecture04
20101007 proof complexity_hirsch_lecture0420101007 proof complexity_hirsch_lecture04
20101007 proof complexity_hirsch_lecture04Computer Science Club
 
пугач му по матлогике 2015
пугач му по матлогике 2015пугач му по матлогике 2015
пугач му по матлогике 2015LIPugach
 
Preobrazovaniya grafikov funkcij
Preobrazovaniya grafikov funkcijPreobrazovaniya grafikov funkcij
Preobrazovaniya grafikov funkcijDimon4
 
20081026 structuralcomplexitytheory lecture05-06
20081026 structuralcomplexitytheory lecture05-0620081026 structuralcomplexitytheory lecture05-06
20081026 structuralcomplexitytheory lecture05-06Computer Science Club
 
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"Technosphere1
 
Григорий Анатольевич Кабатянский - Конечные алгебры, геометрии и коды
Григорий Анатольевич Кабатянский - Конечные алгебры, геометрии и кодыГригорий Анатольевич Кабатянский - Конечные алгебры, геометрии и коды
Григорий Анатольевич Кабатянский - Конечные алгебры, геометрии и кодыYandex
 
Мезенцев Павел - Машинное обучение на MapReduce
Мезенцев Павел - Машинное обучение на MapReduceМезенцев Павел - Машинное обучение на MapReduce
Мезенцев Павел - Машинное обучение на MapReducePavel Mezentsev
 
Nikolay Shilov. CSEDays 2
Nikolay Shilov. CSEDays 2Nikolay Shilov. CSEDays 2
Nikolay Shilov. CSEDays 2LiloSEA
 
метод пособие
метод пособиеметод пособие
метод пособиеoquzaman
 
20111120 circuit complexity_seminar_lecture09_alexeenko
20111120 circuit complexity_seminar_lecture09_alexeenko20111120 circuit complexity_seminar_lecture09_alexeenko
20111120 circuit complexity_seminar_lecture09_alexeenkoComputer Science Club
 
Лекция 13 Теоретико-числовые алгоритмы Часть 2
Лекция 13 Теоретико-числовые алгоритмы Часть 2Лекция 13 Теоретико-числовые алгоритмы Часть 2
Лекция 13 Теоретико-числовые алгоритмы Часть 2simple_people
 
A Method of Reducing Computational Complexity in Verification of Programming ...
A Method of Reducing Computational Complexity in Verification of Programming ...A Method of Reducing Computational Complexity in Verification of Programming ...
A Method of Reducing Computational Complexity in Verification of Programming ...Iosif Itkin
 
Grafik kvadratichnoj funkcii_neravenstva_s_odnoj_p
Grafik kvadratichnoj funkcii_neravenstva_s_odnoj_pGrafik kvadratichnoj funkcii_neravenstva_s_odnoj_p
Grafik kvadratichnoj funkcii_neravenstva_s_odnoj_pИван Иванов
 

Similar to 20111202 machine learning_nikolenko_lecture03 (20)

Многочлены наилучших среднеквадратичных приближений
Многочлены наилучших среднеквадратичных приближенийМногочлены наилучших среднеквадратичных приближений
Многочлены наилучших среднеквадратичных приближений
 
Funkciya y cos_ee_svojstva_i_grafik
Funkciya y cos_ee_svojstva_i_grafikFunkciya y cos_ee_svojstva_i_grafik
Funkciya y cos_ee_svojstva_i_grafik
 
Лекция №1. Введение. Предмет "Теория вычислительных процессов"
Лекция №1. Введение. Предмет "Теория вычислительных процессов"Лекция №1. Введение. Предмет "Теория вычислительных процессов"
Лекция №1. Введение. Предмет "Теория вычислительных процессов"
 
20071111 efficientalgorithms kulikov_lecture06
20071111 efficientalgorithms kulikov_lecture0620071111 efficientalgorithms kulikov_lecture06
20071111 efficientalgorithms kulikov_lecture06
 
20101007 proof complexity_hirsch_lecture04
20101007 proof complexity_hirsch_lecture0420101007 proof complexity_hirsch_lecture04
20101007 proof complexity_hirsch_lecture04
 
пугач му по матлогике 2015
пугач му по матлогике 2015пугач му по матлогике 2015
пугач му по матлогике 2015
 
Preobrazovaniya grafikov funkcij
Preobrazovaniya grafikov funkcijPreobrazovaniya grafikov funkcij
Preobrazovaniya grafikov funkcij
 
20081026 structuralcomplexitytheory lecture05-06
20081026 structuralcomplexitytheory lecture05-0620081026 structuralcomplexitytheory lecture05-06
20081026 structuralcomplexitytheory lecture05-06
 
Основы MATLAB. Численные методы
Основы MATLAB. Численные методыОсновы MATLAB. Численные методы
Основы MATLAB. Численные методы
 
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
 
Григорий Анатольевич Кабатянский - Конечные алгебры, геометрии и коды
Григорий Анатольевич Кабатянский - Конечные алгебры, геометрии и кодыГригорий Анатольевич Кабатянский - Конечные алгебры, геометрии и коды
Григорий Анатольевич Кабатянский - Конечные алгебры, геометрии и коды
 
Мезенцев Павел - Машинное обучение на MapReduce
Мезенцев Павел - Машинное обучение на MapReduceМезенцев Павел - Машинное обучение на MapReduce
Мезенцев Павел - Машинное обучение на MapReduce
 
Nikolay Shilov. CSEDays 2
Nikolay Shilov. CSEDays 2Nikolay Shilov. CSEDays 2
Nikolay Shilov. CSEDays 2
 
10474
1047410474
10474
 
метод пособие
метод пособиеметод пособие
метод пособие
 
20111120 circuit complexity_seminar_lecture09_alexeenko
20111120 circuit complexity_seminar_lecture09_alexeenko20111120 circuit complexity_seminar_lecture09_alexeenko
20111120 circuit complexity_seminar_lecture09_alexeenko
 
а. попов, т. ишмуратова
а. попов, т. ишмуратоваа. попов, т. ишмуратова
а. попов, т. ишмуратова
 
Лекция 13 Теоретико-числовые алгоритмы Часть 2
Лекция 13 Теоретико-числовые алгоритмы Часть 2Лекция 13 Теоретико-числовые алгоритмы Часть 2
Лекция 13 Теоретико-числовые алгоритмы Часть 2
 
A Method of Reducing Computational Complexity in Verification of Programming ...
A Method of Reducing Computational Complexity in Verification of Programming ...A Method of Reducing Computational Complexity in Verification of Programming ...
A Method of Reducing Computational Complexity in Verification of Programming ...
 
Grafik kvadratichnoj funkcii_neravenstva_s_odnoj_p
Grafik kvadratichnoj funkcii_neravenstva_s_odnoj_pGrafik kvadratichnoj funkcii_neravenstva_s_odnoj_p
Grafik kvadratichnoj funkcii_neravenstva_s_odnoj_p
 

More from Computer Science Club

20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugsComputer Science Club
 
20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugsComputer Science Club
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugsComputer Science Club
 
20140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture1220140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture12Computer Science Club
 
20140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture1120140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture11Computer Science Club
 
20140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture1020140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture10Computer Science Club
 
20140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture0920140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture09Computer Science Club
 
20140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture0220140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture02Computer Science Club
 
20140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture0120140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture01Computer Science Club
 
20140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-0420140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-04Computer Science Club
 
20140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture0120140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture01Computer Science Club
 

More from Computer Science Club (20)

20141223 kuznetsov distributed
20141223 kuznetsov distributed20141223 kuznetsov distributed
20141223 kuznetsov distributed
 
Computer Vision
Computer VisionComputer Vision
Computer Vision
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs
 
20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs
 
20140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture1220140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture12
 
20140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture1120140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture11
 
20140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture1020140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture10
 
20140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture0920140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture09
 
20140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture0220140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture02
 
20140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture0120140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture01
 
20140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-0420140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-04
 
20140223-SuffixTrees-lecture01-03
20140223-SuffixTrees-lecture01-0320140223-SuffixTrees-lecture01-03
20140223-SuffixTrees-lecture01-03
 
20140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture0120140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture01
 
20131106 h10 lecture6_matiyasevich
20131106 h10 lecture6_matiyasevich20131106 h10 lecture6_matiyasevich
20131106 h10 lecture6_matiyasevich
 
20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich
 
20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich
 
20131013 h10 lecture4_matiyasevich
20131013 h10 lecture4_matiyasevich20131013 h10 lecture4_matiyasevich
20131013 h10 lecture4_matiyasevich
 
20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich
 
20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich
 

20111202 machine learning_nikolenko_lecture03

  • 1. Алгоритм передачи сообщений Приближённый вывод Графические модели и байесовский вывод на них Сергей Николенко Computer Science Club, Екатеринбург, 2011 Сергей Николенко Графические модели и байесовский вывод на них
  • 2. Алгоритм передачи сообщений Графические модели Приближённый вывод Sum–product и max–sum Outline 1 Алгоритм передачи сообщений Графические модели Sum–product и max–sum 2 Приближённый вывод Сложная структура графа Сложные факторы Сергей Николенко Графические модели и байесовский вывод на них
  • 3. Алгоритм передачи сообщений Графические модели Приближённый вывод Sum–product и max–sum В чём же проблема В предыдущих лекциях мы рассмотрели задачу байесовского вывода, ввели понятие сопряжённого априорного распределения, поняли, что наша основная задача – найти апостериорное распределение. Но если всё так просто – взяли интеграл, посчитали, всё получилось – о чём же здесь целая наука? Проблема заключается в том, что распределения, которые нас интересуют, обычно слишком сложные (слишком много переменных, сложные связи). Но, с другой стороны, в них есть дополнительная структура, которую можно использовать, структура в виде независимостей и условных независимостей некоторых переменных. Сергей Николенко Графические модели и байесовский вывод на них
  • 4. Алгоритм передачи сообщений Графические модели Приближённый вывод Sum–product и max–sum Графические модели с направленными графами Пример: рассмотрим распределение трёх переменных и запишем его по формуле полной вероятности: p(x, y , z) = p(x | y , z)p(y | z)p(z). Теперь нарисуем граф, в котором стрелки указывают, какие условные вероятности заданы. Пока граф полносвязный, это нам ничего не даёт – любое распределение p(x1 , . . . , xn ) так можно переписать. Но если некоторых связей нет, это даёт нам важную информацию и упрощает жизнь. Сергей Николенко Графические модели и байесовский вывод на них
  • 5. Алгоритм передачи сообщений Графические модели Приближённый вывод Sum–product и max–sum Графические модели с направленными графами Рассмотрим направленный ациклический граф на вершинах x1 , . . . , xk и зададим в каждой вершине распределения p(xi | pa(xi )). Тогда будем говорить, что граф с этими локальными распределениями является графической моделью (байесовской сетью доверия) для совместного распределения вероятностей k p(x1 , . . . , xk ) = p(xi | pa(xi )). i=1 Другими словами, если мы можем разложить большое совместное распределение в произведение локальных распределений, каждое из которых связывает мало переменных, это хорошо. :) Сергей Николенко Графические модели и байесовский вывод на них
  • 6. Алгоритм передачи сообщений Графические модели Приближённый вывод Sum–product и max–sum Графические модели с направленными графами Пример: обучение параметров распределения по нескольким экспериментам (плашки, можно нарисовать параметры явно): n p(x1 , . . . , xn , θ) = p(θ) p(xi | θ). i=1 Что можно сказать о (не)зависимости случайных величин xi и xj ? Задача вывода на графической модели: в некоторой части вершин значения наблюдаются, надо пересчитать распределения в других вершинах (подсчитать условные распределения). Например, из этой модели получатся и задача обучения параметров, и задача последующего предсказания. Сергей Николенко Графические модели и байесовский вывод на них
  • 7. Алгоритм передачи сообщений Графические модели Приближённый вывод 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 ) = p(x)p(y |x)p(z|y ) = p(x | y )p(z | y ), p(y ,z) p(y ) получили условную независимость. Сергей Николенко Графические модели и байесовский вывод на них
  • 8. Алгоритм передачи сообщений Графические модели Приближённый вывод 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 ) = p(x)p(y |x)p(z|x) = p(x | y )p(z | y ), p(y ,z) p(y ) получили условную независимость. Сергей Николенко Графические модели и байесовский вывод на них
  • 9. Алгоритм передачи сообщений Графические модели Приближённый вывод 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(x)p(y )p(z|x,y ) , и условной p(z) p(z) независимости нету. Обобщение: если наблюдается хотя бы один из потомков z, уже может не быть независимости между x и y . Сергей Николенко Графические модели и байесовский вывод на них
  • 10. Алгоритм передачи сообщений Графические модели Приближённый вывод Sum–product и max–sum Графические модели с направленными графами Можно сформулировать, как структура графа соотносится с условной независимостью: в графе, где вершины из множества Z получили означивания (evidence), две ещё не означенные вершины x и y условно независимы при условии множества означенных вершин Z , если любой (ненаправленный) путь между x и y : либо проходит через означенную вершину z ∈ Z с последовательной или расходящейся связью; либо проходит через вершину со сходящейся связью, в которой ни она, ни её потомки не получили означиваний. Сергей Николенко Графические модели и байесовский вывод на них
  • 11. Алгоритм передачи сообщений Графические модели Приближённый вывод Sum–product и max–sum Графические модели с направленными графами Можно сказать, что граф задаёт некоторое семейство распределений – не все распределения на вершинах графа будут соответствовать тем ограничениям по условной независимости, которые накладывает структура графа. Теорема (без доказательства): это семейство распределений в точности совпадает с семейством тех распределений, которые можно разложить в произведение k p(x1 , . . . , xk ) = p(xi | pa(xi )). i=1 Сергей Николенко Графические модели и байесовский вывод на них
  • 12. Алгоритм передачи сообщений Графические модели Приближённый вывод Sum–product и max–sum Пример байесовской сети Сергей Николенко Графические модели и байесовский вывод на них
  • 13. Алгоритм передачи сообщений Графические модели Приближённый вывод Sum–product и max–sum Markov blanket Интересный вопрос: какие вершины нужно означить, чтобы наверняка отрезать одну вершину (Markov blanket)? Иначе говоря, для какого минимального множества вершин X p(xi | xj=i ) = p(xi | X )? Сергей Николенко Графические модели и байесовский вывод на них
  • 14. Алгоритм передачи сообщений Графические модели Приближённый вывод Sum–product и max–sum Markov blanket Сергей Николенко Графические модели и байесовский вывод на них
  • 15. Алгоритм передачи сообщений Графические модели Приближённый вывод Sum–product и max–sum Графические модели с ненаправленными графами Можно сделать и так, чтобы условие независимости было (более) локальным. Для этого нужно задавать модели ненаправленными графами. В них условие совсем естественное: множество вершин X условно независимо от множества вершин Y при условии множества вершин Z , если любой путь от X к Y проходит через Z . В частности, очевидно, p(xi , xj | xk=i,j ) = p(xi | xk=i,j )p(xj | xk=i,j ) тогда и только тогда, когда xi и xj не соединены ребром. Такие модели называются марковскими сетями (Markov random fields). Сергей Николенко Графические модели и байесовский вывод на них
  • 16. Алгоритм передачи сообщений Графические модели Приближённый вывод Sum–product и max–sum Условная независимость в ненаправленных моделях Сергей Николенко Графические модели и байесовский вывод на них
  • 17. Алгоритм передачи сообщений Графические модели Приближённый вывод Sum–product и max–sum Графические модели с ненаправленными графами Поэтому в ненаправленных моделях локальные распределения соответствуют кликам в графе, и факторизация получается в виде 1 p(x1 , . . . , xk ) = ψC (xC ), Z где C – максимальные клики, ψC – неотрицательные функции (потенциалы), а Z – нормировочная константа (partition function). Поскольку ψC ≥ 0, их обычно представляют как экспоненты: ψC (xC ) = exp (−EC (xC )) , EC – функции энергии, они суммируются в полную энергию системы (это всё похоже на статистическую физику, отсюда и терминология). Сергей Николенко Графические модели и байесовский вывод на них
  • 18. Алгоритм передачи сообщений Графические модели Приближённый вывод Sum–product и max–sum Графические модели с ненаправленными графами Интересный факт: назовём идеальной картой (perfect map) распределения D графическую модель G , если все условные независимости, присутствующие в D, отображены в G , и наоборот (ничего лишнего). Тогда идеальные карты в виде направленных моделей существуют не у всех распределений, в виде ненаправленных тоже не у всех, и эти множества существенно различаются (бывают распределения, которые нельзя идеально выразить направленной моделью, но можно ненаправленной, и наоборот). Сергей Николенко Графические модели и байесовский вывод на них
  • 19. Алгоритм передачи сообщений Графические модели Приближённый вывод Sum–product и max–sum Фактор-графы Важная для вывода модификация – фактор-граф (можно построить и по направленной модели, и по ненаправленной). Фактор-граф – двудольный граф функций и переменных. Функция, соответствующая графу, – произведение всех входящих в него функций (т.е. то самое разложение и есть). Пример: p(x1 , x2 , x3 ) = f1 (x1 )f2 (x2 )f3 (x3 )f4 (x1 , x2 )f5 (x2 , x3 ). Сергей Николенко Графические модели и байесовский вывод на них
  • 20. Алгоритм передачи сообщений Графические модели Приближённый вывод Sum–product и max–sum Три представления Сергей Николенко Графические модели и байесовский вывод на них
  • 21. Алгоритм передачи сообщений Графические модели Приближённый вывод Sum–product и max–sum Функция в общем виде Чтобы поставить задачу в общем виде, рассмотрим функцию m ∗ p (X ) = fj (Xj ), j=1 где X = {xi }n , Xj ⊆ X . i=1 Т.е. мы рассматриваем функцию, которая раскладывается в произведение нескольких других функций. Сергей Николенко Графические модели и байесовский вывод на них
  • 22. Алгоритм передачи сообщений Графические модели Приближённый вывод Sum–product и max–sum Задачи m Задача нормализации: найти Z = X j=1 fj (Xj ). Задача маргинализации: найти pi∗ (xi ) = p ∗ (X ). k=i Также может понадобиться, например, pi1 i2 , но реже. Поиск гипотезы максимального правдоподобия: x∗ = arg maxX p(X ). Сергей Николенко Графические модели и байесовский вывод на них
  • 23. Алгоритм передачи сообщений Графические модели Приближённый вывод Sum–product и max–sum Задачи Все эти задачи NP-трудные. То есть, если мир не рухнет, сложность их решения в худшем случае возрастает экспоненциально. Но можно решить некоторые частные случаи. Сергей Николенко Графические модели и байесовский вывод на них
  • 24. Алгоритм передачи сообщений Графические модели Приближённый вывод Sum–product и max–sum Пример Давайте начнём с графа в виде (ненаправленной) цепи: 1 p(x1 , . . . , xn ) = ψ1,2 (x1 , x2 ) . . . ψn−1,n (xn−1 , xn ). Z Мы хотим найти p(xk ) = ... ... p(x1 , . . . , xn ). x1 xk−1 xk+1 xn Сергей Николенко Графические модели и байесовский вывод на них
  • 25. Алгоритм передачи сообщений Графические модели Приближённый вывод Sum–product и max–sum Пример Очевидно, тут можно много чего упростить; например, справа налево: p(x1 , . . . , xn ) = xn 1 = ψ1,2 (x1 , x2 ) . . . ψn−2,n−1 (xn−2 , xn−1 ) ψn−1,n (xn−1 , xn ). Z xn Эту сумму можно вычислить отдельно и продолжать в том же духе справа налево, потом аналогично слева направо. Сергей Николенко Графические модели и байесовский вывод на них
  • 26. Алгоритм передачи сообщений Графические модели Приближённый вывод Sum–product и max–sum Пример В итоге процесс сойдётся на узле xk , куда придут два сообщения : слева µα (xk ) = ψk−1,k (xk−1 , xk ) . . . ψ2,3 (x2 , x3 ) ψ1,2 (x1 , x2 ) . . . , xk−1 x2 x1 справа µβ (xk ) = ψk,k+1 (xk , xk+1 ) . . . ψn−1,n (xn−1 , xn ) . . . . xk+1 xn Каждую частичную сумму можно рассматривать как сообщение от узла к своему соседу, причём это сообщение – функция от соседа. Сергей Николенко Графические модели и байесовский вывод на них
  • 27. Алгоритм передачи сообщений Графические модели Приближённый вывод Sum–product и max–sum Алгоритм передачи сообщений Чтобы обобщить, удобно рассмотреть опять фактор-граф. Предположим, что фактор-граф – дерево (если не дерево, так просто не сработает). Алгоритм передачи сообщений решает задачу маргинализации для функции вида p(x1 , . . . , xn ) = s fs (Xs ), заданной в виде фактор-графа. Передаём сообщения по направлению к нужному узлу от переменных к функциям и наоборот. Сергей Николенко Графические модели и байесовский вывод на них
  • 28. Алгоритм передачи сообщений Графические модели Приближённый вывод Sum–product и max–sum Передача сообщений Сергей Николенко Графические модели и байесовский вывод на них
  • 29. Алгоритм передачи сообщений Графические модели Приближённый вывод Sum–product и max–sum Алгоритм передачи сообщений Чтобы найти p(xk ), запишем p(x1 , . . . , xn ) = s∈ne(xk ) Fs (xk , Xs ), где Xs – переменные из поддерева с корнем в fs . Тогда   p(xk ) = p(x1 , . . . , xn ) =  Fs (xk , Xs ) = xi =k s∈ne(xk ) Xs = µfs →xk (xk ), s∈ne(xk ) где µfs →xk (xk ) – сообщения от соседних функций к переменной xk . Сергей Николенко Графические модели и байесовский вывод на них
  • 30. Алгоритм передачи сообщений Графические модели Приближённый вывод Sum–product и max–sum Алгоритм передачи сообщений Чтобы найти µfs →xk (xk ), заметим, что Fs (xk , Xs ) тоже можно разложить по соответствующему подграфу: Fs (xk , Xs ) = fs (xk , Ys ) Gy (y , Xs,y ), y ∈Ys где Ys – переменные, непосредственно связанные с fs (кроме xk ), Xs,y – соответствующие поддеревья. Итого получаем   µfs →xk (xk ) = fs (xk , Ys )  Gy (y , Xs,y ) = Ys y ∈Ys Xs,y = fs (xk , Ys ) µy →fs (y ). Ys y ∈Ys Сергей Николенко Графические модели и байесовский вывод на них
  • 31. Алгоритм передачи сообщений Графические модели Приближённый вывод Sum–product и max–sum Алгоритм передачи сообщений Можно аналогично подсчитать, что µy →fs (y ) = f ∈ne(y )fs µf →y (y ). Сергей Николенко Графические модели и байесовский вывод на них
  • 32. Алгоритм передачи сообщений Графические модели Приближённый вывод Sum–product и max–sum Алгоритм передачи сообщений Итак, получился простой и понятный алгоритм: как только узел получил сообщения от всех соседей, кроме одного, он сам начинает передавать сообщение в этого соседа; сообщение по ребру между функцией и переменной является функцией от этой переменной; узел-переменная x передаёт сообщение µx→f (x) = µg →x (x); g ∈ne(x)f узел-функция f (x, Y ) передаёт сообщение µf →x (x) = f (x, Y ) µy →f (y ); y ∈Y y ∈Y начальные сообщения в листьях µx→f (x) = 1, µf →x (x) = f (x). Сергей Николенко Графические модели и байесовский вывод на них
  • 33. Алгоритм передачи сообщений Графические модели Приближённый вывод Sum–product и max–sum Алгоритм передачи сообщений Когда сообщения придут из всех соседей в какую-то переменную xk , можно будет подсчитать p(xk ) = µf →xk (xk ). f ∈ne(xk ) Когда сообщения придут из всех соседей в какой-то фактор fs (Xs ), можно будет подсчитать совместное распределение p(Xs ) = fs (Xs ) µy →fs (y ). y ∈ne(fs ) За два прохода (по каждому ребру туда и обратно) можно будет подсчитать маргиналы во всех узлах. Сергей Николенко Графические модели и байесовский вывод на них
  • 34. Алгоритм передачи сообщений Графические модели Приближённый вывод Sum–product и max–sum Алгоритм передачи сообщений Это называется алгоритм sum-product, потому что сообщение вычисляется как µf →x (x) = f (x, Y ) µy →f (y ). y ∈Y y ∈Y Задача максимизации arg maxx p(x1 , . . . , xn ) решается так же, но алгоритмом max-sum: сумма заменяется на максимум, а произведение на сумму. Сергей Николенко Графические модели и байесовский вывод на них
  • 35. Алгоритм передачи сообщений Графические модели Приближённый вывод Sum–product и max–sum Передача сообщений Сергей Николенко Графические модели и байесовский вывод на них
  • 36. Алгоритм передачи сообщений Графические модели Приближённый вывод Sum–product и max–sum Так что же делать с байесовской сетью? Для модели не в виде фактор-графа надо просто представить её в виде фактор-графа тем или иным способом. Для байесовской сети это значит, что её сначала нужно представить в виде марковской сети, а потом добавить факторы в явном виде. Сергей Николенко Графические модели и байесовский вывод на них
  • 37. Алгоритм передачи сообщений Графические модели Приближённый вывод Sum–product и max–sum Так что же делать с байесовской сетью? Сергей Николенко Графические модели и байесовский вывод на них
  • 38. Алгоритм передачи сообщений Графические модели Приближённый вывод Sum–product и max–sum Так что же делать с байесовской сетью? Сергей Николенко Графические модели и байесовский вывод на них
  • 39. Алгоритм передачи сообщений Графические модели Приближённый вывод Sum–product и max–sum Так что же делать с байесовской сетью? Сергей Николенко Графические модели и байесовский вывод на них
  • 40. Алгоритм передачи сообщений Сложная структура графа Приближённый вывод Сложные факторы Outline 1 Алгоритм передачи сообщений Графические модели Sum–product и max–sum 2 Приближённый вывод Сложная структура графа Сложные факторы Сергей Николенко Графические модели и байесовский вывод на них
  • 41. Алгоритм передачи сообщений Сложная структура графа Приближённый вывод Сложные факторы Приближённый вывод Когда граф – дерево, и в каждом узле всё считается явно и аналитически, можно посчитать быстро и точно. Но что делать, когда зубная щётка недоступна? Могут быть две проблемы: 1 сложная структура графа, с циклами; 2 сложные факторы – результат маргинализации в отдельном узле неудобный. Сергей Николенко Графические модели и байесовский вывод на них
  • 42. Алгоритм передачи сообщений Сложная структура графа Приближённый вывод Сложные факторы Суть Sum–product работает корректно, только если граф дерево (ну, разве что скрестить пальцы и помолиться...). Что делать, когда граф содержит циклы? Нужно использовать деревья сочленений. Сергей Николенко Графические модели и байесовский вывод на них
  • 43. Алгоритм передачи сообщений Сложная структура графа Приближённый вывод Сложные факторы Деревья сочленений неформально Если цикл не сдаётся, его уничтожают, то есть заменяют весь цикл на одну вершину. Получается дерево, в котором уже можно работать обычным sum–product’ом; но при этом, конечно, замена нескольких вершин одной приводит к экспоненциальному раздуванию соответствующего фактора (множество значений соответствующей переменной должно содержать все комбинации значений исходных переменных). Сергей Николенко Графические модели и байесовский вывод на них
  • 44. Алгоритм передачи сообщений Сложная структура графа Приближённый вывод Сложные факторы Другие методы Если цикл всё-таки большой, то есть хороший общий метод, который применяют, когда нельзя применять sum–product. Метод заключается в том, чтобы применять sum–product. :) Он работает довольно часто даже тогда, когда в принципе работать не обязан (когда есть циклы). Сергей Николенко Графические модели и байесовский вывод на них
  • 45. Алгоритм передачи сообщений Сложная структура графа Приближённый вывод Сложные факторы Передача сообщений с циклами Сергей Николенко Графические модели и байесовский вывод на них
  • 46. Алгоритм передачи сообщений Сложная структура графа Приближённый вывод Сложные факторы Вариационные методы Если факторы простые, а структура сложная, можно приближать сложное распределение более простой формой, разрывая связи в графе: вариационные приближения (из матфизики). Т.е. надо будет выбрать распределение из некоторого более простого семейства, которое лучше всего приближает сложное распределение. Похожесть можно определить по расстоянию Кульбака–Лейблера p(x) d (p, q) = p(x) ln dx. q(x) Сергей Николенко Графические модели и байесовский вывод на них
  • 47. Алгоритм передачи сообщений Сложная структура графа Приближённый вывод Сложные факторы Вариационные методы Например: давайте искусственно разорвём связи, оставив только рёбра внутри подмножеств вершин Xi . Иначе говоря, будем предполагать, что любой фактор q(Z ) представляется в виде q(Z ) = qi (Zi ), где Zi = Z ∪ Xi . Затем оптимизируем параметры, минимизируя расстояние между исходным распределением и таким факторизованным; это соответствует методу самосогласованного поля (mean field theory) в физике. Более подробно мы рассматривать вариационные методы сейчас не будем. Сергей Николенко Графические модели и байесовский вывод на них
  • 48. Алгоритм передачи сообщений Сложная структура графа Приближённый вывод Сложные факторы Expectation propagation Если структура простая, но сложные факторы (результат не представляется в виде распределения нужной формы), можно его приближать простыми распределениями. Если в нашем факторизованном распределении 1 p(θ | D) = fi (θ) p(D) i слишком сложные факторы fi , мы хотим их заменить на какие-нибудь простые (из экспоненциального семейства, например, гауссианы): 1 q(θ | D) = ^ fi (θ). Z i И тоже минимизировать расстояние Кульбака–Лейблера между p и q. Сергей Николенко Графические модели и байесовский вывод на них
  • 49. Алгоритм передачи сообщений Сложная структура графа Приближённый вывод Сложные факторы Expectation propagation Для одного фактора всё это очень просто было бы – посчитать среднее и дисперсию (moment matching). ^ Для многих факторов надо приближать все fi одновременно. Можно доказать (мы не будем), что это можно делать последовательно, приближая фактор за фактором и итерируя, пока Таким образом, алгоритм Expectation Propagation на самом деле очень простой: 1 запустить алгоритм передачи сообщений, но на каждом шаге вместо сообщения µfs →xk (xk ) считать его приближение µfs →xk (xk ) из какого-нибудь простого ^ семейства; 2 повторять передачу сообщений, пока не сойдётся. Сергей Николенко Графические модели и байесовский вывод на них
  • 50. Алгоритм передачи сообщений Сложная структура графа Приближённый вывод Сложные факторы Thank you! Спасибо за внимание! Сергей Николенко Графические модели и байесовский вывод на них