Вы находитесь на странице: 1из 43

Лекция 3.

Скрытые
марковские
модели.

Ветров

Ликбез

Основы Лекция 3. Скрытые марковские модели.


применения
СММ

ЕМ-алгоритм

Д. П. Ветров1

1
МГУ, ВМиК, каф. ММП

Курс «Графические модели», 2012г.


План

Лекция 3.
Скрытые
марковские
модели.

Ветров 1 Ликбез
Ликбез
Метод динамического программирования
Основы
применения
СММ
2 Основы применения СММ
ЕМ-алгоритм
Определение СММ
Обучение СММ с учителем
Алгоритм Витерби

3 ЕМ-алгоритм
Графические модели с неполными данными
Разделение гауссовской смеси
План

Лекция 3.
Скрытые
марковские
модели.

Ветров 1 Ликбез
Ликбез
Метод динамического программирования
Метод
динамического
программирова-
ния
2 Основы применения СММ
Основы
применения Определение СММ
СММ
Обучение СММ с учителем
ЕМ-алгоритм
Алгоритм Витерби

3 ЕМ-алгоритм
Графические модели с неполными данными
Разделение гауссовской смеси
Задача объезда стран

Лекция 3.
Скрытые
марковские x11 x12 x1k
модели.

Ветров

x21 x22 x2k


Ликбез
Метод
динамического
программирова-
ния xs xf
Основы
применения
СММ

ЕМ-алгоритм

xn1 xn2 xnk

Страна 1 Страна 2 Страна k

• Рассмотрим такую задачу: необходимо в определенной


последовательности объехать k стран, в каждой из которых
провести одну ночь в отеле, потратив минимум денег
• Если в каждой стране имеется n городов, то задача сводится к
перебору nk вариантов
Функция Беллмана

Лекция 3.
Скрытые x11 x1k
x12
марковские
модели.

Ветров x21 x22 x2k

Ликбез xf
xs
Метод
динамического
программирова-
ния
Основы
применения
СММ xn1 xn2 xnk
ЕМ-алгоритм
Страна 1 Страна 2 Страна k

• Пусть цена билета между городами xij и xi+1,l задается функцией


f (xij , xi+1,l ), а цена ночлега в городе — функцией h(xij )
• Подсчитаем функцию Беллмана V(x), определяемую
рекуррентно: V(xs ) = 0
 
V(xi+1,l ) = min V(xij ) + f (xij , xi+1,l ) + h(xi+1,l )
j
• Физический смысл функции Беллмана это наименьшая сумма
денег, которую нужно потратить, чтобы добраться из города xs в
город xi+1,l (легко показать по индукции)
Динамическое программирование

Лекция 3.
Скрытые
марковские x11 x12 x1k
модели.

Ветров x21 x22 x2k

Ликбез
Метод xs xf
динамического
программирова-
ния
Основы
применения
СММ
xn1 xn2 xnk
ЕМ-алгоритм
Страна 1 Страна 2 Страна k

• Определим также функцию S(x), возвращающую город, откуда


мы приехали в город x: S(xs ) = ∅
 
S(xi+1,l ) = arg min V(xij ) + f (xij , xi+1,l ) + h(xi+1,l )
j

• Тогда оптимальный путь (x∗1 , x∗2 , . . . , x∗k ) может быть получен


путем рекуррентного вызова функции S(x): x∗n = S(xf )
x∗m = S(x∗m+1 )
Особенности динамического
программирования
Лекция 3. Метод динамического программирования эффективен, если
Скрытые
марковские имеет место
модели.
• Перекрывающиеся подзадачи, которые необходимо
Ветров
решить, чтобы решить исходную задачу
Ликбез
• Оптимальная подструктура (принцип кусочной
Метод
динамического
программирова-
оптимальности)
ния
• Возможность запомнить решения подзадач
Основы
применения
СММ

ЕМ-алгоритм
A D
C B

Если известно, что оптимальный путь проходит через


точки C и D и известен оптимальный путь между ними, то
этот путь станет частью оптимального пути между A и B
План

Лекция 3.
Скрытые
марковские
модели.

Ветров 1 Ликбез
Ликбез
Метод динамического программирования
Основы
применения
СММ
2 Основы применения СММ
Определение
СММ
Обучение СММ
Определение СММ
с учителем
Алгоритм
Обучение СММ с учителем
Витерби Алгоритм Витерби
ЕМ-алгоритм

