隐马尔科夫模型——学习算法

来源:互联网 发布:装修效果软件手机软件 编辑:程序博客网 时间:2024/06/05 02:18

前言

隐马尔科夫模型有三个基本问题:概率计算问题,学习问题,预测问题。本博客介绍学习问题的监督学习算法和非监督学习算法(EM算法)。阅读本文前请先学习基本概念。

什么是学习问题

学习问题是一直观测序列O=(o1,o2,...,oT),估计模型λ=(A,B,π)参数,使得在该模型下观测序列概率P(O|λ)最大。

如果训练数据是观测序列和对应的状态序列,由监督学习实现;如果观测数据只有观测序列,由非监督学习实现。

监督学习方法

训练数据包括S个观测序列和与观测序列对应的状态序列对{(O1,I1),(O2,I2),...,(OS,IS)},利用极大似然估计法来估计隐马尔科夫模型参数。

首先,解释一下什么是极大似然估计。

极大似然估计

极大似然估计,又被称之为最大似然估计(Maximum Likelihood
Estimate,MLE),通俗地来说,就是利用已知样本结果信息,反推最有可能(最大概率)导致样本结果出现的模型参数。一句话总结:模型已定,参数未知。

对参数进行推断,称之为“似然”,得到最可能的模型参数,称之为“最大似然估计”

举一两个生活的例子(o( ̄︶ ̄)o):

  • 你在路上看到一个长发背影,第一反应这个人很大可能是个女生而不是男生。因为女生留长发的可能性要比男生大。
  • 你中午吃了海鲜然后拉肚子了,第一反应是中午吃海鲜过敏或者不卫生。

举一个比较专业的例子:(知乎上看到的)

  • 有一个箱子,里面只有黑白两种球,一共100个球,但黑白球各自数量不知。每次抽取一球然后放回重新抽取。重复试验100次后,发现有70次抽取到的是白球,剩下30次是黑球。问:箱子里白球的数量最可能是多少?
    从一个“门外汉”的角度,第一反应是70。从专业的数学角度,假设抽取了70次白球,30次黑球的概率用P(|Model)表示,第i次抽样结果用xi表示,p表示一次抽样结果是白球的概率,则
    P(|Model)  =P(x1,x2,...,x100|Model)=P(x1|Model)P(x2|Model)...P(x100|Model=p70(1p)30
    最后的p70(1p)30就是我们得到的似然函数。似然函数最大时(即样本出现的概率最大),此时对应的p值就是我们要找的模型参数。对该似然函数求导,令导数为0,得到p对应值为0.7。

关于似然函数,需要知道:

  • 极大似然估计中采样需要的样本必须满足独立同分布假设。如本例中,每次抽取都是独立同分布的。
  • 极大似然估计是用来解决优化问题,它的核心是让所采样的样本出现概率最大。具体而言,先求出似然函数,后求导得到似然函数最大值,从而得到模型参数。

监督学习具体算法

1.转移概率aij的估计:

aij=AijNj=1Aij
其中,Aij代表样本中时刻t处于状态i时刻t+1处于状态j的频数。
2.观测状态bj(k)的估计:
bj(k)=BjkMk=1Bjk
其中,Bjk代表状态为j观测为k的频数。
3.初始状态概率πi的估计为S个样本中初始状态为qi的频率。

Baum-Welch算法(EM算法)

稍微说一下什么是拉格朗日乘子法

拉格朗日乘子法:将约束条件函数与原函数联立,从而求出使原函数取得极值的各个变量的解。

后面我就不详细写了,这位大神写的太好了隐马尔可夫模型之Baum-Welch算法详解

后续

还是那句话,数学,数学啊,得好好补数学了。。。。

阅读全文
0 0
原创粉丝点击