机器学习系列7-隐马尔科夫模型

前言


    最近一直在看机器学习算法模型,但是总是在各种原理以及推导中迷失,感觉自己理解了,但是放下书本却又不知所以然,这种“差不多理解了”现象相信也会困扰很多初学者,于是我就想,能不能有一种方式,简单,通俗,易懂,印象深刻的为大家呈现机器学习这种看上去很“深奥”的知识。

    恰巧本周组内小伙伴分享“自然语言处理-中文分词的一些常用方法”,分享过程中两件事情使我印象深刻,第一:很多知识点,总是讲到结果就结束了,没有讲为什么我们需要这样做,比如,讲到基于规则或词典的分词方法时,正向最大匹配法开始使用5个字符进行匹配,如果没有匹配上,则从最后截取一位丢掉,剩下四个字符继续匹配,依次类推。但是,为什么设定5个字符,而不是6个,7个呢?第二:讲到基于统计的分词方法时,隐马尔可夫模型被提到了重点上,但是如何使用隐马尔可夫进行分词,以及隐马尔可夫怎么应用到其他场景,我觉得这是一个模型的重点,模型的思想固然重要,但是怎么讲具体场景抽象到模型上,似乎更为重要,对于一个不是专门搞算法的人来讲。

    恰好自己之前看了部分HMM的原理,被同事一讲,豁然开朗,所以准备用自己的理解将HMM讲的更加直观一点。

隐马尔可夫(HMM)基本概念


隐马尔可夫模型是一个概率统计模型,主要包含五个部分:

(1)初始概率(PI):用于描述t1(初始)时刻各个隐藏状态发生的可能性

(2)状态序列(H):用于描述隐藏状态的发生序列

(3)观测序列(O):用于描述隐藏状态产生的可观测序列

(4)转移矩阵(A):用于描述各个隐含状态之间转移的概率分布

(5)发射矩阵(B):用于描述隐含状态到观测状态之间的概率分布

    一般,一个模型的确定即M=(PI,A,B)

隐马尔可夫(HMM)模型的假设前提


    HMM模型成立的前提是做了两个基本假设:

(1)齐次马尔可夫性假设:即假设隐藏的马尔可夫链在任一时刻t的状态只依赖于前一个时刻的状态,与其他状态和观测无关,也与t时刻无关。

(2)观测独立性假设:即任意时刻的观测状态只依赖于该时刻的马尔可夫链状态(隐藏状态),与其他观测状态无关。

隐马尔可夫(HMM)能做什么


    在HMM中有三类典型问题:

(1)概率计算问题:已知模型参数M=(PI,A,B),计算某一个给定的观测状态序列(O)的概率,即P(O|M)

(2)解码问题:已知可观测状态序列(O)和模型参数M=(PI,A,B),找到一个最有可能的隐藏状态序列(H),即P(H|O,M)

(3)学习问题:已知可观测状态序列集(O),找到一个最可能的HMM模型(模型各种参数(A,B),使用最大似然估计的方法)

    解决以上三类问题,通常我们会有对应的方法来解决:

(1)概率计算问题:直接计算方法(概念可行但计算不可行),前向算法,后向算法

(2)解码问题:近似算法与维特比算法(Viterbi)

(3)学习问题:监督学习算法(训练数据包含观测序列和对应的状态序列),非监督学习算法(Baum-Welch算法即EM算法)

隐马尔可夫应用实例


    隐马尔可夫模型应用的一个难点就是如何将问题进行抽象,映射到模型的几个元素上,接下来我将几个常见的博客中的问题进行一下简单抽象。

(1)天气预测问题

观测状态:去公园,在家,去购物

隐藏状态:晴天,雨天,多云

转移概率:晴天到雨天概率,晴天到多云概率。。。。

发射概率:晴天去公园概率,晴天在家概率。。。。。

最终,通过去观察一个人的事件来预测最近几天的天气序列。

(2)骰子作弊问题

观测状态:骰子掷出来的观测值(1,2,3,4.。。。。)

隐藏状态:使用的骰子类型(八面骰,六面骰。。。。)

转移概率:八面骰到六面骰概率,六面骰到四面骰概率。。。。

发射概率:八面骰掷出1的概率,八面骰掷出2的概率,六面骰掷出2的概率。。。。。

最终,通过去观察一串掷出的骰子序列来预测使用的骰子类型序列。

(3)中文分词问题

观测状态:中文字(我,是。。。。)

隐藏状态:中文状态,B(一个词的开始),M(一个词的中间),E(一个词的结尾),S(单独一个词)

转移概率:开始词到中间词的概率,单字到开始词的概率。。。。

发射概率:开始词到我的概率,开始词到是的概率。。。。。

最终,通过去观察一个中文序列来预测每个字的状态,最后通过状态就可以将词分割出来。

(4)词性标注问题

观测状态:中文词(我,是,男人。。。)

隐藏状态:词性(动词,名词。。。)

转移概率:动词到名词的概率,名词到动词的概率。。。。

发射概率:动态到我的概率,名词词到我的概率。。。。。

最终,通过去观察一个中文词序列来预测每个词的状态,即每个词是什么词性。

ps:以上示例的前提是模型参数已经训练出来,直接进行预测。其实隐马尔可夫模型要解决的三个问题是有内在关联的。即

(1)在不知道模型参数前提下,需要解决学习问题,即通过训练数据,确定模型参数,训练出来模型

(2)在模型通过学习问题学习出来后(或者已知参数,一般教程使用,实际应用不现实),在进行概率计算或者上面示例的预测(解码)


分割线

如果只是想使用隐马尔可夫模型解决实际应用问题,那么上面的内容应该可以满足业务需求的。可以不用向下看了,因为目前很多框架对于模型的集成已经很成熟了,以上内容足够支撑你做一个合格的调参侠了。

如果想对模型的原理进行了解,请跟我来,接下来将分别针对HMM解决的三个问题进行原理分析。


概率计算问题

前向算法:


后向算法



学习问题

(1)训练样本中包含观测状态和对应的状态序列

a.转移概率

转移概率矩阵

b.发射概率


发射概率矩阵

c.初始状态矩阵

根据训练样本的初始值频数计算概率

(2)Baum-Welch算法(EM算法)

    后面在EM算法那一篇博客进行讲解


预测(标注)问题


(1)近似算法

近似算法原理

    但是近似算法的缺点是不能保证预测的状态序列整体是最有可能出现的序列,因为上述方法得到的状态序列中可能存在转移概率为0的相邻状态。

(2)维特比算法

    维特比算法实际是使用动态规划解决HMM预测问题。


维特比算法


求的最优路径

参考文献


(1)http://www.52nlp.cn/tag/隐马尔可夫模型

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,884评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,212评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 167,351评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,412评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,438评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,127评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,714评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,636评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,173评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,264评论 3 339
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,402评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,073评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,763评论 3 332
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,253评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,382评论 1 271
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,749评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,403评论 2 358

推荐阅读更多精彩内容