3 ЕМ-алгоритм
Графические модели с неполными данными
Разделение гауссовской смеси
Скрытая Марковская модель (СММ)

Лекция 3.
Скрытые
марковские
модели.

Ветров

Ликбез

Основы
применения Скрытая Марковская модель [первого порядка] — это
СММ
Определение вероятностная модель последовательности, которая
СММ
Обучение СММ
с учителем
• Состоит из набора наблюдаемых переменных
Алгоритм
Витерби
X = {x1 , . . . , xN }, xn ∈ Rd и латентных (скрытых)
PK
ЕМ-алгоритм переменных T = {t1 , . . . , tN }, tn ∈ {0, 1}K , j=1 tnj = 1
• Латентные переменные T являются бинарными и
кодируют K состояний, поэтому их иногда называют
переменными состояния
• Значение наблюдаемого вектора xn , взятого в момент
времени n, зависит только от скрытого состояния tn ,
которое в свою очередь зависит только от скрытого
состояния в предыдущий момент времени tn−1
Примеры использования СММ

Лекция 3.
Скрытые
марковские
модели.

Ветров

Ликбез

Основы
применения
СММ
Определение
СММ Что можно анализировать с помощью СММ
Обучение СММ
с учителем • Речь
Алгоритм
Витерби
• Видео
ЕМ-алгоритм
• Поведение
• Фондовые рынки
• Естественный язык
• ДНК
• и др.
Скрытая Марковская модель (СММ)

Лекция 3.
Скрытые
марковские
модели.

Ветров

Ликбез

Основы
применения
СММ
Определение
СММ • Скрытая марковская модель является частным
Обучение СММ
с учителем случаем байесовской сети (графической модели,
Алгоритм
Витерби задаваемой ориентированным графом)
ЕМ-алгоритм
• Граф, задающий СММ, является ациклическим,
поэтому для СММ существуют эффективные
алгоритмы вывода
• Для полного задания модели достаточно задать все
условные распределения вида p(xn |tn ), p(tn |tn−1 ) и
априорное распределение p(t1 )
Спецификация вероятностной модели

Лекция 3. Пусть имеется K возможных состояний. Закодируем


Скрытые
марковские состояние в каждый момент времени n бинарным вектором
модели.
tn = (tn1 , . . . , tnK ), где
Ветров

1, если в момент n модель находится в состоянии j
Ликбез tnj =
Основы
0, иначе
применения
СММ
Определение
Тогда распределение p(tn |tn−1 ) можно задать матрицей
СММ
Обучение СММ
перехода A размера K × K, где Aij = p(tnj = 1|tn−1,i = 1),
P
j Aij = 1, т.е.
с учителем
Алгоритм
Витерби
ЕМ-алгоритм K Y
K
t t
Y
p(tn |tn−1 ) = Aijn−1,i nj
i=1 j=1

Пусть в первый момент времени p(t1j = 1) = πj . Тогда


K
t
Y
p(t1 ) = πj 1j
j=1
Замечание

Лекция 3. • Хотя матрица A может быть произвольного вида с учетом


Скрытые
марковские ограничений на неотрицательность и сумму элементов строки, с
модели. точки зрения СММ представляет интерес диагональное
Ветров преобладание матрицы перехода
• В этом случае можно ожидать, что процесс находится в
Ликбез некотором состоянии на протяжении какого-то отрезка времени
Основы
применения
• Появляется простая физическая интерпретация СММ: имеется
СММ процесс, который иногда (относительно редко) скачкообразно
Определение
СММ
меняет свои характеристики
Обучение СММ
с учителем
8
Алгоритм
Витерби
6
ЕМ-алгоритм

−2

−4

−6
0 100 200 300 400 500 600
Спецификация вероятностной модели

Лекция 3.
Скрытые
марковские
модели.

Ветров
• Условное распределение p(xn |tn ) определяется текущим
Ликбез состоянием tn
Основы
применения
• Обычно предполагают, что оно нам известно с
СММ точностью до параметров φk , k ∈ {1, . . . , K}, т.е. если
Определение
СММ tn1 = 1, то xn взят из распределения p(xn |φ1 ), если
Обучение СММ
с учителем tn2 = 1, то xn взят из распределения p(xn |φ2 ), и т.д.
Алгоритм
Витерби
• Таким образом
ЕМ-алгоритм

