浅谈贝叶斯
概率里面经常听到贝叶斯这个词,其实这起源于一个公式:P(B|A) = P(AB)/P(A) = P(B)P(A|B)/P(A),这个公式就是大家所知的贝叶斯公式。其中P(B|A)意思是当A事件发生时,B事件发生的概率。再说这个东西能干什么,其实就是用在模式识别中的分类器设计当中。
模式识别中认为所有的事物都有其一个明确的分类属性。那么我们如何自动的识别一个事物到底是属于何种分类呢?这里面就依仗了概率理论,其中最著名的就是利用上面公式进行分类的贝叶斯分类器。
例如有两个类别W1,W2,对于一个事物A,它到底属于W1还是W2呢?
贝叶斯的决策理论是这么认为的:如果P(W1|A)>P(W2|A),那么就认为A属于W1,否则认为A属于W2,也就是说当A发生时,如果它属于W1的概率要比它属于W2的概率大,那么它就属于W1,否则属于W2,这个思想也很通俗易懂。又因为P(Wi|A)=P(AWi)/P(A) = P(Wi)P(A|Wi)/P(A),所以对P(W1|A)与P(W2|A)的比较来说,P(A)都是一样的故可以去掉,即比较P(W1)P(A|W1)与P(W2)P(A|W2)的大小即可决定A的分类。那么这里面P(W1)=? P(W2)=? P(A|W1)=? P(A|W2)=? 这是个棘手的问题。
可以这么求得以上这些值:随机选取一定数量的事物构成集合S,之后查看S中的元素有多少是W1的,有多少是W2的。假设S中属于W1的事物有n1个,属于W2的事物有n2个,那么P(W1)=n1/|S| P(W2)= n2/|S|。那么P(A|W1)和P(A|W2)又怎么求呢?其实照葫芦画瓢:设S中属于W1的事物构成集合S1,属于W2的事物构成集合S2,只要我们分别数数两个集合中分别有多少元素具备和A一样的特征即可。假设S1中有m1个元素与A有相同特征,S2中有m2个元素与A有相同特征,那么P(A|W1)=m1/|S1|, P(A|W2)=m2/|S2|。这样我们为了判断A属于哪个分类的所有数据都齐了。我们只要把这些数值输入到计算机中,之后进行比较能够自动判断一个事物属于W1还是属于W2,这也可以叫做一个分类器。
但是我们回过头来看看这里有什么问题,计算P(W1) P(W2) P(A|W1) P(A|W2) 时我们是随机的选取了一些事物来进行计算的,由于我们不可能把所有的事物都拿过来,所以这种计算方式其实是有些误差的,我们只不过是以点盖面,认为抽样得到的集合和实际中事物的分布是一样的。当随机选取的集合越大越全面时,我们就会对A判断的越准确。其实如上的分类器也叫做最小错误率贝叶斯分类器,这是因为这么做总会使错误分类的概率达到最小,本文只想浅显说明贝叶斯的用处,所以这其中证明就略去了。此外还有诸如像最小损失的贝叶斯分类器等等,大家有兴趣可以自行研究。
分类本来就不是一个容易的事,依仗概率理论分类只是一个可行的方法,任何方法都难免会产生分类错误,并且有些事物并没有明确的分类标准,这些要提醒大家。