朴素贝叶斯法(统计学习方法四)

朴素贝叶斯法是基于贝叶斯定理特征条件独立假设的分类方法。对于给定的训练数据集,首先基于特征条件独立假设学习输入输出的联合概率分布;然后基于此模型,对给定的输入x,利用贝叶斯定理求出后验概率最大的输出y。

1.朴素贝叶斯法的学习与分类
1.1基本方法

设输入空间是 χ ⊆ R n \chi\subseteq{R}^n χRn,为n维向量的集合,输出空间为类别标记集合 y = c 1 , c 2 , . . . , c k , X y={c_1,c_2,...,c_k},X y=c1,c2,...,ckX是输入空间 χ \chi χ上的随机向量, Y Y Y是定义在输出空间y上的随机变量, P ( X , Y ) P(X,Y) P(X,Y) X 和 Y X和Y XY的联合概率分布,训练数据集
T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\} T={(x1,y1),(x2,y2),...,(xN,yN)}
P ( X , Y ) P(X,Y) P(X,Y)独立同分布产生。
朴素贝叶斯法通过训练数据集学习联合概率分布 P ( X , Y ) P(X,Y) P(X,Y),具体地,学习一下先验概率分布
P ( Y = c k ) P(Y=c_k) P(Y=ck)
和条件概率分布
P ( X = x ∣ Y = c k ) = P ( X ( 1 ) = x ( 1 ) , X ( 2 ) = x ( 2 ) , . . . , X ( n ) = x ( n ) ∣ Y = c k ) P(X=x|Y=c_k)=P(X^{(1)}=x^{(1)},X^{(2)}=x^{(2)},...,X^{(n)}=x^{(n)}|Y=c_k) P(X=xY=ck)=P(X(1)=x(1),X(2)=x(2),...,X(n)=x(n)Y=ck)
于是学得联合概率分布。
条件独立性假设是
P P ( X = x ∣ Y = c k ) = P ( X ( 1 ) = x ( 1 ) , X ( 2 ) = x ( 2 ) , . . . , X ( n ) = x ( n ) ∣ Y = c k ) = ∏ j = 1 n P ( X ( j ) = x ( j ) ∣ Y = c k ) PP(X=x|Y=c_k)=P(X^{(1)}=x^{(1)},X^{(2)}=x^{(2)},...,X^{(n)}=x^{(n)}|Y=c_k)=\prod_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_k) PP(X=xY=ck)=P(X(1)=x(1),X(2)=x(2),...,X(n)=x(n)Y=ck)=j=1nP(X(j)=x(j)Y=ck)
朴素贝叶斯法实际上学习到生成数据的机制,所以属于生成模型。条件独立假设等于说用于分类的特征在类确定的条件下都是条件独立的。

朴素贝叶斯法分类时,对给定的输入 x x x,通过学习到的模型计算后验概率分布 P ( Y = c k ∣ X = x ) P(Y=c_k|X=x) P(Y=ckX=x),将后验概率最大的类作为 x x x的输出,后验概率计算根据贝叶斯定理进行:
P ( Y = c k ∣ X = x ) = P ( X = x ∣ y = c k ) P ( Y = c k ) ∑ k P ( X = x ∣ Y = c k ) P ( Y = c k ) P(Y=c_k|X=x)=\frac{P(X=x|y=c_k)P(Y=c_k)}{\sum_kP(X=x|Y=c_k)P(Y=c_k)} P(Y=ckX=x)=kP(X=xY=ck)P(Y=ck)P(X=xy=ck)P(Y=ck)
将上上式带入上式得
P ( Y = c k ∣ X = x ) = P ( Y = c k ) ∏ j = 1 n P ( X ( j ) = x ( j ) ∣ Y = c k ) ∑ k P ( Y = c k ) ∏ j = 1 n P ( X ( j ) = x ( j ) ∣ Y = c k ) P(Y=c_k|X=x)=\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)} P(Y=ckX=x)=kP(Y=ck)j=1nP(X(j)=x(j)Y=ck)P(Y=ck)j=1nP(X(j)=x(j)Y=ck)
朴素贝叶斯是求得右边值最大的y值,而分母对于任意 c k c_k ck都相等。因此,朴素贝叶斯分类器可以表示为:
y = arg ⁡ max ⁡ c k P ( Y = c k ) ∏ j = 1 n P ( X ( j ) = x ( j ) ∣ Y = c k ) y=\arg\max_{c_k}P(Y=c_k)\prod_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_k) y=argckmaxP(Y=ck)j=1nP(X(j)=x(j)Y=ck)