K
Y
p(xn |tn ) = (p(xn |φk ))tnk
j=1
Задачи в СММ

Лекция 3. Обозначим полный набор параметров Θ = {π, A, φ}. Тогда


Скрытые
марковские основные задачи, возникающие в СММ, можно сформулировать
модели.
следующим образом:
Ветров
• Обучение с учителем. Известна некоторая
Ликбез последовательность X, для которой заданы T. Задача
Основы состоит в оценке по обучающей выборке набора параметров
применения
СММ
Θ.
Определение
СММ
• Сегментация. Известна некоторая последовательность X и
Обучение СММ
с учителем
набор параметров Θ. Задача состоит в получении наиболее
Алгоритм правдоподобной последовательности состояний T как
Витерби
ЕМ-алгоритм
arg maxT p(T|X, Θ) (алгоритм Витерби).
• Обучение без учителя. Известна некоторая
последовательность X и число состояний K. Задача состоит
в оценке параметров Θ (ЕМ-алгоритм).
• Нахождение маргинального распределения p(tn |X, Θ)
компоненты tn по заданым X и Θ
• Прогнозирование. Известна некоторая последовательность
X. Задача состоит в оценке наблюдаемого вектора в
следующий момент времени N + 1 — p(xN+1 |X).
План

Лекция 3.
Скрытые
марковские
модели.

Ветров 1 Ликбез
Ликбез
Метод динамического программирования
Основы
применения
СММ
2 Основы применения СММ
Определение
СММ
Обучение СММ
Определение СММ
с учителем
Алгоритм
Обучение СММ с учителем
Витерби Алгоритм Витерби
ЕМ-алгоритм

3 ЕМ-алгоритм
Графические модели с неполными данными
Разделение гауссовской смеси
Совместное распределение переменных СММ

Лекция 3.
Скрытые
марковские
модели. • Предположим, нам задана обучающая выборка (X, T),
Ветров представляющая собой одну или несколько
последовательностей, в которых известны значения
Ликбез
скрытых компонент
Основы
применения
СММ
• Требуется оценить вектор параметров Θ
Определение
СММ • По построению байесовской сети совместное
Обучение СММ
с учителем распределение переменных задается формулой
Алгоритм
Витерби
ЕМ-алгоритм N
Y N
Y
p(X, T|Θ) = pπ (t1 ) pφ (xn |tn ) pA (tn |tn−1 ) =
n=1 n=2
  !
K N Y
K Y
K N Y
K
t t t
Y Y Y
= πj 1j  Aijn−1,i nj  (p(xn |φk ))tnk
j=1 n=2 i=1 j=1 n=1 k=1
Метод максимального правдоподобия

Лекция 3.
Скрытые
марковские
модели.
• Для оценки параметров Θ воспользуемся методом
Ветров
максимального правдоподобия

Ликбез ΘML = arg max p(X, T|Θ) = arg max log p(X, T|Θ)
Основы
применения
СММ • Для удобства перейдем к логарифму функции
Определение
СММ правдоподобия (положение максимума, очевидно, не
Обучение СММ
с учителем изменится)
Алгоритм
Витерби
 
ЕМ-алгоритм K
X
log p(X, T|Θ) =  t1j log πj  +
j=1
  !
N X
X K X
K N X
X K
+ tn−1,i tnj log Aij + tnk log p(xn |φk )
n=2 i=1 j=1 n=1 k=1
Функция Лагранжа

Лекция 3.
Скрытые
марковские
модели.

Ветров
• Параметры, входящие в Θ, не могут принимать произвольные
Ликбез значения, следовательно необходима оптимизация при
Основы
ограничениях
применения
СММ K
X K
X
Определение πj = 1, Aij = 1, ∀i = 1, K
СММ
Обучение СММ j=1 j=1
с учителем
Алгоритм
Витерби
• Воспользуемся правилом множителей Лагранжа и выпишем
ЕМ-алгоритм
лагранжиан
   
K
X K
X K
X
L(Θ, λ, µ) = log p(X, T|Θ)+λ  πj − 1+ µi  Aij − 1 → extr
j=1 i=1 j=1
Оценка π

