Скрытая марковская модель

машинное обучение искусственный интеллект

Это 16-й день моего участия в августовском испытании обновлений. Узнайте подробности события:Испытание августовского обновления

Скрытая марковская модель

Скрытая марковская модель также является генеративной моделью. Это вероятностная модель, используемая для описания перехода неявного состояния системы и вероятности выполнения неявного состояния.

концепция

Что такое рецессивное состояние?

Рецессивные цепи Маркова случайным образом генерируют последовательность состояний, в которой состояния являются рецессивными, то есть состояниями, которые не могут наблюдаться внешним миром. Мы называем это рецессивным состоянием. В дальнейшем статус.

Вероятность перехода между состояниями, заданнаяМатрица вероятности перехода состояния AAВыражать:

A=[aij]N×Naij=P(it+1=qjit=qi),i=1,...,N;j=1,...,NA=[a_{ij}]_{N\times N} \\ a_{ij}=P(i_{t+1}=q_j|i_t=q_i),i=1,...,N;j=1,...,N

aija_{ij}представляет состояние в момент времени tqiq_iсуществуетt+1t+1переход в состояниеqjq_jВероятность.

Что такое наблюдение?

Рецессивное состояние, т. е. каждое состояние порождает соответствующеенаблюдение, который также производит последовательность наблюдений.

Матрица вероятности наблюденияиспользоватьBBВыражать:

B=[bj(k)]N×Nbj(k)=P(ot=vkit=qt),k=1,...,M;j=1,...,NB=[b_{j}(k)]_{N\times N} \\ b_j(k)=P(o_t=v_k|i_t=q_t),k=1,...,M;j=1,...,N

bj(k)b_j(k)представляет состояние в момент времени tqjq_jгенерировать наблюденияvkv_kВероятность.

Распределение вероятностей начального состояния, счисло Пи\piпредставляет вероятность каждого состояния в начальный момент.

Фактически HMM не может наблюдать последовательность перехода состояния системы, а может наблюдать только последовательность производительности состояния системы. Модель НММ может быть представлена ​​тройкой, т.е.λ=(A,B,число Пи)\lambda=(A,B,\pi).

Условия, которые должны быть выполнены HMM:

  • Переход состояния должен удовлетворять марковскому свойству, то есть состояние гипотетической цепи Маркова в любой момент времени t связано только с предыдущим моментом времени и не имеет ничего общего с состояниями и наблюдениями в другие моменты времени.
  • Предположение о независимости от наблюдений. То есть наблюдения независимы.
  • Состояние должно иметь возможность приблизительно оценить.

Расчет вероятности

Учитывая модель HMMλ=(A,B,число Пи)\lambda=(A,B,\pi)и текущийTTвременной ряд наблюденийO=(o1,...oT)O=(o_1,...o_T), вычислить вероятность появления последовательности наблюденийP(Oλ)P(O|\lambda).

прямой алгоритм

Форвардная вероятность: учитывая модельλ\lambda,ttПоследовательность наблюдения за временемo1,...,oto_1,...,o_t, а статус такойqiq_iВероятность. На самом деле время отt=1t=1начать отталкивать

at(i)=P(o1,o2,...,ot,it=qiλ)a_t(i)=P(o_1,o_2,...,o_t,i_t=q_i|\lambda)

Вероятность наблюдения последовательности:

t=1:  a1(i)=число Пиibi(o1),i=1,2,...,Nt=1,2,...,T1:  at+1(i)=[j=1Nat(j)aji]bi(ot+1),i=1,2,...,NP(Oλ)=i=1NaT(i)t=1:\; a_1(i)=\pi_ib_i(o_1),i=1,2,...,N \\ t=1,2,...,T-1:\;a_{t+1}(i)=[\sum_{j=1}^N a_t(j) a_{ji}]b_i(o_{t+1}),i=1,2,...,N \\ P(O|\lambda)=\sum_{i=1}^N a_T(i)

at+1(i)a_{t+1}(i)текущее состояниеqiq_iсуществуетt+1t+1форвардная вероятность во времени.

обратный алгоритм

Обратная вероятность: Точно так же, фактически, это временной ряд отt=Tt=TНачните продвигаться вперед. В частности, учитывая модельλ\lambda,отt+1t+1времяTTПоследовательность наблюдения за временемot+1,...,oTo_{t+1},...,o_T, а статус такойqiq_iВероятность.

