隐马学习一

          这学期初学习隐马知识并作词性标注练习,到年底了,简单整理隐马尔可夫模型这块知识,只求还能记住点东西。

隐马尔可夫模型是什么

           隐马尔可夫模型(Hidden Markov Model,HMM)是一种统计模型,它用来描述含有隐含未知参数的马尔可夫过程。其难点是从可观察的参数中确定该过程的隐含参数,然后利用这些参数来作进一步的分析。
           我的理解是就如隐马的描述一样,只要是通过观察事件而去推测隐藏事件的情况这样的场景都可以用隐马。通过翻阅知网论文资料可以看出隐马思想被运用到了很多领域,以下是我对三个领域的简单理解:
           语音识别,通过可以观察感知的声学特征推测隐藏其中的文字序列;机器翻译,通过可以观察感知的一种语言文字序列去推测隐藏其中的另外一种语言文字序列;词性标注,通过可以观察感知的词组序列的推测隐藏其中的词性序列。

隐马的五个元素

             一个问题运用隐马思维来解决,整体可以分五个元素及要解决三个方面的问题。这里先说元素:

隐含状态 S。这些状态之间满足马尔可夫性质,是马尔可夫模型中实际所隐含的状态。这些状态通常无法通过直接观测而得到。

可观测序列O。在模型中与隐含状态相关联,可通过直接观测而得到事件。

初始状态概率矩阵 π.初始状态概率矩阵 π.

隐含状态转移概率矩阵 A。描述了HMM模型中各个状态之间的转移概率。

状态发射概率矩阵 B .令N代表隐含状态数目,M代表可观测状态数目,则:B[i][j]= P( O[i] | S[j] ), 1≤i≤M,1≤j≤N.表示在 t 时刻、隐含状态是 S[j]条件下,观察状态为 O[i]的概率。

隐马的三个问题及对应解经典解决方法

评估问题。对于给定模型μ=(A,B,π),求某个观察值序列O=O1O2...OT的概率。这个比较经典的是前向后向算法。

解码问题。对于给定模型和观察值序列,求可能性最大的状态序列。对应的有viterbi算法。

学习问题。在利用隐马解决问题实际问题时,需要知道三个参数:转移概率,从一个状态St-1进入当前状态St的概率P();发射概率,每个状态St产生相应输出符号的概率P();初始状态情况。怎么确定或者得到这三个参数。

学习问题

           为什么专一提到这个学习问题呢?一开始看很多资料都没明白这个学习问题是怎么会事,后来看吴军《数学之美》里边有关这个问题的介绍,才稍微理解一点。关于这块的没什么代码,就一个思想介绍,真是佩服了。

           鲍姆-韦奇算法原理:首先找到一组能够产生输出序列O的模型参数,这个初始模型成为Mtheta0,需要在此基础上找到一个更好的模型,假定不但可以算出这个模型产生O的概率P(O|Mtheta0),而且能够找到这个模型产生O的所有可能的路径以及这些路径的概率。解决了前两个问题并根据上述两个公式可以算出一组新的模型参数Mtheta1,从Mtheta0到Mtheta1的过程称为一次迭代。接下来从Mtheta1出发寻找更好的模型Mtheta2,并一直找下去,直到模型的质量没有明显提高为止。这样一直估计(Expectation)新的模型参数,使得输出的概率达到最大化(Maximization)的过程被称为期望值最大化(Expectation-Maximization)简称EM过程。EM过程能保证一定能收敛到一个局部最优点,但不能保证找到全局最优点。

学习资料:

1,《统计自然语言处理》 宗成庆 

2,百度百科,维基百科   

3,网络博文《隐马尔可夫模型(HMM)攻略》   

4,《数学之美》

5,网络博文《隐马尔科夫模型C#语言算法实现 》(挺好的,特推荐)

 




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值