Лекция 3.
Скрытые
марковские
модели.  
K
Ветров X
log p(X, T|Θ) =  t1j log πj  +
Ликбез j=1
 
N X K
K X N X
K
!
Основы X X
применения
СММ + tn−1,i tnj log Aij  + tnk log p(xn |φk )
Определение n=2 i=1 j=1 n=1 k=1
СММ    
Обучение СММ K K K
с учителем X X X
Алгоритм L(Θ, λ, µ) = log p(X, T|Θ) + λ  πj − 1 + µi  Aij − 1 → extr
Витерби
j=1 i=1 j=1
ЕМ-алгоритм
∂L(Θ, λ, µ) t1j t1j
= + λ = 0 ⇒ πj = −
∂πj πj λ
K
X K
X
πj = 1 ⇒ λ = − t1j = −1
j=1 j=1

πj = t1j
Оценка матрицы A

Лекция 3.
Скрытые
марковские  
модели. K
X
Ветров log p(X, T|Θ) =  t1j log πj  +
j=1
Ликбез
  !
N X
X K X
K N X
X K
Основы
применения
+ tn−1,i tnj log Aij  + tnk log p(xn |φk )
СММ n=2 i=1 j=1 n=1 k=1
Определение    
СММ K
X K
X XK
Обучение СММ
с учителем L(Θ, λ, µ) = log p(X, T|Θ) + λ  πj − 1 + µi  Aij − 1 → extr
Алгоритм j=1 i=1 j=1
Витерби
ЕМ-алгоритм N N
∂L(Θ, λ, µ) X tn−1,i tnj X tn−1,i t1j
= + µi = 0 ⇒ Aij = −
∂Aij n=2
A ij n=2
µi
K
X N X
X K N
X
Aij = 1 ⇒ µi = − tn−1,i tnj = − tn−1,i
j=1 n=2 j=1 n=2
PN
tn−1,i tnj
Aij = Pn=2
N
n=2 tn−1,i
Оценка условной плотности p(x|t)

Лекция 3.
Скрытые  
марковские K
модели.
X
log p(X, T|Θ) =  t1j log πj  +
Ветров j=1
 
N X K
K X K
N X
!
Ликбез X X
Основы
+ tn−1,i tnj log Aij  + tnk log p(xn |φk )
применения n=2 i=1 j=1 n=1 k=1
СММ    
Определение K K K
СММ
X X X
Обучение СММ L(Θ, λ, µ) = log p(X, T|Θ) + λ  πj − 1 + µi  Aij − 1 → extr
с учителем
j=1 i=1 j=1
Алгоритм
Витерби K
N X
ЕМ-алгоритм
∂L(Θ, λ, µ) X ∂ log p(xn |φk ) X ∂ log p(xn |φk )
= tnk = =0
∂φk n=1 k=1
φk φk
{n: tnk =1}

Получили стандартную задачу максимизации правдоподобия по


выборке независимых одинаково-распределенных объектов
X
φk = arg max log p(xn |φk )
{n: tnk =1}

Для оценки параметров φk можно воспользоваться методами


восстановления плотностей, например, ЕМ-алгоритмом
План

Лекция 3.
Скрытые
марковские
модели.

Ветров 1 Ликбез
Ликбез
Метод динамического программирования
Основы
применения
СММ
2 Основы применения СММ
Определение
СММ
Обучение СММ
Определение СММ
с учителем
Алгоритм
Обучение СММ с учителем
Витерби Алгоритм Витерби
ЕМ-алгоритм

3 ЕМ-алгоритм
Графические модели с неполными данными
Разделение гауссовской смеси
Сегментация сигнала

Лекция 3.
Скрытые
марковские
модели.

Ветров
• Пусть известна некоторая последовательность
наблюдений X и набор параметров СММ Θ. Требуется
Ликбез
определить наиболее вероятную последовательность
Основы
применения состояний T, т.е. найти arg maxT p(T|X, Θ)
СММ
Определение • Заметим, что p(X|Θ) не зависит от T, поэтому
СММ
Обучение СММ
с учителем
Алгоритм p(X, T|Θ)
Витерби
arg max p(T|X, Θ) = arg max =
ЕМ-алгоритм T T p(X|Θ)
= arg max p(X, T|Θ) = arg max log p(X, T|Θ)
T T

