贝叶斯算法原理分析
Bayes法是一种在已知先验概率与条件概率的情况下的模式分类方法,待分样本的分类结果取决于各类域中样本的全体。
Bayes方法的薄弱环节在于实际情况下,类别总体的概率分布和各类样本的概率分布函数(或密度函数)常常是不知道的。为了获得它们,就要求样本足够大。另外,Bayes法要求表达文本的主题词相互独立,这样的条件在实际文本中一般很难满足,因此该方法往往在效果上难以达到理论上的最大值。
1.贝叶斯法则
机器学习的任务:在给定训练数据D时,确定假设空间H中的最佳假设。
最佳假设:一种方法是把它定义为在给定数据D以及H中不同假设的先验概率的有关知识下的最可能假设。贝叶斯理论提供了一种计算假设概率的方法,基于假设的先验概率、给定假设下观察到不同数据的概率以及观察到的数据本身。
2.先验概率和后验概率
用P(h)表示在没有训练数据前假设h拥有的初始概率。P(h)被称为h的先验概率。先验概率反映了关于h是一正确假设的机会的背景知识,如果没有这一先验知识,可以简单地将每一候选假设赋予相同的先验概率。类似地,P(D)表示训练数据D的先验概率,P(D|h)表示假设h成立时D的概率。机器学习中,我们关心的是P(h|D),即给定D时h的成立的概率,称为h的后验概率。
3.贝叶斯公式
贝叶斯公式提供了从先验概率P(h)、P(D)和P(D|h)计算后验概率P(h|D)的方法:p(h|D)=P(D|H)*P(H)/P(D) ,P(h|D)随着P(h)和P(D|h)的增长而增长,随着P(D)的增长而减少,即如果D独立于h时被观察到的可能性越大,那么D对h的支持度越小。
4.极大后验假设
学习器在候选假设集合H中寻找给定数据D时可能性最大的假设h,h被称为极大后验假设(MAP),确定MAP的方法是用贝叶斯公式计算每个候选假设的后验概率,计算式如下:
h_map=argmax P(h|D)=argmax (P(D|h)*P(h))/P(D)=argmax P(D|h)*p(h) (h属于集合H)
最后一步,去掉了P(D),因为它是不依赖于h的常量。
5.极大似然假设
在某些情况下,可假定H中每个假设有相同的先验概率,这样式子可以进一步简化,只需考虑P(D|h)来寻找极大可能假设。
h_ml = argmax p(D|h) h属于集合H, P(D|h)常被称为给定h时数据D的似然度,而使P(D|h)最大的假设被称为极大似然假设。
6.举例
一个医疗诊断问题,有两个可选的假设:病人有癌症、病人无癌症,[p(h1)=p(cancer),p(h2)=p(uncancer)]可用数据来自化验结果:正+和负-, [p(D1)= p(+),p(D2)=p(-),一般假设p(D1)=p(D2)],有先验知识:在所有人口中,患病率是0.008,对确实有病的患者的化验准确率为98%,对确实无病的患者的化验准确率为97%,总结如下:
P(cancer)=0.008, P(uncancer)=0.992 P(+|cancer)=0.98, P(-|cancer)=0.02 P(+|uncancer)=0.03, P(-|uncancer)=0.97
问题:假定有一个新病人,化验结果为正,是否应将病人断定为有癌症?求后验概率P(cancer|+)和P(uncancer|+)
因此极大后验假设计算如下:
P(cancer, +) = P(+|cancer)P(cancer)=0.008*0.98=0.0078 P(uncancer, +) = P(+|uncancer)P(uncancer)=0.992*0.03=0.0298 hMAP=uncancer
确切的后验概率可将上面的结果归一化以使它们的和为1 P(canner|+)=0.0078/(0.0078+0.0298)=0.21 P(cancer|-)=0.79
贝叶斯推理的结果很大程度上依赖于先验概率,另外不是完全接受或拒绝假设,只是在观察到较多的数据后增大或减小了假设的可能性。
注意:当训练数据的值是缺失时,即先验概率为0%,预测值不稳定。一般会给每个数据加1,使概率不会为0%。