Методы построения и обработки скрытых марковских моделей

advertisement
МЕТОДЫ ПОСТРОЕНИЯ И ОБРАБОТКИ
СКРЫТЫХ МАРКОВСКИХ МОДЕЛЕЙ,
ПРЕДСТАВЛЕННЫХ В ВИДЕ
АЛГЕБРАИЧЕСКИХ БАЙЕСОВСКИХ СЕТЕЙ1
Алексеев А.М., студент кафедры информатики СПбГУ,
anton.m.alexeyev@math.spbu.ru
Аннотация
Вероятностные графические модели (ВГМ) ― один из
способов представления знаний с неопределённостью.
Они успешно применяются для решения задач машинного
обучения, в том числе благодаря тому, что есть развитые
методы обработки этих моделей. Все ВГМ задают
вероятностные распределения; часто удобно представлять
одни ВГМ в виде других.
В докладе будут представлены методы декодирования
скрытых состояний и обучения бинарной скрытой
марковской
модели,
представленной
в
виде
алгебраической байесовской сети.
Введение
Вероятностные графические модели (ВГМ) [2] задают распределения
(семейства распределений) случайных величин с разреженными
вероятностными зависимостями. К их числу принадлежат скрытые
марковские модели (СММ), байесовские сети доверия, условные
случайные поля, марковские сети и др. Ввиду близкой вероятностной
природы некоторые модели можно представлять друг в виде друга.
Известны примеры представления СММ в виде байесовских сетей
доверия [1], классов байесовских сетей доверия в виде алгебраических
байесовских сетей (АБС; логико-вероятностные графические модели) [11],
СММ в виде АБС [6–9]. Так, обучив одну модель, можно обрабатывать
полученные знания методами другой.
На данный момент для бинарных скрытых марковских моделей в виде
алгебраических байесовских сетей (СММ-АБС) существуют:
1
1.
Алгоритм построения по скрытой марковской модели.
2.
Алгоритм
решения
задачи
оценки
правдоподобия
Работа выполнена при финансовой поддержке РФФИ, гранты № 12-01-00945-a, 12-0131202-мол_а.
последовательности наблюдений (методами логико-вероятностного
вывода в АБС).
3. Алгоритм декодирования последовательности
состояний по последовательности наблюдений.
скрытых
4. Метод обучения по корпусу вида {(si , oi )}Ti 0 , где si ―
скрытое состояние в момент i , а oi ― соответствующее наблюдение.
Цель предлагаемого доклада ― изложить методы №№ 3 и 4.
Скрытые марковские модели
Скрытая марковская модель ― темпоральная вероятностная
графическая модель. Задан конечный набор состояний, текущее состояние
в данный момент времени «порождает» наблюдение из конечного
множества наблюдений. Предполагается, что последовательность
состояний удовлетворяет марковскому свойству, а вероятность
«порождения» наблюдения зависит только от текущего состояния.
Таким образом, скрытую марковскую модель можно задать как
следующую тройку:
•
вектор вероятностей для первого состояния,
•
условные вероятности «переходов» из состояния в состояние,
•
вероятности «порождения» наблюдения состоянием.
В теории скрытых марковских моделей выделяют три ключевых
задачи [4]: оценка правдоподобия данной последовательности наблюдений
при данной модели (вычисление вероятности «порождения» наблюдений
моделью), декодирование скрытых состояний по данной цепочке
наблюдений (поиск наиболее вероятной последовательности состояний,
которая могла «породить» данную последовательность наблюдений),
обучение данной модели (настройка параметров модели таким образом,
чтобы вероятность данной последовательности наблюдений была
максимальна).
Алгебраические байесовские сети
В основе теории АБС лежит вероятностная логика Н. Нильссона [3].
Для задания вероятностных оценок истинности всех формул над n
высказываниями потребуется задать вероятностные оценки 2n  1
конъюнктов (элементарных конъюнкций без отрицаний). АБС ― набор
моделей фрагментов знаний (то есть таких наборов конъюнктов с
оценками) над некоторыми подмножествами множества заданных
высказываний. Наиболее развитый на данный момент подход к обработке
знаний в модели ― представление АБС как графа, вершины которого
соответствуют фрагментам знаний. Существуют методы осуществления
априорного вывода (вычисления оценок вероятностей формул над
высказываниями из АБС) и апостериорного (байесовского) вывода
(распространение свидетельств, то есть изменений оценок вероятностей,
по сети). С перечисленным можно ознакомиться в работах [10–16].
Декодирование скрытой последовательности
Рассказ о второй задаче скрытых марковских моделей редко
обходится без упоминания алгоритма Витерби [5]. Предлагаемый
алгоритм также основан на методе динамического программирования.
Постановка задачи: по последовательности наблюдений
восстановить наиболее вероятную последовательность скрытых
состояний.
Обозначения:
―
функция,
Propagate(abn, notation)
notation
детерминированное свидетельство
;
•
пропагирующая
―
функция,
возвращающая
Probability(abn, notation)
вероятностную оценку истинности формулы, заданной notation , в сети
abn ;
•
w ― двухмерный массив, в котором будут храниться величины,
•
которые нам понадобятся в процессе вычислений;
path ― коллекция-словарь наиболее вероятных «префиксных
траекторий» модели;
•
•
buffer ― вспомогательная коллекция-словарь.
Алгоритм:
Require
1: for
2:
3: end
4: for
5:
6:
7:
8:
abn, O
i  0..T do
Propagate(abn,' Oi  Vi ')
for
i  0..n  1
w 0, j   Probability(abn,' X 0  s j ')
end for
for t  1..T
buffer  
9:
10:
for
j 0..n 1
kopt  argmax k {
11:
w[t  1, k ]Probability(abn, ' X t  s j  X t 1  sk ')
Probability(abn, ' X t 1  sk )
}
buffer[ j ]  path[kopt ]: kopt
12:
w[t , j ] 
w[t  1, kopt ]Probability(abn, ' X t  s j  X t 1  skopt ')
Probability(abn, ' X t 1  skopt ')
13:
end for
14:
path  buffer
15: end for
16: klast  argmax k {w[T , k ]}
17: return path[klast ] : klast
Шаги (1–3) ― распространение свидетельств Ot  vt , t  0..T .
Шаги (4–6) ― записываем в нулевую строку матрицы w
апостериорные вероятности pa ( X 0  s j ) того, что на первом шаге мы о
соответствующем состоянии.
В цикле (7–15) для каждого шага t и состояния j находим состояние
kopt предыдущего шага, на котором максимальна величина
wt 1, k pa ( X t  s j  X t 1  sk )
pa ( X t 1  sk )
,
записываем её в матрицу, а траекторию path[ j ] процесса, оказавшегося в
момент t в состоянии j , задаём как path[kopt ]: kopt : j .
На шаге 14 находим состояние klast , максимизирующее величину
w[T , k ] (наиболее вероятная траектория заканчивается в состоянии klast ).
В качестве наиболее вероятной последовательности скрытых
состояний возвращаем траекторию, которую мы нашли для klast .
Обучение СММ-АБС
Постановка задачи:
S  {s0, s1} и V  {v0, v1} ― множества состояний модели и
•
наблюдений соответственно;
•
B  {( xt , ot )}Tt 0 ― корпус данных для обучения, то есть набор
«иных» пар «состояние–наблюдение» во времени.
Требуется построить СММ-АБС, эквивалентную СММ, обученной
по этим данным.
Как и в случае СММ, будем считать, что условные вероятности
«перехода» из состояния в состояние и «порождения» данным
состоянием данного наблюдения постоянны.
Метод: будем считать, что оценки для p(o | x) и p( x | y)
x, y  So  O , где S ― множество состояний, а O ― множество
наблюдений, нами уже получены (посредством Pxx , Pox , Px ; см. ниже).
Обозначения:
•
abn ― переменная «АБС»,
•
p(abn, notation) ― «свойство», дающее доступ к вероятности
истинности формулы notation в abn ,
•
p(abn, notation, bool...) ― «свойство», дающее доступ к
вероятности истинности формулы notation с означиваниями
высказываний, заданными списком bool ,
•
glue(abn, notation) ― метод, синтезирующий фрагмент знаний
с максимальным конъюнктом, заданным notation ,
•
Pxx , Pox , Px ― массивы с соответствующими заданными
заранее оценками вероятностей,
•
s0 , s1 , v0 , v1 ― константы, причём v0 , s0 ― ложь, v1 , s1 ―
истина,
•
T 1 ― число шагов.
Алгоритм:
Require: T , Px [2], Pxx [2, 2], Pox [2, 2]
Ensure: x{0,1} Px[ x]   x, y{0,1}Pxx[ x, y]   x, y{0,1}Pox[ x, y]  1 , T  0
1:
2:
3:
4:
s0  0, s1 1
v0  0, v1 1
abn  
p(abn,' x0 ')  Px [s1 ]
5:
6:
7:
8:
9:
p(abn,' o0 x0 ')  Pox [v1 , s1 ]
p(abn,' o0 ')  Pox [s1 , s1 ]  Pox [s1 , s0 ]
glue(abn,' o0 x0 ')
p(abn,' x0 x1 ')  P _ xx[s _1, s _1]
for t 1..T do
10:
p(abn, ' xt ')   s{s0 , s1} p(abn, ' xt 1 ', s)
11:
glue(abn,' xt 1 xt ')
12:
p(abn, ' ot ')   s{s0 , s1} p(abn, ' xt ', s)
13:
p(abn, ' ot ')  ss
14:
15:
16:
0 , s1
 p  abn, ' xt ', s 
Pxx [ s, s1 ]
Px [ s]
Pox [v1 , s]
Px [ s]
Pox  v1 , s 
Px  s 
glue(abn,' ot xt )
if t  T then
p(abn, ' xt xt 1 ')  p(abn, ' xt ')
Pxx [ s1 , s1 ]
Px [ s1 ]
17:
end if
18: end for
return abn
Комментарий:
•
в строках 1 и 2 задаются константы;
•
в строках 3–8 АБС abn инициализируется известными нам
оценками, которые задают фрагмент знаний над алфавитом {x0, o0 } ;
также задаётся вероятность конъюнкта x0 x1 ;
•
в строках 9–18 производится оценивание новых конъюнктов.
В качестве примера оценок вероятностей Pxx , Pox , Px будут приведены
относительные частоты соответствующих паттернов в корпусе.
Заключение
В докладе изложены методы декодирования скрытых состояний и
обучения для бинарных СММ в виде АБС. Они демонстрируют
выразительную силу алгебраических байесовских сетей и позволяют
говорить о будущей «интервализации» скрытых марковских моделей.
Литература
1.
Cowell R.G., Dawid A.P., Lauritzen S.L., Spiegelhalter D.J. Probabilistic
Networks and Expert Systems. NY.: Springer-Verlag, 1997. 370 p.
2. Koller D., Friedman N. Probabilistic Graphical Models. Principles and
Techniques. Cambridge, Massachusetts, London: MIT Press, 2009.
1231 pp.
3. Nilsson N.J. Probabilistic Logic // Artificial Intelligence. 1986. Vol. 28. P.
71–87.
4. Rabiner L. A Tutorial on Hidden Markov Models and Selected
Applications in Speech Recognition // IEEE Proceedings. 1989. Vol. 77.
No. 2. Pp. 257–286.
5. Viterbi A.J. Error bounds for convolutional codes and an asymptotically
optimum decoding algorithm. // Information Theory, IEEE Transactions
on. 1967. Vol. 13. No. 2. Pp. 260–269.
6. Момзикова М.П., Великодная О.И., Пинский М.Я., Сироткин А.В.,
Тулупьев А.Л., Фильченков А.А. Оценка вероятности наблюдаемой
последовательности в бинарных линейных по структуре скрытых
марковских моделях с помощью апостериорного вывода в
алгебраических байесовских сетях // Труды СПИИРАН. СПб: Наука,
2010. Вып. 2. C. 122–142.
7. Момзикова М.П., Великодная О.И., Пинский М.Я., Сироткин А.В.,
Тулупьев А.Л., Фильченков А.А. Представление бинарных линейных
по структуре скрытых марковских моделей в виде алгебраических
байесовских сетей // Труды СПИИРАН. СПб: Наука, 2010. Вып. 1. C.
134–150.
8. Ревзин Л.М. Комплекс программ для представления и обработки
ациклических скрытых марковских моделей на основе
алгебраических байесовских сетей: Дипломная работа. Математикомеханический факультет СПбГУ. 2012. 39 с. (Санкт-Петербургский
государственный университет).
9. Ревзин Л.М., Фильченков А.А., Тулупьев А.Л. Представление
многозначных линейных по структуре скрытых марковских моделей в
виде алгебраических байесовских сетей // Труды СПИИРАН. 2012.
Вып. 20. С. 186–199.
10. Тулупьев А.Л., Николенко С.И., Сироткин А.В. Байесовские сети:
логико-вероятностный подход. СПб.: Наука, 2006. 607 с.
11. Тулупьев А.Л. Преобразование ациклических байесовских сетей
доверия в алгебраические байесовские сети. // Известия высших
учебных заведений: Приборостроение. 2009. Вып. 3, С. 21–23.
12. Тулупьев А.Л., Сироткин А.В. Алгебраические байесовские сети:
принцип декомпозиции и логико-вероятностный вывод в условиях
неопределенности // Информационно-измерительные и управляющие
системы. 2008. №10, Т. 6. С. 85-87 .
13. Тулупьев А.Л., Сироткин А.В., Николенко С.И. Байесовские сети
доверия: логико-вероятностный вывод в ациклических направленных
графах. СПб.: Изд-во С.-Петерб. ун-та, 2009, 400 с.
14. Фильченков А.А., Тулупьев А.Л. Структурный анализ систем
минимальных графов смежности // Труды СПИИРАН. 2009. Вып. 11.
С. 104–129.
15. Фильченков А.А., Тулупьев А.Л., Сироткин А.В. Особенности анализа
вторичной структуры алгебраической байесовской сети // Труды
СПИИРАН. 2010. Вып. 1 (12). C. 97–118.
16. Фильченков А.А., Тулупьев А.Л., Сироткин А.В. Структурный анализ
клик минимальных графов смежности // Вестн. Тверск. гос. ун-та.
Сер.: Прикладная математика. 2011. №20. С. 139–151.
Download