• Но это же классическая задача динамического


программирования!
Аналогия с задачей объезда стран

Лекция 3.
Скрытые
марковские
модели.
• В самом деле логарифм совместной плотности по
Ветров
определению
Ликбез  
Основы
K
X
применения
СММ
log p(X, T|Θ) =  t1j log πj  +
Определение j=1
СММ
Обучение СММ   !
с учителем
XN X
K X
K N X
X K
Алгоритм
Витерби + tn−1,i tnj log Aij  + tnk log p(xn |φk )
ЕМ-алгоритм
n=2 i=1 j=1 n=1 k=1

• Первое слагаемое определяет «пункт отбытия», второе


слагаемое — стоимость перезда из города страны n − 1
в город в стране n, а третье слагаемое отражает
«стоимость ночлега» в выбранном городе страны n
Алгоритм Витерби

Лекция 3.
Скрытые
марковские
модели.  
K
Ветров
X
log p(X, T|Θ) =  t1j log πj  +
j=1
Ликбез
 
N X K
K X K
N X
!
Основы X X
применения
СММ
+ tn−1,i tnj log Aij  + tnk log p(xn |φk )
Определение n=2 i=1 j=1 n=1 k=1
СММ
Обучение СММ
с учителем Функция Беллмана V(t1j ) = log πj
Алгоритм    
Витерби K X
K
X
ЕМ-алгоритм V(tnj ) = max V(tn−1,i ) +
  tn−1,i tnj log Aij + log p(xn |φj )

i
i=1 j=1

Функция S(tnj ) определяется аналогично: S(t1j ) = ∅


   
K X
X K
S(tnj ) = arg max V(tn−1,i ) +
  tn−1,i tnj log Aij + log p(xn |φj )

i
i=1 j=1
Алгоритм Витерби

Лекция 3.
Скрытые    
марковские K X
K
модели. X
V(tnj ) = max V(tn−1,i ) +  tn−1,i tnj log Aij  + log p(xn |φj )
Ветров i
i=1 j=1
   
Ликбез K X
X K

Основы
S(tnj ) = arg max V(tn−1,i ) +  tn−1,i tnj log Aij  + log p(xn |φj )
i
применения i=1 j=1
СММ
Определение Выполнив прямой проход по сигналу, мы оцениваем V(tnj ) и S(tnj ), а
СММ
Обучение СММ выполнив обратный проход, мы получаем оптимальные номера
с учителем оптимальных состояний (i∗ (1), . . . , i∗ (N)): i∗ (N) = arg maxi V(tNi )
Алгоритм
Витерби
ЕМ-алгоритм
i∗ (n) = S(tn+1,i∗ (n+1) )
Легко видеть, что значения переменных tn определяются так:
tn,i∗ (n) = 1, tni = 0, ∀i 6= i∗ (n)
• Алгорим Витерби позволяет быстро проводить сегментацию
очень длинных сигналов
• Существует версия алгоритма Витерби, позволяющая
осуществлять сегментацию в реальном времени (точнее, с
небольшой задержкой)
Пример использования

Лекция 3.
Скрытые
марковские
модели.

Ветров
Пример разметки сигнала на три состояния с помощью
Ликбез алгоритма Витерби
Основы
применения 2
СММ
Определение 1.5
СММ
1
Обучение СММ
с учителем 0.5
Алгоритм
Витерби 0

ЕМ-алгоритм −0.5
−1
−1.5

0 100 200 300 400 500 600 700 800 900 1000
План

Лекция 3.
Скрытые
марковские
модели.

Ветров 1 Ликбез
Ликбез
Метод динамического программирования
Основы
применения
СММ
2 Основы применения СММ
ЕМ-алгоритм
Графические
Определение СММ
модели с
неполными Обучение СММ с учителем
данными
Разделение Алгоритм Витерби
гауссовской
смеси

3 ЕМ-алгоритм
Графические модели с неполными данными
Разделение гауссовской смеси
Максимум неполного правдоподобия

Лекция 3.
Скрытые • Предположим имеется графическая модель, в которой
марковские
модели. известна только часть значений переменных
Ветров • Атомарные распределения известны с точностью до
вектора параметров θ
Ликбез
• Требуется оценить параметры по наблюдаемым
Основы
применения
СММ
величинам с помощью метода максимального
ЕМ-алгоритм
правдоподобия, т.е. найти
Графические
модели с
неполными θ ML = arg max p(X|θ)
данными
Разделение
гауссовской
смеси t1

