写在前面,本文对过去几天学习的新的数学模型的总结,主要是这样的概率编程问题,图模型在很多链式结构中非常有用,概率模型对分类和决策问题是绝佳的解决手段,图模型与概率相结合对很多的分类和预测问题产生了化学反应,如果在认知领域出现了什么更牛逼的算法,我想贝叶斯和马尔科夫的模型应该也是原型之一
我们先说概率模型,概率问题实际说白了是一个逼近的过程,因为一件事的概率总不可能是100%,这样的情况可能少之又少,所以,无限逼近的预测就是最好的预测,即使在预测到的准确率只是多于50%高一点,在应用到大数据和长周期的环境中仍然有巨大的作用。
实际我们都在浙大的那本概率论中见识过贝叶斯公式了,只是你还没发现原来这就是贝叶斯公式,我已经忘了当时的概率论老师是否讲了这个公式的巨大意义,我想八成没讲吧。
试想一种情况,在我们的现实世界中很多东西的发生必然关联着其后事件的发生,也就是说本质上生活中很多事情都可以抽象成为知道了一件事情,求取另外一件事情发生的概率这样的问题。比如我在一个箱子里面取出小球,这个箱子一共有10个球,其中红色和蓝色各五个,如果我第一次从这个箱子里面取出了红色的球,那么第二次取出的球是蓝球还是红球的概率是否因为第一次发生了影响呢。答案是显而易见的。
我们首先给出来全概率形式的贝叶斯公式
朴素贝叶斯是一种预测各种类别概率的计算模型。
在概率论的范畴里面,很多问题都可以使用条件概率公式P(A|B1,B2,B3...)P(A|B1,B2,B3...),公式含义就是在发生B1B1,B2B2等等事件之后发生AA事件的概率,例如我假设我先前有很多感冒的病例,他们可能是病毒性的感冒也可能是普通感冒,病毒性感冒和普通感冒有很多不同的症状,那么根据先前的病例就可以训练出来朴素贝叶斯分类器,计算出新来的病人具有的症状是普通感冒的概率大一些还是病毒性感冒的概率大一些。我们给出引申之后的贝叶斯公式:
某医院早上收治了六个门诊病人,如下表所示:
症状 | 职业 | 疾病 |
---|---|---|
打喷嚏 | 护士 | 感冒 |
打喷嚏 | 农夫 | 过敏 |
头痛 | 建筑工人 | 脑震荡 |
头痛 | 建筑工人 | 感冒 |
打喷嚏 | 教师 | 感冒 |
头痛 | 教师 | 脑震荡 |
现在又来了第七名病人,是一个打喷嚏的建筑工人。请问他患上感冒的概率是多大?
根据上述的贝叶斯定理
P(打喷嚏|感冒)=0.66P(打喷嚏|感冒)=0.66 |
P(建筑工人|感冒)=0.33P(建筑工人|感冒)=0.33 |
P(打喷嚏)=0.5P(打喷嚏)=0.5 |
P(建筑工人)=0.33P(建筑工人)=0.33 |
P(感冒)=0.5P(感冒)=0.5 |
代入公式得到:
隐马尔可夫模型从马尔科夫链引申过来,是求解状态的常用模型,我们首先来总结一下马尔科夫链,马尔科夫随机场,以及概率图模型的相关知识。
马尔科夫链说白了就是一个chains 一个事件接一个事件的发生,在马尔科夫链中,一个重要的假设就是当前时刻发生的事件只与前一时刻的事件有关,而与再之前的事件没有关系,这个就是最本质的马尔科夫性质,使用公式表示如下
马尔科夫场和马尔科夫链的区别就是马尔科夫链是事件序列上发生的,而马尔科夫场是在空间上的马尔科夫过程
隐马尔可夫是一个经典的统计学习方法,在李航老师的《统计机器学习》中有系统的说明,这一点需要检讨自己,先前我一直没有注意到这本书是有这个机器学习模型的,隐马尔可夫模型属于生成模型(相对应的是判别模型),这样的生成模型能够处理机器学习里面的标注问题。
隐马尔可夫模型描述由隐藏的马尔科夫链随机生成观测序列的过程。隐马尔可夫模型在语音识别、自然语言处理、生物信息、模式识别等领域均有广泛的应用。
通俗的理解隐马尔可夫模型可以参考知乎上的一个热门回答,答主将隐马尔可夫模型看出是一个使用不同的骰子(四面,六面,八面)掷骰子的过程。在答主的说明中,他将骰子掷出的结果看成是可观测序列,隐藏状态是使用的哪一种骰子,这样很容易使用一个单链的马尔科夫模型解释,如下图(图片引自知乎,原贴可移步 如何用简单易懂的例子解释隐马尔可夫模型? - Yang Eninala的回答 - 知乎
https://www.zhihu.com/question/20962240/answer/33438846)
在图中可以看出方框表示的蓝色链条就是隐藏状态链,红色的原型数字即为掷出的数字,是因马尔科夫模型中的可见状态链。通俗解释,隐马尔可夫模型无外乎几个需要求解的问题,详细的通俗解释请移步上文的知乎链接,在下文中我将给出详细的数学表示。
根据上述的骰子例子,构建隐马尔可夫模型需要模型的可见状态链和隐藏状态链就可以构建出完整的模型。
未完待续