1.2后验概率最大化的含义

后验概率最大化,等价于期望风险最小化。

2朴素贝叶斯法的参数估计
2.1极大似然估计

在朴素贝叶斯法中,学习意味着估计 P ( Y = c k ) P(Y=c_k) P(Y=ck) P ( X ( j ) = x ( j ) ∣ Y = c k ) P(X^{(j)}=x^{(j)}|Y=c_k) P(X(j)=x(j)Y=ck)。先验概率 P ( Y = c k ) P(Y=c_k) P(Y=ck)的极大似然估计是
P ( Y = c k ) = ∑ i = 1 N I ( y i = c k ) N P(Y=c_k)=\frac{\sum_{i=1}^NI(y_i=c_k)}N P(Y=ck)=Ni=1NI(yi=ck)
设第 j j j个特征 x ( j ) x^{(j)} x(j)可能的取值集合为 { a j 1 , a j 2 , . . . , a j s } \{a_{j1},a_{j2},...,a_{js}\} {aj1,aj2,...,ajs},条件概率 P ( X ( j ) = a j l ∣ Y = c k ) P(X^{(j)}=a_{jl}|Y=c_k) P(X(j)=ajlY=ck)的极大似然估计是
P ( X ( j ) = a j l ∣ Y = c k ) = ∑ i = 1 N I ( x i ( j ) = a j l , y i = c k ) ∑ i = 1 N I ( y i = c k ) 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)} P(X(j)=ajlY=ck)=i=1NI(yi=ck)i=1NI(xi(j)=ajl,yi=ck)

2.2贝叶斯估计

用极大似然估计可能会出现索要估计的概率值为0的情况。这是会影响到后验概率的计算结果,使分类产生偏差。解决方法是采用贝叶斯估计。具体的,条件概率的贝叶斯估计是
P λ ( X ( j ) = a j l ∣ Y = c k ) = ∑ i = 1 N I ( x i ( j ) = a j l + λ ) ∑ i = 1 N I ( y i = c k ) + S j λ P_{\lambda}(X^{(j)}=a_{jl}|Y=c_k)=\frac{\sum_{i=1}^NI(x_i^{(j)}=a_{jl}+\lambda)}{\sum_{i=1}^NI(y_i=c_k)+S_j\lambda} Pλ(X(j)=ajlY=ck)=i=1NI(yi=ck)+Sjλi=1NI(xi(j)=ajl+λ)
式中 λ ≥ 0 \lambda\ge0 λ0,等价于在随机变量各个取值的频数的频数上赋予一个正数 λ > 0 \lambda>0 λ>0。当 λ = 0 \lambda=0 λ=0时就是极大似然估计。常取 λ = 1 \lambda=1 λ=1,这时称为拉普拉斯平滑。显然,对于任何 l = 1 , 2 , . . . , S j , k = 1 , 2 , . . . , K l=1,2,...,S_j, k=1,2,...,K l=1,2,...,Sj,k=1,2,...,K
P λ ( X ( j ) = a j l ∣ Y = c k ) > 0 P_{\lambda}(X^{(j)}=a_{jl}|Y=c_k)>0 Pλ(X(j)=ajlY=ck)>0
∑ l = 1 S j P ( X ( j ) = a j l ∣ Y = c k ) = 1 \sum_{l=1}^{S_j}P(X^{(j)}=a_{jl}|Y=c_k)=1 l=1SjP(X(j)=ajlY=ck)=1
综上,先验概率的贝叶斯估计为:
P λ ( Y = c k ) = ∑ i = 1 N I ( y i = c k ) + λ N + K λ P_{\lambda}(Y=c_k)=\frac{\sum_{i=1}^NI(y_i=c_k)+\lambda}{N+K\lambda} Pλ(Y=ck)=N+Kλi=1NI(yi=ck)+λ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值