t2 x1

t3 x2

x3 t4
Трудности оптимизации неполного
правдоподобия
Лекция 3.
Скрытые
марковские • По правилу суммирования вероятностей неполное правдоподобие
модели.
может быть получено в виде суммирования по скрытым
Ветров переменным полного правдоподобия
X
Ликбез p(X|θ) = p(X, T|θ)
Основы T
применения
СММ
• Во многих случаях (в частности, в байесовских сетях) подсчет
ЕМ-алгоритм полного правдоподобия тривиален
Графические
модели с
неполными • При оптимизации правдоподобия удобно переходить к
данными
логарифму, в частности выше мы получили явные формулы для
Разделение
гауссовской arg maxθ p(X, T|θ) = arg maxθ log p(X, T|θ) в СММ
смеси
• Прямая оптимизация логарифма неполного правдоподобия
очень затруднительна даже в итерационной форме, т.к.
функционал имеет вид «логарифм суммы», в то время как
удобно оптимизировать «сумму логарифмов»
X
log p(X|θ) = log p(X, T|θ)
T
Схема ЕМ-алгоритма

Лекция 3.
Скрытые • На входе: выборка X, зависящая от набора параметров
марковские
модели. θ
Ветров • Инициализируем θ некоторыми начальным
приближением
Ликбез

Основы
• Е-шаг: Оцениваем распределение скрытой компоненты
применения
СММ
при фиксированном значении параметров θold
ЕМ-алгоритм
p(X, T|θold )
Графические
модели с p(T|X, θold ) = P
неполными
данными T p(X, T|θ old )
Разделение
гауссовской
смеси
• М-шаг: Оптимизируем
X
ET|X,θold log p(X, T|θ) = p(T|X, θold ) log p(X, T|θ) → max
θ
T

Если бы мы точно знали значение T = T0 , то вместо мат.


ожидания по всевозможным (с учетом наблюдаемых данных)
T|X, θold , мы бы оптимизировали log p(X, T0 |θ)
• Переход к Е-шагу, пока процесс не сойдется
Замечания

Лекция 3.
Скрытые
марковские
модели.

Ветров • Оптимизация проводится итерационно методом


Ликбез
покоординатного спуска: на каждой итерации
Основы последовательно уточняются возможные значения T
применения
СММ (Е-шаг), а потом пересчитываются значения θ (М-шаг)
ЕМ-алгоритм • Во многих случаях на М-шаге можно получить явные
Графические
модели с
неполными
формулы, т.к. там происходит оптимизация выпуклой
данными
Разделение
комбинации логарифмов полных правдоподобий
гауссовской
смеси X
p(T|X, θold ) log p(X, T|θ) → max,
θ
T

имеющей вид взвешенной «суммы логарифмов»


План

Лекция 3.
Скрытые
марковские
модели.

Ветров 1 Ликбез
Ликбез
Метод динамического программирования
Основы
применения
СММ
2 Основы применения СММ
ЕМ-алгоритм
Графические
Определение СММ
модели с
неполными Обучение СММ с учителем
данными
Разделение Алгоритм Витерби
гауссовской
смеси

3 ЕМ-алгоритм
Графические модели с неполными данными
Разделение гауссовской смеси
Смесь гауссовских распределений

Лекция 3. Pl
Скрытые
марковские
• Имеется выборка X ∼ j=1 wj N (x|µj , Σj )) ∈ Rd , wj ≥ 0,
модели. Pl
j=1 wj = 1
Ветров
• Требуется восстановить плотность генеральной
Ликбез совокупности
Основы
применения
СММ

ЕМ-алгоритм
Графические
модели с
неполными
данными
Разделение
гауссовской
смеси
ЕМ-алгоритм

Лекция 3.
Скрытые • Выбираем начальное приближение µj , wj , Σj
марковские
модели.
• Е-шаг: Вычисляем распределение скрытых
P
Ветров переменных zi ∈ {0, 1}, j zij = 1, которые определяют,
Ликбез
к какой компоненте смеси принадлежит объект xi
Основы
применения wj N (xi |µj , Σj ))
СММ γ(zij ) = Pl
ЕМ-алгоритм k=1 wk N (xi |µk , Σk ))
Графические
модели с
неполными
данными
• М-шаг: С учетом новых вероятностей на zi ,
Разделение
гауссовской
пересчитываем параметры смеси
смеси

