0.引言
在谈后验概率估计之前,我们先回顾一下最大似然估计。最大似然估计的思想很简单,就是当前事件发生的概率要最大,由此得到未知参数。
然而最大似然估计有一个最大的问题就在于缺少先验知识,比如抛硬币,在样本量不足的情况下,硬币的正反次数比可能为8:2,然而先验知识告诉我们,正确的比例应该是5:5。在大样本条件测试下,最大似然估计的准确性会提高,但我们也的确会遇到样本不足的情况,此时,如果能够引入先验知识,无疑是有益的。
1.条件概率
后验概率(贝叶斯概率)的核心思想就是使用条件概率,即
2.最大后验概率
为了清晰的比较,这边先写一下极大似然估计的公式
极大似然估计是求取一组参数使得的概率最大。当然值得注意和谨记的是,在实际使用的过程中,常常会使用对数似然,因为加对数不会影响极大值点(会影响极大值)。
然而最大后验概率是在给定当前样本X的条件下,推定拥有最大概率的参数,即
第二个等号成立的原因是,P(X)这一项表示的是样本的概率,在实际计算时,由于样本已经选定,这一项便可以视作常数。而是最大似然估计的结果,就是我们说的先验知识。
来看看具体的求解过程:
3.拼写纠错实例
有时候用户错误地输入了一个不存在的单词,我们是否可以去猜测用户真正想输入什么。即计算P(用户真正想要的输入|用户实际的输入)。记用户实际的输入为D(Data,观测数据)。
现在我们来猜测一些可能,,我们希望找到最大的,根据后验概率公式有
代表着先验知识,在拼写纠错种,这可以代表中单词本身的概率,可以理解为是一个单词出现的频率也即代表着单词本身的常用程度。
代表将单词错写成的概率,一般来说,可以用词语相似度进行衡量。
表示用户的输入为D的概率,这个值实际上我们可以认为是一个定值,因为对用户来说,在不知道用户当前输入了什么词之前,用户输入任何词都是有可能的。
所以,我们可以知道,存在如下正比关系
也就是说,对于给定的观测数据D来说,猜测的好坏,取决于“猜测本身的可能性大小”(即先验概率和“由这个猜测生成我们观测到的数据的可能性大小”。
接下来我们就可以算出,通过比较取最大值就可以知道用户想要输入的是哪一个词了。
注:关于先验知识的作用-用户输入了tlp,现在我们要判断可能是top还是tip,此时我们发现,top和tip一样,与tlp只有中间的字母不同,可以理解为最大似然求出来的概率相同,那么根据先验知识,top出现的频率更高,因此用户更可能想打top。
4.垃圾邮件过滤
给定一封邮件,判定是否属于垃圾邮件。用D表示邮件,D由N个单词组成。用h+表示垃圾邮件,h-表示正常邮件。
根据贝叶斯后验概率可得:
是先验概率,可以从统计的角度,在大数据量邮件的条件下计算出来。
是似然估计值,即在已知当有邮件 是/不是 垃圾邮件的条件下,计算组成内容为,其中的D可以分解为,其中表示邮件中的第i个单词,则有
表示在垃圾邮件中出现和我们目前手上这封邮件一模一样的邮件的概率。然而这个公式描述是十分严格的,内容完全一模一样的垃圾邮件并不常见,有时候我们并不会要求内容完全一致,而是近似即可。我们可以用表示在当前已经确定前面i-1个单词为的时候,第i个单词为的概率,于是有下式
为了简化问题,我们可以假设和是完全条件无关的(朴素贝叶斯假设特征之间相互独立,互不影响;此处我们把组成D的每一个单词当作D的特征),也就是说,在朴素贝叶斯的假设前提下,在垃圾邮件中的概率不再是而是,于是上式可以简化为
对于,只需要统计这个单词在垃圾邮件中出现的频率即可,到此,邮件过滤问题已解。
注:通过这个朴素贝叶斯的假设我们也可以明白,在实际解决问题的时候,很多现实条件约束是比较严苛的,为了使得问题可解,我们需要做一些假设使得问题变得简单,进而求解。我们最终的目的是求解而不是严格描述问题,这一点要明确;另外,我们所做的假设也是要有理论依据的,比如,在假设误差时,我们往往会选用正态分布来假设,这是因为依据我们的经验,误差的的确确是符合正态分布的。
5.模型比较理论
最大似然:最符合观测数据(即)的模型最具有优势
奥卡姆剃刀:较大(先验知识越有说服力)的模型有较大的优势
举例:
假设当前抛掷一枚硬币,观察到“正”,根据最大似然估计,我们认为硬币投掷出“正”的概率是1,因为只有这样才能最大化P(D|h)。
但是从奥姆剃刀的角度,硬币抛掷得到正反的先验概率都是0.5。