2010 Лекции МОТП (Ветров) (1185317), страница 10
Текст из файла (страница 10)
. . , xk∗ ) может быть полученпутем рекуррентного вызова функции S(x): xn∗ = S(xf )∗∗xm= S(xm+1)Особенности динамическогопрограммированияЛекция 3.Скрытыемарковскиемодели. Часть 1ВетровЛикбезМетоддинамическогопрограммированияОсновыпримененияСМММетод динамического программирования эффективен, еслиимеет место• Перекрывающиеся подзадачи, которые необходиморешить, чтобы решить исходную задачу• Оптимальная подструктура (принцип кусочнойоптимальности)• Возможность запомнить решения подзадачЕМ-алгоритмADCBЕсли известно, что оптимальный путь проходит черезточки C и D и известен оптимальный путь между ними, тоэтот путь станет частью оптимального пути между A и BПланЛекция 3.Скрытыемарковскиемодели.
Часть 1ВетровЛикбезОсновыпримененияСММОпределениеСММОбучение СММс учителемАлгоритмВитерби1 ЛикбезМетод динамического программирования2 Основы применения СММОпределение СММОбучение СММ с учителемАлгоритм ВитербиЕМ-алгоритм3 ЕМ-алгоритмГрафические модели с неполными даннымиРазделение гауссовской смесиСкрытая Марковская модель (СММ)Лекция 3.Скрытыемарковскиемодели. Часть 1ВетровЛикбезОсновыпримененияСММОпределениеСММОбучение СММс учителемАлгоритмВитербиЕМ-алгоритмСкрытая Марковская модель [первого порядка] — этовероятностная модель последовательности, которая• Состоит из набора наблюдаемых переменных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.Скрытыемарковскиемодели.
Часть 1ВетровЛикбезОсновыпримененияСММОпределениеСММОбучение СММс учителемАлгоритмВитербиЕМ-алгоритмЧто можно анализировать с помощью СММ• Речь• Видео• Поведение• Фондовые рынки• Естественный язык• ДНК• и др.Скрытая Марковская модель (СММ)Лекция 3.Скрытыемарковскиемодели. Часть 1ВетровЛикбезОсновыпримененияСММОпределениеСММОбучение СММс учителемАлгоритмВитербиЕМ-алгоритм• Скрытая марковская модель является частнымслучаем байесовской сети (графической модели,задаваемой ориентированным графом)• Граф, задающий СММ, является ациклическим,поэтому для СММ существуют эффективныеалгоритмы вывода• Для полного задания модели достаточно задать всеусловные распределения вида p(xn |tn ), p(tn |tn−1 ) иаприорное распределение p(t1 )Спецификация вероятностной моделиЛекция 3.Скрытыемарковскиемодели. Часть 1ВетровЛикбезОсновыпримененияСММОпределениеСММОбучение СММс учителемАлгоритмВитербиПусть имеется K возможных состояний.
Закодируемсостояние в каждый момент времени n бинарным векторомtn = (tn1 , . . . , tnK ), где½1, если в момент n модель находится в состоянии jtnj =0, иначеТогда распределение p(tn |tn−1 ) можно задать матрицейпереходаA размера K × K, где Aij = p(tnj = 1|tn−1,i = 1),PA=1,т.е.ijjЕМ-алгоритмp(tn |tn−1 ) =K YKYttAijn−1,i nji=1 j=1Пусть в первый момент времени p(t1j = 1) = πj . Тогдаp(t1 ) =KYj=1tπj 1jЗамечаниеЛекция 3.Скрытыемарковскиемодели. Часть 1ВетровЛикбезОсновыпримененияСММОпределениеСММОбучение СММс учителемАлгоритмВитербиЕМ-алгоритм• Хотя матрица A может быть произвольного вида с учетомограничений на неотрицательность и сумму элементов строки, сточки зрения СММ представляет интерес диагональноепреобладание матрицы перехода• В этом случае можно ожидать, что процесс находится внекотором состоянии на протяжении какого-то отрезка времени• Появляется простая физическая интерпретация СММ: имеетсяпроцесс, который иногда (относительно редко) скачкообразноменяет свои характеристики86420−2−4−60100200300400500600Спецификация вероятностной моделиЛекция 3.Скрытыемарковскиемодели.
Часть 1ВетровЛикбезОсновыпримененияСММОпределениеСММОбучение СММс учителемАлгоритмВитербиЕМ-алгоритм• Условное распределение p(xn |tn ) определяется текущимсостоянием tn• Обычно предполагают, что оно нам известно сточностью до параметров φk , k ∈ {1, . . . , K}, т.е. еслиtn1 = 1, то xn взят из распределения p(xn |φ1 ), еслиtn2 = 1, то xn взят из распределения p(xn |φ2 ), и т.д.• Таким образомp(xn |tn ) =KY(p(xn |φk ))tnkj=1Задачи в СММЛекция 3.Скрытыемарковскиемодели. Часть 1ВетровЛикбезОсновыпримененияСММОпределениеСММОбучение СММс учителемАлгоритмВитербиЕМ-алгоритмОбозначим полный набор параметров Θ = {π, 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ВетровЛикбезОсновыпримененияСММОпределениеСММОбучение СММс учителемАлгоритмВитерби1 ЛикбезМетод динамического программирования2 Основы применения СММОпределение СММОбучение СММ с учителемАлгоритм ВитербиЕМ-алгоритм3 ЕМ-алгоритмГрафические модели с неполными даннымиРазделение гауссовской смесиСовместное распределение переменных СММЛекция 3.Скрытыемарковскиемодели.
Часть 1ВетровЛикбезОсновыпримененияСММОпределениеСММОбучение СММс учителемАлгоритмВитерби• Предположим, нам задана обучающая выборка (X, T),представляющая собой одну или несколькопоследовательностей, в которых известны значенияскрытых компонент• Требуется оценить вектор параметров Θ• По построению байесовской сети совместноераспределение переменных задается формулойЕМ-алгоритмp(X, T|Θ) = pπ (t1 )=KYj=1tπj 1jNYpφ (xn |tn )n=1N YK YKYn=2 i=1 j=1NYpA (tn |tn−1 ) =n=2ÃttAijn−1,i nj N YKYn=1 k=1!(p(xn |φk ))tnkМетод максимального правдоподобияЛекция 3.Скрытыемарковскиемодели. Часть 1Ветров• Для оценки параметров Θ воспользуемся методоммаксимального правдоподобияΘML = arg max p(X, T|Θ) = arg max log p(X, T|Θ)ЛикбезОсновыпримененияСММОпределениеСММОбучение СММс учителемАлгоритмВитерби• Для удобства перейдем к логарифму функцииправдоподобия (положение максимума, очевидно, неизменится)ЕМ-алгоритмlog p(X, T|Θ) = +KXt1j log πj +j=1N XK XKXn=2 i=1 j=1 Ã!N XKXtn−1,i tnj log Aij +tnk log p(xn |φk )n=1 k=1Функция ЛагранжаЛекция 3.Скрытыемарковскиемодели.
Часть 1ВетровЛикбезОсновыпримененияСММОпределениеСММОбучение СММс учителемАлгоритмВитербиЕМ-алгоритм• Параметры, входящие в Θ, не могут принимать произвольныезначения, следовательно необходима оптимизация приограниченияхKXj=1πj = 1,KXAij = 1, ∀i = 1, Kj=1• Воспользуемся правилом множителей Лагранжа и выпишемлагранжианKKKXXXL(Θ, λ, µ) = log p(X, T|Θ)+λ πj − 1+µi Aij − 1 → extrj=1i=1j=1Оценка πЛекция 3.Скрытыемарковскиемодели. Часть 1ВетровЛикбезОсновыпримененияСММОпределениеСММОбучение СММс учителемАлгоритмВитербиЕМ-алгоритмlog p(X, T|Θ) = +N XK XKXKXt1j log πj +j=1tn−1,i tnj log Aij +Ã N KXXn=2 i=1 j=1!tnk log p(xn |φk )n=1 k=1KKKXXXL(Θ, λ, µ) = log p(X, T|Θ) + λ πj − 1 +µi Aij − 1 → extrj=1i=1j=1t1jt1j∂L(Θ, λ, µ)=+ λ = 0 ⇒ πj = −∂πjπjλKXπj = 1 ⇒ λ = −KXj=1j=1πj = t1jt1j = −1Оценка матрицы AЛекция 3.Скрытыемарковскиемодели.
Часть 1log p(X, T|Θ) = ВетровЛикбезОсновыпримененияСММОпределениеСММОбучение СММс учителемАлгоритмВитербиЕМ-алгоритм+N XK XKXKXt1j log πj +j=1tn−1,i tnj log Aij +Ã N KXXn=2 i=1 j=1!tnk log p(xn |φk )n=1 k=1KKKXXXL(Θ, λ, µ) = log p(X, T|Θ) + λπj − 1 +µiAij − 1 → extrj=1i=1j=1NNXXtn−1,i t1jtn−1,i tnj∂L(Θ, λ, µ)=+ µi = 0 ⇒ Aij = −∂AijAµiijn=2n=2KXj=1Aij = 1 ⇒ µi = −N XKXn=2 j=1tn−1,i tnj = −PNtn−1,i tnjAij = Pn=2Nn=2 tn−1,iNXn=2tn−1,iОценка условной плотности p(x|t)Лекция 3.Скрытыемарковскиемодели. Часть 1log p(X, T|Θ) = KXВетровЛикбезОсновыпримененияСММОпределениеСММОбучение СММс учителемАлгоритмВитербиЕМ-алгоритм+N XK XKXt1j log πj +j=1tn−1,i tnj log Aij +Ã N KXXn=2 i=1 j=1!tnk log p(xn |φk )n=1 k=1KKKXXXL(Θ, λ, µ) = log p(X, T|Θ) + λ πj − 1 +µi Aij − 1 → extrj=1∂L(Θ, λ, µ)=∂φkN XKXn=1 k=1tnk∂ log p(xn |φk )=φki=1X{n: tnk =1}j=1∂ log p(xn |φk )=0φkПолучили стандартную задачу максимизации правдоподобия повыборке независимых одинаково-распределенных объектовXφk = arg maxlog p(xn |φk ){n: tnk =1}Для оценки параметров φk можно воспользоваться методамивосстановления плотностей, например, ЕМ-алгоритмомПланЛекция 3.Скрытыемарковскиемодели.
Часть 1ВетровЛикбезОсновыпримененияСММОпределениеСММОбучение СММс учителемАлгоритмВитерби1 ЛикбезМетод динамического программирования2 Основы применения СММОпределение СММОбучение СММ с учителемАлгоритм ВитербиЕМ-алгоритм3 ЕМ-алгоритмГрафические модели с неполными даннымиРазделение гауссовской смесиСегментация сигналаЛекция 3.Скрытыемарковскиемодели. Часть 1ВетровЛикбезОсновыпримененияСММОпределениеСММОбучение СММс учителемАлгоритмВитербиЕМ-алгоритм• Пусть известна некоторая последовательностьнаблюдений X и набор параметров СММ Θ. Требуетсяопределить наиболее вероятную последовательностьсостояний T, т.е.
найти arg maxT p(T|X, Θ)• Заметим, что p(X|Θ) не зависит от T, поэтомуp(X, T|Θ)=p(X|Θ)= arg max p(X, T|Θ) = arg max log p(X, T|Θ)arg max p(T|X, Θ) = arg maxTTTT• Но это же классическая задача динамическогопрограммирования!Аналогия с задачей объезда странЛекция 3.Скрытыемарковскиемодели. Часть 1Ветров• В самом деле логарифм совместной плотности поопределениюЛикбезОсновыпримененияСММОпределениеСММОбучение СММс учителемАлгоритмВитербиЕМ-алгоритмlog p(X, T|Θ) = +K XKN XXn=2 i=1 j=1KXt1j log πj +j=1tn−1,i tnj log Aij +ÃN XKX!tnk log p(xn |φk )n=1 k=1• Первое слагаемое определяет «пункт отбытия», второеслагаемое — стоимость перезда из города страны n − 1в город в стране n, а третье слагаемое отражает«стоимость ночлега» в выбранном городе страны nАлгоритм ВитербиЛекция 3.Скрытыемарковскиемодели.