n n
1 X Nj X
µnew
j = γ(zij )xi wnew
j = Nj = γ(zij )
Nj n
i=1 i=1
n
1 X
Σnew
j = γ(zij )(xi − µnew new T
j )(xi − µj )
Nj
i=1

• Переход к Е-шагу, пока не будет достигнута сходимость


Вывод формул на М-шаге

Лекция 3. Выражение для мат. ожидания логарифма правдоподобия по


Скрытые апостериорному распределению имеет вид
марковские
модели. n X
l
X
Ветров EZ|X,θ log p(X, Z|θ) = γ(zij ) (log wj + log N (xi |µj , Σj ))
i=1 j=1
Ликбез
Дифференцирование по µj и Σj (точнее по Σ−1 j ) выполняется
Основы
применения аналогично случаю одной многомерной гауссианы, только объекты
СММ теперь берутся с весом γ(zij ).
Pl
ЕМ-алгоритм Оптимизация по wj проводится с учетом органичения j=1 wj = 1 по
Графические
модели с правилу множителей Лагранжа
неполными  
данными n Xl l
Разделение
X X
гауссовской γ(zij ) log wj + λ  wj − 1
смеси
i=1 j=1 j=1

Дифференцируя лагранжиан по wj получаем уравнения


Pn Pn
i=1 γ(zij ) γ(zij )
+ λ = 0, wj = − i=1
wj λ
Учитывая, что lj=1 wj = 1 окончательно получаем
P
Pn
i=1 γ(zij ) Nj
λ = −n, wj = =
n n
Пример работы ЕМ-алгоритма

Лекция 3.
Скрытые
марковские Применение ЕМ-алгоритма для разделения смеси двух
модели.
гауссиан. Итерация 0.
Ветров

Ликбез

Основы
применения
СММ

ЕМ-алгоритм
Графические
модели с
неполными
данными
Разделение
гауссовской
смеси
Пример работы ЕМ-алгоритма

Лекция 3.
Скрытые
марковские Применение ЕМ-алгоритма для разделения смеси двух
модели.
гауссиан. Итерация 1.
Ветров

Ликбез

Основы
применения
СММ

ЕМ-алгоритм
Графические
модели с
неполными
данными
Разделение
гауссовской
смеси
Пример работы ЕМ-алгоритма

Лекция 3.
Скрытые
марковские Применение ЕМ-алгоритма для разделения смеси двух
модели.
гауссиан. Итерация 5.
Ветров

Ликбез

Основы
применения
СММ

ЕМ-алгоритм
Графические
модели с
неполными
данными
Разделение
гауссовской
смеси
Пример работы ЕМ-алгоритма

Лекция 3.
Скрытые
марковские Применение ЕМ-алгоритма для разделения смеси двух
модели.
гауссиан. Итерация 20.
Ветров

Ликбез

Основы
применения
СММ

ЕМ-алгоритм
Графические
модели с
неполными
данными
Разделение
гауссовской
смеси
Недостатки ЕМ-алгоритма

Лекция 3.
Скрытые
марковские
модели.

Ветров

Ликбез • В зависимости от выбора начального приближения


Основы может сходиться к разным точкам
применения
СММ
• ЕМ-алгоритм находит локальный экстремум, в
ЕМ-алгоритм
Графические
котором значение правдоподобия может оказаться
модели с
неполными намного ниже, чем в глобальном максимуме
данными
Разделение
гауссовской
• ЕМ-алгоритм не позволяет определить количество
смеси
компонентов смеси l
• !! Величина l является структурным параметром!!
Применение ЕМ-алгоритма для описания
сложных плотностей
Лекция 3.
Скрытые Смесью гауссиан можно эффективно приближать сложные,
марковские
модели. плохо-параметризуемые плотности. При этом получаются
Ветров
аналитически заданные приближения

Ликбез

Основы
применения
СММ

ЕМ-алгоритм
Графические
модели с
неполными
данными
Разделение
гауссовской
смеси

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