基础知识
1条件概率公式
P(A|B)=P(A⋂B)P(B)
2 全概率公式
设A1, A2, …,An, 是一组互不相容的事件,它们形成样本空间的一个分割,则有全概率公式:
P(B)=P(A1⋂B)+...+P(An⋂B)=P(A1)P(B|A1)+...+P(An)P(B|An)
3条件独立
在给定时间C之下,如果事件A和事件B满足
P(A⋂B|C)=P(A|C)P(B|C)
则称A和B在给定C之下条件独立。
利用条件独立公式做一个推导:
P(A|B⋂C)=P(A⋂B⋂C)P(B⋂C)=P(A⋂B⋂C)P(C)P(B⋂C)P(C)=P(A⋂B|C)P(B|C)=P(A|C)
朴素贝叶斯分类
设有c1, c2, …, c|C|, 其中|C|是类别总数。给定一个对象d,使得
P(C=cj|d)
, 其中
1≤j≤|C|
最大的cj, 就是d的类别。
接下来推导计算
P(C=cj|d)
的公式。
在数据集D中,令A1, A2, …, A|A|为用离散值表示的属性集合, 其中|A|为属性总数。给定对象d,观察到属性令a1到A|A|, 其中ai是Ai的一个可能的取值,即
d=<A1=a1,...,A|A|=a|A|>
于是
P(C=cj|d)=P(C=cj|A1=a1,...,A|A|=a|A|)
根据上面介绍的条件概率公式和全概率公式,我们可以做如下推导:
P(C=cj|A1=a1,...,A|A|=a|A|)=P(A1=a1,...,A|A|=a|A||C=cj)P(C=cj)P(A1=a1,...,A|A|=a|A|)=P(A1=a1,...,A|A|=a|A||C=cj)P(C=cj)∑|C|k=1P(A1=a1,...,A|A|=a|A||C=ck)P(C=ck)
条件独立假设:假设所有属性都条件独立于类别
C=cj
, 于是有
P(A1=a1,...,A|A|=a|A||C=cj)=P(A1=a1|A2=a2,...,A|A|=a|A|,C=cj)P(A2=a2,...,A|A|=a|A||C=cj)=P(A1=a1|C=cj)P(A2=a2,...,A|A|=a|A||C=cj)=∏|A|i=1P(Ai=ai|C=cj)
于是有
P(C=cj|A1=a1,...,A|A|=a|A|)=P(C=cj)∏|A|i=1P(Ai=ai|C=cj)∑|C|k=1P(C=ck)∏|A|i=1P(Ai=ai|C=ck)
其中
P(C=cj)=属于类别cj的对象总数数据集中的对象总数
P(Ai=ai|C=cj)=Ai=ai|并且属于Cj的对象总数属于类别Cj的对象总数
我们最终找到了计算
P(C=cj|d)
的公式。实际上,公式的分母对所有类别都是一样的,所以我们用于分类的函数变为:
c=argmaxcjP(C=cj)∏|A|i=1P(Ai=ai|C=cj)
参考资料:
《概率导论》第2版,(美)伯特瑟卡斯,(美)齐齐克利斯 著,郑忠国,童行伟 译
《Web数据挖掘》第2版,Bing Liu 著, 俞勇 译