Вероятность наблюдения последовательности:

t=T:  βT(i)=1,i=1,2,...,Nt=T1,T2,...,1:  βt(i)=j=1Naijbj(ot+1)βt+1(j),i=1,2,...,NP(Oλ)=i=1Nчисло Пиibi(o1)β1(i)t=T:\; \beta_T(i)=1,i=1,2,...,N \\ t=T-1,T-2,...,1:\; \beta_{t}(i)=\sum_{j=1}^N a_{ij} b_j(o_{t+1})\beta_{t+1}(j),i=1,2,...,N \\ P(O|\lambda)=\sum_{i=1}^N \pi_i b_i(o_1) \beta_1(i)

Используя прямую и обратную вероятности, вероятность конечной последовательности наблюдений определяется следующим образом

P(Oλ)=i=1Nj=1Nat(i)aijbj(ot+1)βt+1(j),t=1,...,T1P(O|\lambda)=\sum_{i=1}^N\sum_{j=1}^N a_t(i)a_{ij}b_j(o_{t+1})\beta_{t+1}(j),t=1,...,T-1

данныйλ\lambdaи последовательность наблюденияOO, состояние в момент времени tqiq_iВероятность:

P(it=qiO,λ)=P(it=qi,Oλ)P(Oλ)=αt(i)βt(i)j=1Nαt(j)βt(j)P(i_t=q_i|O,\lambda)=\dfrac{P(i_t=q_i,O|\lambda)}{P(O|\lambda)}=\dfrac{\alpha_t(i)\beta_t(i)}{\sum_{j=1}^N\alpha_t(j)\beta_t(j)}

данныйλ\lambdaи последовательность наблюденияOO, состояние в момент времени tqiq_iИ он находится в состоянии в момент времени t+1qjq_{j}Вероятность:

P(it=qi,it+1=qjO,λ)=P(it=qi,it+1=qj,Oλ)P(Oλ)=αt(i)aijbj(ot+1)βt+1(i)i=1Nj=1Nαt(i)aijbj(ot+1)βt+1(i)P(i_t=q_i,i_{t+1}=q_j|O,\lambda)=\dfrac{P(i_t=q_i,i_{t+1}=q_j,O|\lambda)}{P(O|\lambda)}=\dfrac{\alpha_t(i)a_{ij}b_j(o_{t+1})\beta_{t+1}(i)}{\sum_{i=1}^N\sum_{j=1}^N \alpha_t(i)a_{ij}b_j(o_{t+1})\beta_{t+1}(i)}

учиться

Есть два метода обучения. Одно обучение с учителем, а другое обучение без учителя.

Различие основано на типе обучающих данных. Если обучающие данные включают в себя последовательности наблюдений и соответствующие последовательности состояний, их можно реализовать с помощью обучения с учителем, то естьОценка максимального правдоподобия; Если обучающие данные представляют собой только последовательность наблюдений, она реализуется методом обучения без учителя, то естьЭМ-алгоритм.

Цель обучения очевидна, т. е. модельλ=(A,B,число Пи)\lambda=(A,B,\pi)три параметра в .

Оценка максимального правдоподобия

Известно, что в обучающей выборке есть последовательности наблюденийOOи соответствующая последовательность состоянийII,Сейчас{(O1,I1),(O2,I2),...,(Os,Is)}\{(O_1,I_1),(O_2,I_2),...,(O_s,I_s)\}общийssправильно.

Используя метод максимального правдоподобия, можно оценить параметры модели.

вероятность перехода состоянияaija_{ij}Его можно оценить следующим образом:

a^ij=Aijj=1NAij,i=1,..,N;j=1,...,N\hat{a}_{ij}=\dfrac{A_{ij}}{\sum_{j=1}^N A_{ij}},\qquad i=1,..,N;j=1,...,N

один из нихAijA_{ij}представляет образецttсостояние моментаiiперейти кt+1t+1состояние моментаjjчастота возникновения. То есть сколько раз состояние появляется в выборкеiiпереход в состояние в следующий моментjj. Это еще проще для понимания.

а наблюдаемая вероятностьbj(k)b_j(k)оценивается как:

