5分钟了解AI算法 之 隐式马尔可夫模型(Hidden Markov Model)

一、隐式马尔可夫模型 简介(Hidden Markov Model)

在之前的文章中已经介绍了马尔可夫链,马尔可夫模型与马尔可夫链的区别在于,隐马尔科夫模型多了一条不可见的时序状态。通过对该模型各参数的推导即可解决当前AI领域比较常见的三大基石问题:概率、学习、回归

二、隐式马尔科夫模型的基本元素

以小狗的日常行为为例,小狗的状态有高兴,恐惧和焦急,它表现的行为有摇尾巴、转圈、吠叫。

状态集合 Q:

小狗的状态集合 = ( 高兴,恐惧,焦急 ) 小狗的状态集合 =(高兴,恐惧,焦急) 小狗的状态集合=(高兴,恐惧,焦急)
Q = ( q 1 , q 2 , q 3 ) Q =(q_1,q_2, q_3) Q=q1q2,q3

行为集合 L:

小狗的行为集合 = ( 摇尾巴,原地转圈,吠叫 ) {小狗的行为集合 = }(摇尾巴,原地转圈,吠叫) 小狗的行为集合=(摇尾巴,原地转圈,吠叫)
L = ( L 1 , L 2 , L 3 ) L =(L_1, L_2,L_3) L=(L1,L2L3)

以时间T为发生顺序,状态变化的序列 I:

小狗的状态序列 = ( 高兴,高兴,高兴,焦急,恐惧,恐惧 ) 小狗的状态序列=(高兴,高兴,高兴,焦急,恐惧,恐惧) 小狗的状态序列=(高兴,高兴,高兴,焦急,恐惧,恐惧)
I = ( i 1 , i 2 , i 3 , i 4 , i 5 ) I = (i_1,i_2,i_3,i_4,i_5) I=(i1,i2,i3,i4,i5)

对应状态变化时的行为学列 O:

小狗的行为序列 = ( 摇尾巴,摇尾巴,摇尾巴,原地转圈,吠叫,吠叫 ) 小狗的行为序列= (摇尾巴,摇尾巴,摇尾巴,原地转圈,吠叫,吠叫) 小狗的行为序列=(摇尾巴,摇尾巴,摇尾巴,原地转圈,吠叫,吠叫)
O = ( o 1 , o 2 , o 3 , o 4 , . . . ) O= (o_1, o_2,o_3,o_4,...) O=(o1,o2,o3,o4,...)

状态转移矩阵 A:

小狗的状态转移矩阵 = [ 高兴 恐惧 焦急 高兴 0.4 0.3 0.3 恐惧 0.7 0.5 0.3 焦急 0.7 0.5 0.3 ] 小狗的状态转移矩阵=\left[ \begin{matrix} & 高兴 &恐惧 & 焦急\\ 高兴 & 0.4 & 0.3& 0.3 \\ 恐惧 & 0.7 & 0.5 & 0.3\\ 焦急 & 0.7 & 0.5& 0.3 \\ \end{matrix} \right] 小狗的状态转移矩阵= 高兴恐惧焦急高兴0.40.70.7恐惧0.30.50.5焦急0.30.30.3
A = [ a i j ] N ∗ N A = [a_{ij}]N*N A=[aij]NN
a i j 为是时刻 t 在变化到 t + 1 时, q i 状态转移到 q j 时的概率 : a_{ij}为是时刻t在变化到t+1时,q_i状态转移到q_j时的概率: aij为是时刻t在变化到t+1时,qi状态转移到qj时的概率:
a i j = P ( i t + 1 = q j ∣ i t = q i ) a_{ij}=P(i_t+1=q_j|i_t=q_i) aij=P(it+1=qjit=qi)

行为概率矩阵 B:

小狗的行为概率矩阵 = [ 摇尾巴 原地转圈 吠叫 0.4 0.3 0.3 0.7 0.5 0.3 0.7 0.5 0.3 ] 小狗的行为概率矩阵=\left[ \begin{matrix} 摇尾巴& 原地转圈 & 吠叫\\ 0.4 & 0.3& 0.3 \\ 0.7 & 0.5 & 0.3\\ 0.7 & 0.5& 0.3 \\ \end{matrix} \right] 小狗的行为概率矩阵= 摇尾巴0.40.70.7原地转圈0.30.50.5吠叫0.30.30.3
B = [ b i ( k ) ] N ∗ M B=[b_i(k)]N*M B=[bi(k)]NM
b i ( k ) 为是时刻 q j 状态时,产生行为 v k 的概率,即: b_i(k)为是时刻q_j状态时,产生行为v_k的概率,即: bi(k)为是时刻qj状态时,产生行为vk的概率,即:
b i ( k ) = P ( o t = v k ∣ i t = q j ) b_i(k)=P(o_t= v_k|i_t=q_j) bi(k)=P(ot=vkit=qj)

隐式马尔可夫模型 M

输入: M = ( A , B , H ) , 输入:M = (A,B,H), 输入:M=(ABH),
输出: O = ( o 1 , o 2 , . . . ) 输出:O=(o_1, o_2, ...) 输出:O=(o1,o2,...)

状态初始概率 H:

初始小狗状态 = ( 摇尾巴 ) 初始小狗状态=(摇尾巴) 初始小狗状态=(摇尾巴)
H = ( h i ) , h i 在时刻 t = 1 时,状态 q i i 时的概率 H=(h_i),h_i在时刻t=1时,状态q_ii时的概率 H=(hi)hi在时刻t=1时,状态qii时的概率

三、隐马尔科夫模型的用途

已知马尔科夫模型的内部元素后,就可以通过偏移矩阵计算解决相应参数的推导问题,即当前普遍应用在ai 3大基石问题:

扫描二维码关注公众号,回复: 16478443 查看本文章
  1. 回归问题:提供模型M = (A,B,H),和观测序列O,求序列O中的元素出现概率。
    求小狗的行为 求小狗的行为 求小狗的行为

  2. 机器学习:已知状态序列I和观测序列O,求M = (A,B,H)中A、B各参数。
    求小狗状态矩阵和小狗行为矩阵 求小狗状态矩阵和小狗行为矩阵 求小狗状态矩阵和小狗行为矩阵

  3. 分类问题:已知模型M和观测序列O,求状态序列I
    求小狗状态 求小狗状态 求小狗状态

猜你喜欢

转载自blog.csdn.net/lengyoumo/article/details/132513147