Академический Документы
Профессиональный Документы
Культура Документы
Скрытые
марковские
модели.
Ветров
Ликбез
ЕМ-алгоритм
Д. П. Ветров1
1
МГУ, ВМиК, каф. ММП
Лекция 3.
Скрытые
марковские
модели.
Ветров 1 Ликбез
Ликбез
Метод динамического программирования
Основы
применения
СММ
2 Основы применения СММ
ЕМ-алгоритм
Определение СММ
Обучение СММ с учителем
Алгоритм Витерби
3 ЕМ-алгоритм
Графические модели с неполными данными
Разделение гауссовской смеси
План
Лекция 3.
Скрытые
марковские
модели.
Ветров 1 Ликбез
Ликбез
Метод динамического программирования
Метод
динамического
программирова-
ния
2 Основы применения СММ
Основы
применения Определение СММ
СММ
Обучение СММ с учителем
ЕМ-алгоритм
Алгоритм Витерби
3 ЕМ-алгоритм
Графические модели с неполными данными
Разделение гауссовской смеси
Задача объезда стран
Лекция 3.
Скрытые
марковские x11 x12 x1k
модели.
Ветров
ЕМ-алгоритм
Лекция 3.
Скрытые x11 x1k
x12
марковские
модели.
Ликбез xf
xs
Метод
динамического
программирова-
ния
Основы
применения
СММ xn1 xn2 xnk
ЕМ-алгоритм
Страна 1 Страна 2 Страна k
Лекция 3.
Скрытые
марковские x11 x12 x1k
модели.
Ликбез
Метод xs xf
динамического
программирова-
ния
Основы
применения
СММ
xn1 xn2 xnk
ЕМ-алгоритм
Страна 1 Страна 2 Страна k
ЕМ-алгоритм
A D
C 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 )
Спецификация вероятностной модели
−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.
Скрытые
марковские
модели.
Ветров 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}
Лекция 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
Лекция 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
Лекция 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
Лекция 3.
Скрытые
марковские
модели.
Лекция 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.
Скрытые
марковские Применение ЕМ-алгоритма для разделения смеси двух
модели.
гауссиан. Итерация 0.
Ветров
Ликбез
Основы
применения
СММ
ЕМ-алгоритм
Графические
модели с
неполными
данными
Разделение
гауссовской
смеси
Пример работы ЕМ-алгоритма
Лекция 3.
Скрытые
марковские Применение ЕМ-алгоритма для разделения смеси двух
модели.
гауссиан. Итерация 1.
Ветров
Ликбез
Основы
применения
СММ
ЕМ-алгоритм
Графические
модели с
неполными
данными
Разделение
гауссовской
смеси
Пример работы ЕМ-алгоритма
Лекция 3.
Скрытые
марковские Применение ЕМ-алгоритма для разделения смеси двух
модели.
гауссиан. Итерация 5.
Ветров
Ликбез
Основы
применения
СММ
ЕМ-алгоритм
Графические
модели с
неполными
данными
Разделение
гауссовской
смеси
Пример работы ЕМ-алгоритма
Лекция 3.
Скрытые
марковские Применение ЕМ-алгоритма для разделения смеси двух
модели.
гауссиан. Итерация 20.
Ветров
Ликбез
Основы
применения
СММ
ЕМ-алгоритм
Графические
модели с
неполными
данными
Разделение
гауссовской
смеси
Недостатки ЕМ-алгоритма
Лекция 3.
Скрытые
марковские
модели.
Ветров
Ликбез
Основы
применения
СММ
ЕМ-алгоритм
Графические
модели с
неполными
данными
Разделение
гауссовской
смеси