先来看看贝叶斯公式是怎么写的:
在周志华机器学习西瓜书的第148页的公式(7,8)中所描述的贝叶斯公式中,只是把我这里的A换成了类别c,把我这里的B换成了西瓜样本x。我后面的分析还是以本文公式的A、B来说明。
这是我画的一个关于A、非A、B、非B四个值的样本分布图。
椭圆外面的四个数字分别表示该样本集合中:B类中的A样本有1个、B类中的非A样本有2个、非B类中的A样本有4个、非B类中的非A样本有3个。
简单计算一下可得:
B类占3/10,非B类占7/10。
A类占1/2,非A类占1/2。
(B类下的A为其1/3,B类下的非A为其2/3)。
(非B类下的A为其4/7,B类下的非A为其3/7)。
现在来计算公式中的各概率值分别为多少。
p(A|B)表示在已知属于B类的前提下是A样本的概率。已知是B类了,那么就可能是B类中的3个样本中的一个,而属于B类的有1个,所以p(A|B)=1/3。
p(A)表示是A样本的概率。10个样本中A类样本有5个。因此p(A)=1/2。
p(B|A)表示在已知属于A类的前提下是B样本的概率。已知是A类了,那么就可能是A类中的5个样本中的一个,而属于A类的B有1个,所以p(A|B)=1/5。
p(B)表示是B样本的概率。10个样本中B类样本有3个。因此p(A)=3/10。
计算得:公式右边=p(A)*p(B|A)/p(B)=(1/2*1/5)/(3/10)=1/3=左边。
所以说用集合的关系来表示贝叶斯定理是完全没有问题的。
下面我要做的是对公式进行变形。把等号右边的p(B)移到等号左边,公式变形为p(B)*p(A|B)=p(A)*p(B|A)。我们发现现在等号两边的式子结构上是一致的,只是A和B的位置正好不同,他们的值是一样的,那他们所表示的意义也应该是相同的。他们究竟是什么意思呢,我们通过计算他们的值来分析。
因为两值相等,所以我只计算左边:p(B)*p(A|B)=3/10*1/3=1/10。对应集合图来看,集合一共有10个样本,既属于A类又属于B类的样本只有1个 。所以1/10就是样本集中“既属于A类又属于B类的样本”出现的概率,符号为p(A,B)。也就是说:
p(A,B)=p(B)*p(A|B)=p(A)*p(B|A)。
这里我再对上面这个等式进行一次变形,以便更好地理解贝叶斯公式中的每一部分是什么意思,有什么用。变形为:
p(A|B)=p(A,B)/p(B)。
对这个等式的理解如下:等号左边的p(A|B)表示“在已知样本为B类的条件下,样本既属于A类又属于B类的概率”。然后等号右边的p(A,B)表示“样本既属于A类又属于B类的概率”。根据等号两边相等,可以推断出,除以一个p(B),即“/p(B)”的意义就是“约束考虑范围,只在B类的集合下进一步找我们需要的样本”。反过来说,乘一个p(B),其意义就是“解除考虑范围只在B类的约束,将考虑范围恢复为原范围”。
到了这里我们再来看一下贝叶斯公式
p(A|B)=p(A)*p(B|A)/p(B),变一下等号右边的符号位置为:p(A|B)=p(B|A)*(p(A)/p(B))。根据上一段的结论最新的理解如下:等号左边p(A|B)是“在考虑范围为B类的情况下,既是A类又是B类的概率”,等号右边p(B|A)是“在考虑范围为A类的情况下,既是A类又是B类的概率”。乘一个p(A),就是“解除考虑范围为A类的约束”,除一个p(B),就是“将考虑范围约束在B类”。将(p(A)/p(B))看做一个整体的话,其作用就是变更所约束的考虑范围。
总结:我个人会用集合的方式来理解贝叶斯公式是因为我习惯于把复杂的东西简单化,把抽象的概念具体化。使用这种思维方式往往会把很复杂的计算快速而准确的算出来,并且对于一些东西的理解会更加容易。
通过上面对贝叶斯公式的思考,我自己对于条件概率又有了新的认识。给你前提条件,就是在告诉你考虑范围要缩小,只需考虑所要求的一小部分,所以给了条件后某一事物出现的概率会变大。比如:都是指的既属于A类又属于B类,p(A,B)=1/10,而p(A|B)=1/3。而p(B|A)=1/5。有了用集合来表示贝叶斯公式的思维后,我计算p(B|A)=1/5是很快的,只需要看一下上面的集合图,或者也叫Venn图。
在看懂了我这篇文章后,掌握了我上述的一些方法后,对更复杂的p((A|B)|C)就可以这样去分析,C和B都是条件,都是为了缩小考虑范围,那么范围就应该缩小到只考虑在Venn图中既属于B类又属于C类的样本,假如只有6个,然后在这6个样本中找到属于A类的样本,假如只有1个,那么很快得出p((A|B)|C)=1/6。
而不用去再去根据基本的贝叶斯公式进行复杂的展开:p((A|B)|C)=(p(A|B)*p(C|(A|B))/p(C)=((p(A)*p(B|A)/p(B)*p(C|(A|B))/p(C).....我已经不想再算下去了。这里还只有3个变量,如果再多点,4个、5个、10个......会是怎样?
所以一般说来对于涉及到概率的公式不能很好地理解的时候,可以试试通过转化成集合的方法来理解。我的另一篇博客也用到了这种方法。感兴趣的话可以自己找找。