b^j(k)=Bjkk=1MBjk,i=1,..,N;j=1,...,M\hat{b}_j(k)=\dfrac{B_{jk}}{\sum_{k=1}^M B_{jk}},\qquad i=1,..,N;j=1,...,M

в,BjkB_{jk}Указывает состояние в образцеqjq_jгенерировать наблюденияvkv_kчастота.

Для вероятности начального состояниячисло Пи\piОценка относительно проста и заключается в вычислении частоты появления каждого начального состояния во всех выборках.

На основе алгоритма EM

Оглядываясь назад на настройку, только в обучающих выборкахSSдлинаTTПоследовательность наблюдения за{O1,...,Os}\{O_1,...,O_s\}, наша цель также узнать параметры в модели.

из-за последовательности состоянийIIнеизвестно, HMM становится вероятностной моделью со скрытыми переменными:

P(Oλ)=P(OI,λ)P(Iλ)P(O|\lambda)=\sum P(O|I,\lambda)P(I|\lambda)

Вопрос, как узнать параметры этой модели?

Ответ — алгоритм EM.

Мы знаем, что алгоритм EM делится на E шагов и M шагов.

Е шаг

E - спросить об ожиданиях. Сначала нам нужно инициализировать набор параметровaij(0),bj(k)(0),число Пиi(0)a^{(0)}_{ij},b_j(k)^{(0)},\pi_i^{(0)}. Затем определяется функция Q, которая является скрытой переменнойIIНайдите нужную функцию.

Q(λ,λ^)=IlogP(OI,λ)P(OI,λ^)Q(\lambda,\hat{\lambda})=\sum_I \log P(O|I,\lambda)P(O|I,\hat{\lambda})

λ^\hat{\lambda}представляет оценочное значение. дальше,

Q(λ,λ^)=IlogP(OI,λ)P(OI,λ^)=Ilogчисло Пиi1bi1(o1)ai1i2bi2(o2)...aiT1iTbiT(oT)  P(OI,λ^)=Ilogчисло Пиi1P(OI,λ^)+I(t=1Tlogaitit+1)P(OI,λ^)+I(t=1Tlogbit(ot))P(OI,λ^)\begin{aligned} Q(\lambda,\hat{\lambda})&=\sum_I \log P(O|I,\lambda)P(O|I,\hat{\lambda})\\ &=\sum_I \log \pi_{i_1}b_{i_1}(o_1)a_{i_1i_2}b_{i_2}(o_2)...a_{i_{T-1}i_{T}}b_{i_T}(o_T) \;P(O|I,\hat{\lambda}) \\ &=\sum_I \log \pi_{i_1}P(O|I,\hat{\lambda})+\sum_I(\sum_{t=1}^T\log a_{i_t i_{t+1}})P(O|I,\hat{\lambda})+\sum_I(\sum_{t=1}^T\log b_{i_t} (o_t))P(O|I,\hat{\lambda}) \end{aligned}

Шаг E заключается в вычислении этой функции.

М шаг

М для максимизации. Три члена приведенного выше уравнения максимизируются соответственно.

Вот вывод с использованием метода множителей Лагранжа.Процесс немного сложный.Вы можете напрямую сослаться на содержание книги и не будем здесь распространяться.

Наконец, оценочные значения параметров могут быть решены:

число Пиi=P(O,i1=iλ^)P(Oλ^)\pi_i=\dfrac{P(O,i_1=i|\hat{\lambda})}{P(O|\hat{\lambda})}
aij=t=1T1P(O,i1=i,it+1=jλ^)t=1T1P(O,i1=iλ^)a_{ij}=\dfrac{\sum_{t=1}^{T-1} P(O,i_1=i,i_{t+1}=j|\hat{\lambda})}{\sum_{t=1}^{T-1} P(O,i_1=i|\hat{\lambda})}
bj(k)=t=1TP(O,i1=jλ^)I(ot=vk)t=1TP(O,i1=jλ^)b_{j}(k)=\dfrac{\sum_{t=1}^{T}P(O,i_1=j|\hat{\lambda})I(o_t=v_k)}{\sum_{t=1}^{T} P(O,i_1=j|\hat{\lambda})}

Ссылаться на

  1. Учитель Ли Ханг - "Статистические методы обучения"