马尔科夫模型假设:
1.马尔科夫模型认为每一时刻的表现x有一个状态z与其对应
2.观测独立性假设:每个时刻的输出都只与当前的状态有关
3.贝叶斯公式P(o|λ) = P(λ|o)P(o) / P(λ)
马尔科夫模型的推导过程
对于马尔科夫模型,求解的最终目的是
1 | maxP(o1o2...on|λ1λ2...λn) |
由于p(o|λ)是个关于2n各变量的条件概率,并且n不固定,因此没办法进行精确计算。因此马尔科夫链模型采用了一种更加巧妙地方式来进行建模。
首先,根据贝叶斯公式可以得:
1 | P(o|λ) = P(λ|o)P(o) / P(λ) |
λ为给定的输入,因此P(λ)为常数,因此可以忽略.因此
1 | P(o|λ) = P(λ|o)P(o) |
而根据观测独立性假设,可以得到
1 | P(o1o2...on|λ1λ2...λn) = P(o1|λ1)P(o2|λ2)...P(on|λn) |
而由于其次马尔科夫假设,每个输出仅与上一个一个输出有关,那么
1 | P(o) = p(o1)P(o2|o1)....P(on|on-1) |
因此最终可得:
1 | P(o|λ) ~ p(o1)P(o1|o2)P(λ|o2)P(o2|o3)P(λ3|o3)...P(on|on-1)P(λ|on) |
其中,P(λk|ok)为发射概率,P(ok|ok-1)为转移概率。
维特比算法
维特比算法是隐马尔科夫模型最终求解当前表现链最可能对应的状态链使用的一种动态规划算法。主要思想是:
HMM模型训练后的输出为:初始状态概率矩阵、状态转移矩阵、发射概率矩阵三个结果,用来后续进行预测
概率图模型大部分都是这样,输出为几个概率矩阵
而LR模型的输出就为系数矩阵了
我们可以看出来,LR在使用训练好的模型进行与测试效率较高,而HMM使用训练好的模型进行训练时效率较低