首发于 在《人工智能》的道路上,越走越远
隐马尔可夫模型--更加接近真相。

隐马尔可夫模型--更加接近真相。

隐马尔可夫模型 (Hidden Markov Model,HMM) 最初由 L. E. Baum 和其它一些学者发表在一系列的统计学论文中,随后在语言识别,自然语言处理以及生物信息等领域体现了很大的价值。上篇我们已经了解了马尔可夫模型,不过在实际应用中,隐马尔可夫模型使用的频率会更加高,为了更好的理解模型,我们生活中的场景来理解它。

考虑交通灯的变化规律,一种变化序列可能是红-绿-橙-红。这个序列可以画成一个状态机,不同的状态按照这个状态机互相交替,每一个状态都只依赖于前一个状态,如果当前的是绿灯,那么接下来就是橙灯:



这是一个确定性系统,因此更容易理解和分析,只要这些状态转移都是已知的。但是在实际当中还存在许多不确定性系统。

在日常生活当中,我们总是希望根据当前天气的情况来预测未来天气情况,和上面的交通灯的例子不同,我们不能依靠现有知识确定天气情况的转移,但是我们还是希望能得到一个天气的模式。一种办法就是假设这个模型的每个状态都只依赖于前一个的状态,这个假设被称为马尔科夫假设,这个假设可以极大简化这个问题。显然,这个假设也是一个非常糟糕的假设,导致很多重要的信息都丢失了。

当涉及到天气的时候,马尔科夫假设描述为,假设如果我们知道之前一些天的天气信息,那么我们就能预测今天的天气。当然,这个例子也是有些不合实际的。但是,这样一个简化的系统可以有利于我们的分析,所以我们通常接受这样的假设,因为我们知道这样的系统能让我们获得一些有用的信息,尽管不是十分准确的。

下面是天气所有可能的一阶转移:

注意一个含有 N 个状态的一阶过程有 N^{2} 个状态转移。每一个转移的概率叫做状态转移概率 (state transition probability),就是从一个状态转移到另一个状态的概率。这所有的 N^{2} 个概率可以用一个状态转移矩阵来表示,其表示形式如下:


其中:

a_{ij}=P(q_{t}=j|q_{t-1}=i) 1\leq i,j\leq N


对于该矩阵有如下约束条件:

a_{ij}\geq 0,\forall i,j

\sum_{j=1}^{N}{a_{ij}}=1,\forall i

昨天和今天天气变化的一个状态转移矩阵为:


这个矩阵表示,如果昨天是晴天,那么今天有50%的可能是晴天,37.5%的概率是阴天,12.5%的概率会下雨,很明显,矩阵中每一行的和都是1。

为了初始化这样一个系统,我们需要一个初始的概率向量:

这个向量表示第一天是晴天。

到这里,我们就为上面的一阶马尔科夫过程定义了以下三个部分:

  状态:晴天、阴天和下雨

  初始向量:定义系统在时间为0的时候的状态的概率

  状态转移矩阵:每种天气转换的概率

所有的能被这样描述的系统都是一个马尔科夫过程

然而,当马尔科夫过程不够强大的时候,我们又该怎么办呢?在某些情况下,马尔科夫过程不足以描述我们希望发现的模式。例如,一个隐居的人可能不能直观的观察到天气的情况,但是民间传说告诉我们海藻的状态在某种概率上是和天气的情况相关的。在这种情况下我们有两个状态集合,一个可以观察到的状态集合(海藻的状态)和一个隐藏的状态(天气状况)。我们希望能找到一个算法可以根据海藻的状况和马尔科夫假设来预测天气的状况,这个过程中我们需要知道一个细节,隐藏状态的数目和可以观察到的状态的数目可能是不一样的,也就是说,在一个有3种状态的天气系统(sunny、cloudy、rainy)中,也许可以观察到4种潮湿程度的海藻(dry、dryish、damp、soggy)。

