• 理解HMM算法


    长这样:

     

    理解的前提:

                            

      (1)状态:生成观测值的变量(上图中的“吃”和“睡”)。

      (2)观测值:状态乘上输出概率对应的输出(上图中的橙色节点)。

      (3)输出概率:输出概率矩阵里面的某个元素(状态和观测值两层之间的某个权重参数)。

      (4)输出概率矩阵:由输出概率组成的矩阵。

      (5)bi: 第i个状态(比如”睡“)输出所有观测值对应的概率构成的行向量(上图中所有红线构成的行向量)。

      (6)o1:表示我要输出第一个观测值。不是把o1做为自变量输入到bi中,只是一个记号(个人表示没什么用)。

      (7)Πi:走 第i个状态的初始概率(p(start->吃)=0.3)。

     

      (8)αi(t):(阿尔法)在给定马尔可夫模型中,到t时刻为止,状态们在t个时刻,每个时刻都由所有状态中的一个输出某个观测值,一共输出了t个观测值观测序列,记为[公式],[公式],并且t时刻输出Ot的状态为qi(状态用q表示),把出现上述场景的概率记作αi(t),称作前向概率(应该是在做前向计算,所以形象成为”前向概率“)。

         

      (9)aij:(字母a,注意不是阿尔法,在第一张图中的“推导”公式里面的)概率转移矩阵中第i行,第j列对应的概率(今天为第i个状态,明天为第j个状态的概率。网络图示中“吃->吃”、“吃->睡”和“睡->睡”之间连线的数        值)。

     

      (10)转移概率矩阵:如下图A所示。

                                                 

     

    理解

     

     

     表示第1时刻,第i个状态的初始概率Πi乘以第i个状态对应的输出矩阵的第i行向量。

    例如:假设第i个状态为“睡”,那么Πi等于0.7,bi等于[0.3,0.5,0.2],那么第1时刻的状态为“睡”,观测值为“哭”、“没精神”和“找妈妈”的概率分别为0.7*[0.3,0.5,0.2],如果第一时刻的观测值为“哭”,那么α1(t)=0.21.

     

    t+1时刻,所有t时刻的前向概率里面按时的t时刻的状态转化为j状态后再乘以j对应的输出概率总和。

    以第2时刻为例:状态j为“吃”,那么αj(t+1)表示第二时刻,第二状态为“吃”,观测值序列为的O1O2概率,其等于第1时刻的前向概率αi(t) 乘以 第一时刻的前向概率里面暗示的第一时刻的状态i转化为状态j的概率(aij),i有可能是“吃”,也有可能是“睡”,我们要计算的是第2时刻状态为“吃”的概率,根据马尔可夫模型,第二时刻的“吃”和第一时刻的状态有关,但是我们不知道第一时刻到底是什么状态,所以用概率的方式全部考虑进来。

    [0.21,0.03,0.02]*0.1*bjo2(0.1表示“吃1”->“吃2”的概率)+[0.21,0.15,0.14]*0.9*bjo2(0.9表示“睡1”->“吃2”的概率)

    乘上转移概率之后,在乘以“吃”对应的输出概率行向量:

    [0.021,0.003,0.002]Tx[0.7,0.1,0.2] + [0.189,0.135,0.126]Tx[0.7,0.1,0.2](考虑了所有情况,可能会有点费解,请看下一行)

    如果第一时刻的观测值为“哭”,第二时刻的状态为“吃”,观测值为“哭”,那么αj(t+1)=0.21*0.1*0.7=0.0147 + 0.21*.0.9*0.7=0.1323.

    μ:给定的马尔可夫模型。

    O:1-T+1时刻的观测值序列。

    在马尔可夫模型μ中,输出序列O的概率为:输出O并且T+1时刻的状态为qi的概率综合。

     

    本文截图部分来自:隐马尔科夫模型(HMM)一前向与后向算法 - 知乎 (zhihu.com) 

     

  • 相关阅读:
    数据库中的数据
    Docker默认桥接网络是如何工作的
    kotlin--3.集合操作
    Node.js精进(5)——HTTP
    Spark Monte Carlo
    通过Idea或命令将本地项目上传至git
    浏览器自带的拾色器
    luma.oled 常用函数
    双11商品售价不再出错!金鱼电器:价格自动监控,全年节省人天365
    QT 支持window 和 mac下应用程序崩溃检测
  • 原文地址:https://www.cnblogs.com/hisi-tech/p/16026253.html