朴素贝叶斯分类器与隐马尔可夫模型

朴素贝叶斯分类器与马尔科夫模型

写在前面,本文对过去几天学习的新的数学模型的总结,主要是这样的概率编程问题,图模型在很多链式结构中非常有用,概率模型对分类和决策问题是绝佳的解决手段,图模型与概率相结合对很多的分类和预测问题产生了化学反应,如果在认知领域出现了什么更牛逼的算法,我想贝叶斯和马尔科夫的模型应该也是原型之一

朴素贝叶斯分类器(Naive Baysian classifier)

我们先说概率模型,概率问题实际说白了是一个逼近的过程,因为一件事的概率总不可能是100%,这样的情况可能少之又少,所以,无限逼近的预测就是最好的预测,即使在预测到的准确率只是多于50%高一点,在应用到大数据和长周期的环境中仍然有巨大的作用。
实际我们都在浙大的那本概率论中见识过贝叶斯公式了,只是你还没发现原来这就是贝叶斯公式,我已经忘了当时的概率论老师是否讲了这个公式的巨大意义,我想八成没讲吧。
试想一种情况,在我们的现实世界中很多东西的发生必然关联着其后事件的发生,也就是说本质上生活中很多事情都可以抽象成为知道了一件事情,求取另外一件事情发生的概率这样的问题。比如我在一个箱子里面取出小球,这个箱子一共有10个球,其中红色和蓝色各五个,如果我第一次从这个箱子里面取出了红色的球,那么第二次取出的球是蓝球还是红球的概率是否因为第一次发生了影响呢。答案是显而易见的。

贝叶斯公式和全概率公式

我们首先给出来全概率形式的贝叶斯公式

P(Ai|B)=P(B|Ai)P(Ai)ni=1P(B|Ai)P(Ai)P(Ai|B)=P(B|Ai)P(Ai)∑i=1nP(B|Ai)P(Ai)

在上式中,由公式的语义可知,在知道一件事情发生之后可以求取在此事件发生之后,另一个关联事件发生的概率,在其他的博文中给出了很多不同的例子解读这个贝叶斯公式,在下文中,我们引申一下这个公式,扩大它的使用范围之后给出一个显而易见的例子。

P(Ai|B)=P(B|A)P(A)P(B)P(Ai|B)=P(B|A)P(A)P(B)

朴素贝叶斯分类器

朴素贝叶斯是一种预测各种类别概率的计算模型。

在概率论的范畴里面,很多问题都可以使用条件概率公式P(A|B1,B2,B3...)P(A|B1,B2,B3...)可以将公式两边分别乘以分母,可知等式两边的联合概率分布是相等的。
下面举一个例子,根据朴素贝叶斯分类器得出类别的概率。
本例引自http://www.ruanyifeng.com/blog/2013/12/naive_bayes_classifier.html,我会对例子稍作一些描述性的更改,读者可留在本文或者移步原文。

病人分类的例子

某医院早上收治了六个门诊病人,如下表所示:

症状职业疾病
打喷嚏护士感冒
打喷嚏农夫过敏
头痛建筑工人脑震荡
头痛建筑工人感冒
打喷嚏教师感冒
头痛教师脑震荡

现在又来了第七名病人,是一个打喷嚏的建筑工人。请问他患上感冒的概率是多大?
根据上述的贝叶斯定理

P(A|B)=P(B|A)P(A)P(B)P(A|B)=P(B|A)P(A)P(B)
公式中的各项条件概率使用上表中的数据进行计算
根据表格的内容计算出:

P(|)=0.66P(打喷嚏|感冒)=0.66

代入公式得到:

P(|×)=0.66×0.33×0.50.33×0.5=0.66P(感冒|打喷嚏×建筑工人)=0.66×0.33×0.50.33×0.5=0.66
可知,在这个案例中第七个病人到来时,被判定为感冒的几率会大一些,当然这些计算的前提应该是条件独立的。
通过这个例子就可以看出来贝叶斯公式的美妙之处,他可以通过很多已经发生的条件判断,整合成为预测一件事情发生与否的概率,同时,贝叶斯公式作为条件判断,本身也是一种链式的模型。下面看隐马尔科夫模型。

隐马尔科夫模型

隐马尔可夫模型从马尔科夫链引申过来,是求解状态的常用模型,我们首先来总结一下马尔科夫链,马尔科夫随机场,以及概率图模型的相关知识。

马尔科夫链

马尔科夫链说白了就是一个chains 一个事件接一个事件的发生,在马尔科夫链中,一个重要的假设就是当前时刻发生的事件只与前一时刻的事件有关,而与再之前的事件没有关系,这个就是最本质的马尔科夫性质,使用公式表示如下

P(St|St1,St2,St3)=P(St|St1)P(St|St−1,St−2,St−3⋯)=P(St|St−1)
上式中S代表了每一个时刻的状态

马尔科夫随机场(Markov Random Field)

马尔科夫场和马尔科夫链的区别就是马尔科夫链是事件序列上发生的,而马尔科夫场是在空间上的马尔科夫过程

隐马尔可夫模型(Hidden Markov Model)

隐马尔可夫是一个经典的统计学习方法,在李航老师的《统计机器学习》中有系统的说明,这一点需要检讨自己,先前我一直没有注意到这本书是有这个机器学习模型的,隐马尔可夫模型属于生成模型(相对应的是判别模型),这样的生成模型能够处理机器学习里面的标注问题。
隐马尔可夫模型描述由隐藏的马尔科夫链随机生成观测序列的过程。隐马尔可夫模型在语音识别、自然语言处理、生物信息、模式识别等领域均有广泛的应用。
通俗的理解隐马尔可夫模型可以参考知乎上的一个热门回答,答主将隐马尔可夫模型看出是一个使用不同的骰子(四面,六面,八面)掷骰子的过程。在答主的说明中,他将骰子掷出的结果看成是可观测序列,隐藏状态是使用的哪一种骰子,这样很容易使用一个单链的马尔科夫模型解释,如下图(图片引自知乎,原贴可移步 如何用简单易懂的例子解释隐马尔可夫模型? - Yang Eninala的回答 - 知乎
https://www.zhihu.com/question/20962240/answer/33438846
这里写图片描述
在图中可以看出方框表示的蓝色链条就是隐藏状态链,红色的原型数字即为掷出的数字,是因马尔科夫模型中的可见状态链。通俗解释,隐马尔可夫模型无外乎几个需要求解的问题,详细的通俗解释请移步上文的知乎链接,在下文中我将给出详细的数学表示。
根据上述的骰子例子,构建隐马尔可夫模型需要模型的可见状态链和隐藏状态链就可以构建出完整的模型。

Q={q1,q2,q3,,qN}, V={v1,v2,v3,,vN}Q={q1,q2,q3,⋯,qN}, V={v1,v2,v3,⋯,vN}

未完待续

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值