贝叶斯定理
贝叶斯能干什么?
求逆向概率问题,也就是已知 P(A|B) 的情况下,求解 P(B|A) 的问题。通常 P(A|B) 很容易由统计特性得出, P(B|A) 则很难知道。
朴素贝叶斯
为何称朴素?
叫它朴素贝叶斯分类是因为这种方法的思想真的很朴素,朴素贝叶斯的思想基础是这样的:对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大,就认为此待分类项属于哪个类别。通俗来说,就好比这么个道理,你在街上看到一个黑人,我问你你猜这哥们哪里来的,你十有八九猜非洲。为什么呢?因为黑人中非洲人的比率最高,当然人家也可能是美洲人或亚洲人,但在没有其它可用信息下,我们会选择条件概率最大的类别,这就是朴素贝叶斯的思想基础。
步骤?
1、设 x={a1,a2,...,am} 为一个待分项,每个a是x的一个属性;
2、类别集合为 C={y1,y2,...,yn}
3、计算x属于每个分类的条件概率 P(y1|x),P(y2|x),...,P(yn|x)
4、找出概率最大的那一个,如果 P(yk|x)=max{P(y1|x),P(y2|x),...,P(yn|x)} ,则 x∈yk 。
上述步骤,其关键就在于第三步我们如何求得x输入各个类的概率,这是个逆向概率问题,可以做样来做:
1、找一个已知分类的待分类项集合,该集合称为训练样本集;
2、统计各个类别下各个特征属性的条件概率估计,即
3、如果各个属性条件独立,则根据贝叶斯定理,有
然而,对于所有的分类, P(x) 都是一样的,也就是说要找到最大的那个 P(x|yi)P(yi) 就行了,而之后 yi 就是要求的分类类别了。由于各个特征属性是条件独立的啊,所以,
总结下
贝叶斯分类器就是在说已知x求他的
yi
,也就是要算使得
P(yi|x)
最大的那个
yi
为x的类别,但是这个不好求的,他是个逆向概率问题,所以我们要应用贝叶斯定理把问题转化一下,根据贝叶斯定理我们知道,
然后 P(yi|x) 就可以写成这个样儿:
然后对于所有类别来说大家的 P(x) 都是一样的,因为要分类的数据一样,这样一来就可以直接考虑使分子最大就行了:
又由于它是个朴素的贝叶斯,各个属性条件独立,所以最终又可以拆分开来,
最后一行中的 P(yi) 与 P(aj|yi) 在训练集确定的情况下都是可求的,所以也就解决了这个分类问题。