朴素贝叶斯法
设输入空间x∈Rnx\in R^nx∈Rn,输出空间为类标记集合y={c1.c2,...ck}y=\{c_1.c_2,...c_k \}y={c1.c2,...ck}
先验概率
先验概率是根据以往经验和分析得到的概率,先验概率分布为
P(Y=ck),k=1,2,...K(1)
P(Y=c_k),k=1,2,...K
\tag 1
P(Y=ck),k=1,2,...K(1)
例如15个球中,红球(c1c_1c1)有3个;白球(c2c_2c2)有8个;绿球(c3c_3c3)有4个
则P(c1)=1/5,P(c2)=8/15,P(c3)=4/15P(c_1)=1/5,P(c_2)=8/15,P(c_3)=4/15P(c1)=1/5,P(c2)=8/15,P(c3)=4/15
条件概率
条件概率是指事件A在事件B已经发生条件下发生的概率,条件概率分布为
P(X=x∣Y=ck)=P(X(1)=x(1),X(2)=x(2),...,X(n)=x(n)∣Y=ck),k=1,2,...,K(2)
P(X=x|Y=c_k)=P(X^{(1)}=x^{(1)},X^{(2)}=x^{(2)},...,X^{(n)}=x^{(n)}|Y=c_k), k=1,2,...,K
\tag 2
P(X=x∣Y=ck)=P(X(1)=x(1),X(2)=x(2),...,X(n)=x(n)∣Y=ck),k=1,2,...,K(2)
例如球有三种属性
- X(1)X^{(1)}X(1)材质:塑料;金属
- X(2)X^{(2)}X(2)质量:100g;300g
- X(3)X^{(3)}X(3)体积:50cm350cm^350cm3;100cm3100cm^3100cm3
某个红球x1=(x1(1)=塑料,x1(2)=100g,x1(3)=50cm3)x_1=(x_1^{(1)}=塑料,x_1^{(2)}=100g,x_1^{(3)}=50cm^3)x1=(x1(1)=塑料,x1(2)=100g,x1(3)=50cm3)具有前述属性的概率为
P(x1∣c1)=P(x(1)=塑料,x(2)=100g,x(3)=50cm3∣c1)(3)
P(x_1|c_1)=P(x^{(1)}=塑料,x^{(2)}=100g,x^{(3)}=50cm^3|c_1)
\tag 3
P(x1∣c1)=P(x(1)=塑料,x(2)=100g,x(3)=50cm3∣c1)(3)
朴素贝叶斯
朴素贝叶斯对条件概率分布做了条件独立性假设。例如假设球的三种属性间是相互独立的,事实上材质的密度会影响质量和体积,但我们假设不会影响,这虽然会降低模型的准确率,但能简化模型的复杂度
那么(2)式就可化为
P(X=x∣Y=ck)=∏i=1nP(X(j)=x(j)∣Y=ck)(4)
P(X=x|Y=c_k)=\prod_{i=1}^nP(X^{(j)}=x^{(j)}|Y=c_k)
\tag 4
P(X=x∣Y=ck)=i=1∏nP(X(j)=x(j)∣Y=ck)(4)
此时(3)式就可化为
P(x1∣c1)=P(塑料∣c1)×P(100g∣c1)×P(50cm3∣c1)(5)
P(x_1|c_1)=P(塑料|c_1)\times P(100g|c_1)\times P(50cm^3|c_1)
\tag 5
P(x1∣c1)=P(塑料∣c1)×P(100g∣c1)×P(50cm3∣c1)(5)
后验概率
后验概率是指依据“结果”的信息计算其最有可能属于哪种种类的概率,例如根据球的属性计算该球颜色的概率。即计算
P(Y=ck∣X=x)(6)
P(Y=c_k|X=x)
\tag 6
P(Y=ck∣X=x)(6)
后验概率通过贝叶斯定理获得,贝叶斯公式为
P(A∣B)=P(AB)/P(B)(7)
P(A|B)=P(AB)/P(B)
\tag 7
P(A∣B)=P(AB)/P(B)(7)
由(6)可得
P(Y=ck∣X=x)=P(X=x,Y=ck)P(X=x)=P(X=x∣Y=ck)P(Y=ck)P(X=x)(8)
\begin{array}{ll}
P(Y=c_k|X=x) & =\frac{P(X=x,Y=c_k)}{P(X=x)}
\\
& = \frac{P(X=x|Y=c_k)P(Y=c_k)}{P(X=x)}
\end{array}
\tag 8
P(Y=ck∣X=x)=P(X=x)P(X=x,Y=ck)=P(X=x)P(X=x∣Y=ck)P(Y=ck)(8)
全概率公式
如果事件B1,B2,...,BnB_1,B_2,...,B_nB1,B2,...,Bn构成一个完备事件组,即两两之间相互独立没有交集,且全部的合集为全集,那么对任一事件A有
P(A)=P(AB1)+P(AB2)+...+P(ABn)(9)
P(A)=P(AB_1)+P(AB_2)+...+P(AB_n)
\tag 9
P(A)=P(AB1)+P(AB2)+...+P(ABn)(9)
我们知道集合y={c1.c2,...ck}y=\{c_1.c_2,...c_k \}y={c1.c2,...ck}中的所有事件构成一个完备事件组,那么
P(X=x)=∑kP(X=x,Y=ck)(10)
P(X=x)=\sum_kP(X=x,Y=c_k)
\tag{10}
P(X=x)=k∑P(X=x,Y=ck)(10)
(10)(7)(4)先后代入(8)式可得
P(Y=ck∣X=x)=P(X=x∣Y=ck)P(Y=ck)∑kP(X=x,Y=ck)=P(X=x∣Y=ck)P(Y=ck)∑kP(X=x∣Y=ck)P(Y=ck)=P(Y=ck)∏j=1nP(X(j)=x(j)∣Y=ck)∑kP(Y=ck)∏j=1nP(X(j)=x(j)∣Y=ck)(11)
\begin{array}{ll}
P(Y=c_k|X=x) & = \frac{P(X=x|Y=c_k)P(Y=c_k)}{\sum_kP(X=x,Y=c_k)}
\\
& = \frac{P(X=x|Y=c_k)P(Y=c_k)}{\sum_kP(X=x|Y=c_k)P(Y=c_k)}
\\
& = \frac{P(Y=c_k)\prod_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_k)}{\sum_kP(Y=c_k)\prod_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_k)}
\end{array}
\tag {11}
P(Y=ck∣X=x)=∑kP(X=x,Y=ck)P(X=x∣Y=ck)P(Y=ck)=∑kP(X=x∣Y=ck)P(Y=ck)P(X=x∣Y=ck)P(Y=ck)=∑kP(Y=ck)∏j=1nP(X(j)=x(j)∣Y=ck)P(Y=ck)∏j=1nP(X(j)=x(j)∣Y=ck)(11)
后验概率最大化
在(11)式计算的后验概率中可以得到一个实例属于不同种类的概率,例如已知一个球x1=(x1(1)=塑料,x1(2)=100g,x1(3)=50cm3)x_1=(x_1^{(1)}=塑料,x_1^{(2)}=100g,x_1^{(3)}=50cm^3)x1=(x1(1)=塑料,x1(2)=100g,x1(3)=50cm3)是红色的概率为1/5;是白色的概率为3/5;是绿色的概率为1/5,那么我们可以估测该球应该是白色。后验概率最大化实际上等价于期望风险最小化,此处不做证明
那么朴素贝叶斯分类器可表示为
y=argmaxckP(Y=ck∣X=x)(12)
y=\mathop{argmax}_{c_k}P(Y=c_k|X=x)
\tag {12}
y=argmaxckP(Y=ck∣X=x)(12)
(11)式中分母对于所有ckc_kck都是相同的,所以
y=argmaxckP(Y=ck)∏j=1nP(X(j)=x(i)∣Y=ck)(13)
y=\mathop{argmax}_{c_k}P(Y=c_k)\prod_{j=1}^nP(X^{(j)}=x^{(i)}|Y=c_k)
\tag {13}
y=argmaxckP(Y=ck)j=1∏nP(X(j)=x(i)∣Y=ck)(13)
极大似然估计
在(13)式的朴素贝叶斯分类器中有两个参数需要确定
- P(Y=ck)P(Y=c_k)P(Y=ck)
- P(X(j)=x(j)∣Y=ck)P(X^{(j)}=x^{(j)}|Y=c_k)P(X(j)=x(j)∣Y=ck)
这两个参数可以使用极大似然估计法得出结果
P(Y=ck)=∑i=1NI(yi=ck)N(14)
P(Y=c_k)=\frac{\sum_{i=1}^NI(y_i=c_k)}{N}
\tag {14}
P(Y=ck)=N∑i=1NI(yi=ck)(14)
其中I(x)为指示函数,即I(true)=1;I(false)=0。N为样本容量。例如先验概率中的红白球的概率就是通过极大似然估计法得出的。
同理
P(X(j)=ajl∣Y=ck)=∑i=1NI(xi(j)=ajl,yi=ck)∑i=1NI(yi=ck)(15)
P(X^{(j)}=a_{jl}|Y=c_k)=\frac{\sum_{i=1}^NI(x_i^{(j)}=a_{jl},y_i=c_k)}{\sum_{i=1}^NI(y_i=c_k)}
\tag {15}
P(X(j)=ajl∣Y=ck)=∑i=1NI(yi=ck)∑i=1NI(xi(j)=ajl,yi=ck)(15)
其中ajla_{jl}ajl为X(j)X^{(j)}X(j)的可能取值,l=1,2,...Sjl=1,2,...S_jl=1,2,...Sj。例如球的质量属性X(2)X^{(2)}X(2)可能取值为
- a21=100ga_{21}=100ga21=100g
- a22=300ga_{22}=300ga22=300g
3个红球中,质量为100g的有两个,那么P(X(2)=100g∣c1)=2/3P(X^{(2)}=100g|c_1)=2/3P(X(2)=100g∣c1)=2/3
贝叶斯估计
使用极大似然估计可能会出现所要估计的概率值为0的情况。例如3个红球中,质量为100g的球有3个,那么P(X(2)=200g∣c1)=0P(X^{(2)}=200g|c_1)=0P(X(2)=200g∣c1)=0,此时需要计算200g的球所属颜色时就无法进行。解决这一问题的方法是采用贝叶斯估计,即在极大似然估计的基础上加一个常数λ≥0\lambda \geq0λ≥0
那么先验概率的贝叶斯估计为
Pλ(Y=ck)=∑i=1NI(yi=ck)+λN+Kλ(16)
P_\lambda(Y=c_k)=\frac{\sum_{i=1}^NI(y_i=c_k)+\lambda}{N+K\lambda}
\tag {16}
Pλ(Y=ck)=N+Kλ∑i=1NI(yi=ck)+λ(16)
K为集合y={c1.c2,...ck}y=\{c_1.c_2,...c_k \}y={c1.c2,...ck}的样本容量
同理,条件概率的贝叶斯估计为
Pλ(X(j)=ajl∣Y=ck)=∑i=1NI(xi(j)=ajl,yi=ck)+λ∑i=1NI(yi=ck)+Sjλ(15)
P_\lambda(X^{(j)}=a_{jl}|Y=c_k)=\frac{\sum_{i=1}^NI(x_i^{(j)}=a_{jl},y_i=c_k)+\lambda}{\sum_{i=1}^NI(y_i=c_k)+S_j\lambda}
\tag {15}
Pλ(X(j)=ajl∣Y=ck)=∑i=1NI(yi=ck)+Sjλ∑i=1NI(xi(j)=ajl,yi=ck)+λ(15)
其中SjS_jSj为X(j)X^{(j)}X(j)的可能取值的总数
朴素贝叶斯算法详解:从原理到应用
本文详细介绍了朴素贝叶斯法的基本概念,包括先验概率、条件概率的计算,以及如何通过假设属性间的独立性简化模型。讲解了如何利用极大似然估计和贝叶斯估计更新参数,并展示了如何在实际案例中使用朴素贝叶斯进行分类。
162

被折叠的 条评论
为什么被折叠?



