赞
踩
想在 CSDN 上看一下隐马尔科夫模型,简称HMM(Hidden Markov Model)的例子,找了几篇博文,却发现大部分都是转载的,转载的还没有出处,文中的表述与逻辑也看的人晕头转向,让人无语。
随决定自己来写,刚好将以往的知识点整理一下,希望自己能坚持写完。
最近在做类似英语流利说的英语读音自动评分项目,项目预期分为两个阶段,第一个阶段是对单词读音的评分,第二个阶段是对句子读音的评分。
对于单词读音的评分,我用余弦相似度做了一个小的Demo,数据库是找人录制的,有20个人来读20个不同的单词,共400个读音。
这个简单的Demo的处理比较粗糙,处理流程如下:
Demo的测试结果凑合,并不是很理想。所以想采用 隐马尔科夫模型 HMM 对单词进行建模,然后比较各个模型之间的相似度。
隐马尔科夫模型Hidden Markov Model(HMM), 是一种基于概率的统计分析模型,用来描述一个系统隐性状态的转移和隐性状态的表现概率[1]。隐马尔科夫模型基于马尔科夫过程和马尔科夫链,所以,在介绍隐马尔科夫模型 HMM 之前,本文首先介绍马尔科夫过程 Markov process 和马尔科夫链 (discrete-time) Markov chain。
马尔科夫过程(Markov process)是一类随机过程。它的原始模型马尔科夫链,由俄国数学家安德烈·马尔科夫(A.A.Markov,1856-1922)于1907年提出。
马尔科夫过程有如下特性:在已知目前状态(现在)的条件下,它未来的演变(将来)不依赖于它以往的演变(过去)。主要研究一个系统的状况及其转移的理论。它是通过对不同状态的初始概率以及状态之间的转移概率的研究,来确定状态的变化趋势,从而达到对预测未来的目的。
在现实世界中,有很多过程都是马尔科夫过程,如液体中微粒所作的布朗运动、传染病受感染的人数、车站的候车人数等,都可视为马尔科夫过程[2]。
马尔科夫过程有两个基本特征:
马尔科夫链 Markov chain 是指具有马尔科夫性质的离散事件随机过程,即时间和状态参数都是离散的马尔科夫过程,是最简单的马尔科夫过程。也就是说,一般的马尔科夫过程所研究的时间是无限的,是连续变量,其数值是连续不断的,相邻两值之间可做无限分割,且做研究的状态也是无限多的。而马尔科夫链的时间参数取离散数值。在经济预测中,一般的时间取的是日、月、季、年。同时马尔科夫链的状态也是有限的,只有可列个状态。例如天气状态可取“晴”和“下雨”两种。
在马尔科夫链中,在给定当前知识或信息的情况下,过去(即当前以前的历史状态)对于预测将来(即当前以后的未来状态)是无关的。举个蛙跳的例子:假定池中有N张荷叶,编号为1,2,3,……,N,即蛙跳可能有N个状态(状态确知且离散)。青蛙所属荷叶,为它目前所处的状态;因此它未来的状态,只与现在所处状态有关,而与以前的状态无关(无后效性成立)。
马尔可夫链(Markov Chain),描述了一种状态序列,其每个状态值取决于前面有限个状态。
在马尔可夫链的每一步,系统根据概率分布,可以从一个状态变到另一个状态,也可以保持当前状态。状态的改变叫做转移,与不同的状态改变相关的概率叫做转移概率[3]。
转移概率(Transition Probability)是马尔可夫链中的重要概念,状态转移矩阵是俄国数学家马尔科夫提出的,他在20世纪初发现:一个系统的某些因素在转移中,第 n 次结果只受第 n-1 的结果影响,即只与当前所处状态有关,而与过去状态无关.
马尔可夫链是由一个条件分布来表示:
上面的条件概率被称为是随机过程中的“转移概率”。这有时也被称作是“一步转移概率”。
在马尔科夫分析中,引入状态转移这个概念.所谓状态是指客观事物可能出现或存在的状态;状态转移概率是指客观事物由一种状态转移到另一种状态的概率。
转移概率组成了转移概率矩阵,状态转移矩阵中的每一个元素被称为状态转移概率,由概率论知识可知,每个状态转移概率皆为正数,用公式即可表示为:
由概率论知识知,状态转移阵中的每一行状态转移阵中每行相加皆为1,用公式可表示为:
[1] http://www.cnblogs.com/crazyacking/p/6505033.html
[2] https://baike.baidu.com/item/马尔可夫过程/2952385?fr=aladdin
[3] https://baike.baidu.com/item/马尔可夫链
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。