- 要解决的问题
训练数据集:T=(x1,y1),(x2,y2),...,(xN,yN) 基本思想
朴素贝叶斯法通过上述训练数据集学习联合概率分布 P(X,Y)
可以通过先验概率分布P(Y=ck),k=1,2,...,K
和条件概率分布P(X=x|Y=ck)=P(X(1)=x(1),..,X(n)=x(n)|Y=ck)来计算联合概率分布。其中K是总的分类数,n是输入变量的维数基本假设
条件独立假设:
P(X=x|Y=ck)==P(X(1)=x(1),..,X(n)=x(n)|Y=ck)∏j=1nP(X(j)=x(j)|Y=ck)- 贝叶斯定理
P(Y=ck|X=x)=P(X=x|Y=ck)P(Y=ck)∑kP(X=x|Y=ck)P(Y=ck) - 朴素贝叶斯分配器
y=f(x)==argmaxckP(Y=ck)∏jP(X(j)=x(j)|Y=ck)∑kP(Y=ck)∏jP(X(j)=x(j)|Y=ck)argmaxckP(Y=ck)∏jP(X(j)=x(j)|Y=ck)
朴素贝叶斯法将实例分到后验概率最大的类中,这等价于期望风险最小化。 - 朴素贝叶斯法的参数估计
在朴素贝叶斯法中,学习意味着估计先验概率 P(Y=ck) 和条件概率 P(X=x|Y=ck)
有两种参数估计的方法:极大似然估计和贝叶斯估计。
- 极大似然估计
P(Y=ck)=∑Ni=1I(yi=ck)N
P(X(j)=ajl|Y=ck)=∑Ni=1I(x(j)i=ajl,yi=ck)∑Ni=1I(yi=ck)
其中 j=1,2,...,n;l=1,2,...,Sj;k=1,2,...K - 贝叶斯估计
极大似然估计可能会出现所要估计的概率值为0的情况,从而影响后验概率的计算,使分类产生偏差。
P(Y=ck)=∑Ni=1I(yi=ck)+λN+Kλ
P(X(j)=ajl|Y=ck)=∑Ni=1I(x(j)i=ajl,yi=ck)+λ∑Ni=1I(yi=ck)+Sjλ
- 极大似然估计
- 朴素贝叶斯算法
- 计算先验概率及条件概率,如上通过最大似然估计或贝叶斯估计;
- 对于给定的实例 x=(x(1),(x(2),...,(x(n))T ,计算 P(Y=ck)∏jP(X(j)=x(j)|Y=ck) ;
- 确定实例
x
的类
argmaxckP(Y=ck)∏jP(X(j)=x(j)|Y=ck) 。