不过有一点我们是可以确定的,就是可以观察到的状态序列和隐藏的状态序列是概率相关的。于是我们可以将这种类型的过程建模为有一个隐藏的马尔科夫过程和一个与这个隐藏马尔科夫过程概率相关的并且可以观察到的状态集合。这就是传说中的隐马尔可夫模型。

 隐马尔可夫模型 (Hidden Markov Model) 是一种统计模型,用来描述一个含有隐含未知参数的马尔可夫过程。其难点是从可观察的参数中确定该过程的隐含参数,然后利用这些参数来作进一步的分析。下图是一个三个状态的隐马尔可夫模型状态转移图,其中x 表示隐含状态,y 表示可观察的输出,a 表示状态转换概率,b 表示输出概率。


下图显示了天气的例子中隐藏的状态和可以观察到的状态之间的关系。我们假设隐藏的状态是一个简单的一阶马尔科夫过程,并且他们两两之间都可以相互转换。



对 HMM 来说,有如下三个重要假设,尽管这些假设是不现实的。

假设1:马尔可夫假设(状态构成一阶马尔可夫链)

P(X_{i}|X_{i-1}...X_{i-1})=P(X_{i}|X_{i-1})

假设2:不动性假设(状态转换矩阵与具体时间无关)

P(X_{i+1}|X_{i})=P(X_{j+1}|X_{j}),\forall i,j

假设3:输出独立性假设(输出仅与当前状态有关)

P(O_{1},....O_{T}|X_{i},......X_{T})=\prod_{}^{}P(O_{t}|X_{t})

隐藏的状态和可观察到的状态之间有一种概率上的关系,也就是说某种隐藏状态 H 被认为是某个可以观察的状态 O1 是有概率的,假设为 P(O1 | H)。如果可以观察的状态有3种,那么很显然 P(O_{1} | H)+P(O_{2 }| H)+ P(O_{3} | H) = 1

这样,我们也可以得到一个另一个矩阵,称为混淆矩阵 (confusion matrix)。这个矩阵的内容是某个隐藏的状态被分别观察成几种不同的可以观察的状态的概率,在天气的例子中,这个矩阵如下图:



上边的图示都强调了 HMM 的状态变迁我们来用图表示出模型的演化过程:



其中绿色的圆圈表示隐藏状态,紫色圆圈表示可观察到状态,箭头表示状态之间的依存概率。


现在我们可以知道,需要用一个5元组 \left\{ N,M,\pi,A,B \right\} 来表示一个HMM模型,其中 N 表示隐藏状态的数量,我们要么知道确切的值,要么猜测该值;M 表示可观测状态的数量,可以通过训练集获得; π={πi} 为初始状态概率; A=\left\{ a_{ij} \right\} 为隐藏状态的转移矩阵 P(X_t| X_{t-1}) ;B={bik} 表示某个时刻隐藏状态到可观察状态的概率,即混淆矩阵Pr(Ot| Xt) 。在状态转移矩阵和混淆矩阵中的每个概率都是时间无关的,即当系统演化时,这些矩阵并不随时间改变。

所以,对于一个 N 和 M 固定的 HMM 来说,用 λ={ π, A, B } 表示 HMM 参数。


在正常的马尔可夫模型中,状态对于观察者来说是直接可见的。这样状态的转换概率便是全部的参数。而在隐马尔可夫模型中,状态并不是直接可见的,但受状态影响的某些变量则是可见的。每一个状态在可能输出的符号上都有一概率分布。因此输出符号的序列能够透露出状态序列的一些信息。

今天就到这里先,晚安。

天下网标王德宏关键词排名包年推广公司上海关键词按天收费多少钱庆阳网站优化软件推荐宿州模板推广公司莱芜网站改版价格九江关键词按天扣费价格阳泉百度竞价报价忻州网站优化按天扣费推荐光明网络营销哪家好大浪seo网站优化报价濮阳网页制作哪家好南平网站制作塘坑seo网站推广报价常州网页设计推荐宁波网站建设设计报价南昌网站优化按天扣费推荐临猗网站关键词优化和田网站制作设计推荐鞍山网站推广系统报价崇左seo优化推荐百色推广网站公司开封关键词按天收费报价济宁网站设计多少钱罗湖网站建设公司天门网站推广方案公司宣城设计网站多少钱安康优化报价南山网页设计大同百度爱采购公司黄冈网站定制报价香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

天下网标王 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化