机器学习之朴素贝叶斯模型问答

贝叶斯是机器学习的核心方法之一。
这背后的深刻原因在于,现实世界本身就是不确定的,而人类的观察能力是有局限性的。我们日常所观察到的只是事物表面上的结果,沿用袋子里面取球的比方,我们往往只能知道从里面取出来的球是什么颜色,而并不能直接看到袋子里面实际的情况。这个时候,我们就需要提供一个猜测(hypothesis,更为严格的说法是“假设”,这里用“猜测”更通俗易懂一点)。所谓猜测,当然是不确定的(可能有好多种乃至无数种猜测都能满足目前的观测),但也绝对不是两眼一抹瞎蒙——具体地说,我们需要做两件事情:1. 算出各种不同猜测的可能性大小。2. 算出最靠谱的猜测是什么。
第一个就是计算特定猜测的后验概率,对于连续的猜测空间则是计算猜测的概率密度函数。
第二个则是所谓的模型比较,模型比较如果不考虑先验概率的话就是最大似然方法。

1.详解贝叶斯定理
我们先来看一个拼写纠正的例子。假如我们看到用户输入了一个不在字典中的单词,我们需要去猜测:“这个家伙到底真正想输入的单词是什么呢?”即我们需要求:
P(我们猜测他想输入的单词 | 他实际输入的单词)这个概率,并找出那个使得这个概率最大的猜测单词。显然,我们的猜测未必是唯一的。用户输入: thew ,那么他到底是想输入 the ,还是想输入 thaw ?到底哪个猜测可能性更大呢?不妨将我们的多个猜测记为 h1 h2 … ( h 代表 hypothesis),它们都属于一个有限且离散的猜测空间 H (单词总共就那么多而已),将用户实际输入的单词记为 D ( D 代表 Data ,即观测数据),于是
P(我们的猜测1 | 他实际输入的单词)可以抽象地记为:P(h1 | D)。类似地,对于我们的猜测2,则是 P(h2 | D)。不妨统一记为:P(h | D)。
运用一次贝叶斯公式,我们得到:P(h | D) = P(h) * P(D | h) / P(D)。
对于不同的具体猜测 h1 h2 h3 … ,P(D) 都是一样的,所以在比较 P(h1 | D) 和 P(h2 | D) 的时候我们可以忽略这个常数。即我们只需要知道:P(h | D) ∝ P(h) * P(D | h) (注:那个符号的意思是“正比例于”,不是无穷大,注意符号右端是有一个小缺口的。)
看似这么平凡的贝叶斯公式,背后却隐含着深刻的原理。
这个式子的抽象含义是:对于给定观测数据,一个猜测是好是坏,取决于“这个猜测本身独立的可能性大小(先验概率,Prior )”和“这个猜测生成我们观测到的数据的可能性大小”(似然,Likelihood )的乘积。即 先验*似然=后验

2.朴素贝叶斯模型“朴素”体现在哪里?存在什么问题?有哪些优化方向?

参考:https://www.cnblogs.com/MINGYOUR/p/11815530.html

上一篇:快速学会像Git一样管理数据库业务版本变更


下一篇:css文件——css的选择器—编号1