统计学习笔记-第四章 朴素贝叶斯法

第4章 朴素贝叶斯法

朴素贝叶斯(naive Bayes)法是基于贝叶斯定理与特征条件独立假设的方法.

4.1 朴素贝叶斯法的学习与分类

4.1.1 基本方法

设输入空间 x ⊆ R n x\subseteq R^n xRn, 输出空间 Y = c 1 , c 2 , c 3 , . . . , c k Y = {c_1, c_2, c_3, ..., c_k} Y=c1,c2,c3,...,ck, 输入特征向量 x ∈ X x \in X xX, 输出为类标记(class label) y ∈ Y y \in Y yY, P ( X , Y ) P(X,Y) P(X,Y)表示联合概率分布,训练数据集为:

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 ( Y = c k ) , k = 1 , 2 , . . . , K P(Y=c_k), k=1,2,...,K P(Y=ck),k=1,2,...,K

条件概率分布

p ( X = x ∣ Y = c k ) = P ( X ( 1 ) = x ( 1 ) , . . . , X ( n ) = x ( n ) ) , k = 1 , 2 , . . . , k p(X=x|Y=c_k)=P(X^{(1)} = x^{(1)},...,X^{(n)}=x^{(n)}), k=1,2,...,k p(X=xY=ck)=P(X(1)=x(1),...,X(n)=x(n)),k=1,2,...,k

条件概率分布有指数级的参数,假设 x ( j ) x^{(j)} x(j) 有 S j S_j Sj 个, Y Y Y 可能值有  k k k 个,那么参数个数为 $k \prod_{j=1}^n S_j $.

条件独立性假设

朴素贝叶斯对条件概率分布做了条件独立性的假设

P ( X = x ∣ Y = c k ) = P ( X ( 1 ) = x ( 1 ) , . . . , X ( n ) = x ( n ) ) = ∏ j = 1 n P ( X ( i ) = x ( j ) ∣ Y = c k ) P(X=x|Y=c_k)=P(X^{(1)} = x^{(1)},...,X^{(n)}=x^{(n)}) =\prod_{j=1}^n P(X^{(i)}=x^{(j)}|Y=c_k) P(X=xY=ck)=P(X(1)=x(1),...,X(n)=x(n))=j=1nP(X(i)=x(j)Y=ck)

  • 朴素贝叶斯实际是学习到生成数据的机制,所以属于生成模型

  • 条件独立性假设等于说在类确定的条件下都是条件独立的,这个假设使得朴素贝叶斯法变的简单,但有时会牺牲一定的分类准确率

后验概率

根据贝叶斯定理

P ( Y = c k ∣ X = x ) = P ( Y = c k ∣ X = x ) P ( Y = c k ) ∑ k P ( Y = c k ∣ X = x ) P ( Y = c k ) P(Y=c_k|X=x) = \frac{P(Y=c_k|X=x)P(Y=c_k)}{\sum_k P(Y=c_k|X=x)P(Y=c_k)} P(Y=ckX=x)=kP(Y=ckX=x)P(Y=ck)P(Y=ckX=x)P(Y=ck)

结合条件独立性假设,得到

P ( Y = c k ∣ X = x ) = P ( Y = c k ) ∏ j = 1 n P ( X ( i ) = x ( j ) ∣ Y = c k ) ∑ k P ( Y = c k ) ∏ j = 1 n P ( X ( i ) = x ( j ) ∣ Y = c k ) P(Y=c_k|X=x) = \frac{P(Y=c_k)\prod \limits_{j=1}^n P(X^{(i)}=x^{(j)}|Y=c_k)}{\sum_k P(Y=c_k) \prod \limits_{j=1}^n P(X^{(i)}=x^{(j)}|Y=c_k)} P(Y=ckX=x)=kP(Y=ck)j=1nP(X(i)=x(j)Y=ck)P(Y=ck)j=1nP(X(i)=x(j)Y=ck)

所有贝叶斯分类器表示为

y = f ( x ) = a r g max ⁡ c k P ( Y = c k ) ∏ j = 1 n P ( X ( i ) = x ( j ) ∣ Y = c k ) ∑ k P ( Y = c k ) ∏ j = 1 n P ( X ( i ) = x ( j ) ∣ Y = c k ) y=f(x)=arg \max_{c_k}\frac{P(Y=c_k)\prod \limits_{j=1}^n P(X^{(i)}=x^{(j)}|Y=c_k)}{\sum_k P(Y=c_k) \prod \limits_{j=1}^n P(X^{(i)}=x^{(j)}|Y=c_k)} y=f(x)=argckmaxkP(Y=ck)j=1nP(X(i)=x(j)Y=ck)P(Y=ck)j=1nP(X(i)=x(j)Y=ck)

贝叶斯分类计算上式不同 c k c_k ck取值的最大值,而对于所有的 c k c_k ck 分母值都相同,故简化为下式

y = a r g max ⁡ c k P ( Y = c k ) ∏ j = 1 n P ( X ( i ) = x ( j ) ∣ Y = c k ) y=arg \max_{c_k}P(Y=c_k)\prod_{j=1}^n P(X^{(i)}=x^{(j)}|Y=c_k) y=argckmaxP(Y=ck)j=1nP(X(i)=x(j)Y=ck)

4.1.2 后验概率最大化的含义

类似于期望风险最小化

选择 0 − 1 0-1 01 损失函数

L ( Y , f ( x ) ) = { 1 , Y ≠ f ( x ) 0 , Y = f ( x ) L(Y,f(x))= \begin{cases} 1,Y \not ={f(x)} \\ 0,Y=f(x) \end{cases} L(Y,f(x))={1,Y=f(x)0,Y=f(x)

期望风险函数为

R e x p ( f ) = E [ L ( Y , f ( X ) ) ] R_exp(f)=E[L(Y,f(X))] Rexp(f)=E[L(Y,f(X))]

根据联合分布,得到条件期望

R e x p ( f ) = E x ∑ k = 1 K [ L ( c k , f ( X ) ) ] P ( c k ∣ X ) R_{exp}(f)=Ex \sum_{k=1}^K[L(c_k,f(X))]P(c_k|X) Rexp(f)=Exk=1K[L(ck,f(X))]P(ckX)

使期望风险最小化,得到后验概率最大化准则

f ( x ) = a r g max ⁡ c k P ( c k ∣ X = x ) f(x)=arg \max_{c_k}P(c_k|X=x) f(x)=argckmaxP(ckX=x)

4.2 朴素贝叶斯的参数估计

4.2.1 极大似然估计法

估计类条件概率的一种常用策略是先假定其具有某种确定的概率分布形式,再基于训练样本对概率分布的参数进行估计。

记关于类别 c c c 的类条件概率为 P ( x ∣ c ) P(x|c) P(xc), 为求得参数向量,记为 P ( x ∣ θ c ) P(x|\theta_c) P(xθc)

D c D_c Dc 表示训练集 D D D 中第 c c c 类样本组成的集合

P ( D c ∣ θ c ) = ∑ x ∈ D c P ( x ∣ θ c ) P(D_c|\theta_c)=\sum_{x \in D_c}P(x|\theta_c) P(Dcθc)=xDcP(xθc)

为避免连乘操作导致下溢,通常使用对数似然(log-likelihood)

L L ( θ c ) = l o g P ( D c ∣ θ c ) = ∑ x ∈ D c log ⁡ P ( x ∣ θ c ) LL(\theta_c)=log P(D_c|\theta_c)=\sum_{x \in D_c}\log P(x|\theta_c) LL(θc)=logP(Dcθc)=xDclogP(xθc)

极大似然估计为

θ c ^ = arg ⁡ max ⁡ θ c L L ( θ c ) \hat{\theta_c}=\arg \max_{\theta_c} LL(\theta_c) θc^=argθcmaxLL(θc)

这种参数化的方法能使类条件概率估计变的相对简单,但是估计结果的准确性严重依赖于所假设的概率分布形式是否符合潜在的真实数据分布.

4.2.2 学习与分类算法

算法4.1(朴素贝叶斯算法(naive Bayes algorithm))

输入:训练数据 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),其中 x i = ( x ( 1 ) , x ( 2 ) , … , x ( n ) ) T x_i=(x^{(1)}, x^{(2)},…,x^{(n)})^T xi=(x(1),x(2),x(n))T, x i ( j ) x_i^{(j)} xi(j) 是第 i i i 个样本的第 j j j 个特征, y i ∈ { c 1 , c 2 , … , c k } y_i \in \{c_1, c_2,…,c_k \} yi{c1,c2,,ck};实例 x x x;
输出:实例 x x x 的分类;

(1)计算先验概率及条件概率

P ( Y = c k ) = ∑ i = 1 N I ( y i = c k ) N , k = 1 , 2 , … … , K P(Y=c_k)=\frac{\sum \limits_{i=1}^N I(y_i=c_k)}{N},k=1,2,……,K P(Y=ck)=Ni=1NI(yi=ck),k=1,2,,K

p ( x ( j ) = a j l ∣ Y = c k ) = ∑ i = 1 N I ( x ( 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 \limits_{i=1}^N I(x^{(j)}=a_{jl}, y_i=c_k)}{\sum \limits_{i=1}^N I(y_i=c_k)} p(x(j)=ajlY=ck)=i=1NI(yi=ck)i=1NI(x(j)=ajl,yi=ck)

( j = 1 , 2 , … … , n ; l = 1 , 2 , … … , S j ; k = 1 , 2 , … … , K ) (j=1,2,……,n;\quad l=1,2,……,S_j;\quad k=1,2,……,K) (j=1,2,,n;l=1,2,,Sj;k=1,2,,K)

(2)对于给定的实例 x = ( x ( 1 ) , x ( 2 ) , … … , x ( n ) ) T x=(x^{(1)},x^{(2)},……,x^{(n)})^T x=(x(1),x(2),,x(n))T, 计算

P ( Y = c k ) ∏ j = 1 n P ( X ( j ) = x ( j ) ∣ Y = c k ) , k = 1 , 2 , … … , K P(Y=c_k)\prod \limits_{j=1}^n P(X^{(j)}=x^{(j)}|Y=c_k), k=1,2,……,K P(Y=ck)j=1nP(X(j)=x(j)Y=ck),k=1,2,,K

(3) 确定实例 x x x 的类

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}^n P(X^{(j)}=x^{(j)}|Y=c_k) y=argckmaxP(Y=ck)j=1nP(X(j)=x(j)Y=ck)

4.2.3 贝叶斯估计

用极大似然估计可能会出现估计的概率为0的情况, 这是可以采用贝叶斯估计

P λ ( X ( j ) = a j l ∣ Y = c k ) = ∑ i = 1 N I ( x i ( j ) = a j i , y i = c k ) + λ ∑ i = 1 N I ( y i = c k ) + S j λ P_\lambda(X^{(j)}=a_{jl}|Y=c_k)=\frac{\sum \limits_{i=1}{N}I(x_i^{(j)}=a_{ji},y_i = c_k)+\lambda}{\sum \limits_{i=1}^N I(y_i=c_k)+S_j \lambda} Pλ(X(j)=ajlY=ck)=i=1NI(yi=ck)+Sjλi=1NI(xi(j)=aji,yi=ck)+λ

式中, λ > 0 \lambda>0 λ>0,当

  • λ = 0 \lambda=0 λ=0 时就是极大释然估计
  • 常取 λ = 1 \lambda=1 λ=1, 这时称为拉普拉斯平滑(Laplacian smoothing)

先验概率的贝叶斯估计是

P λ ( Y = c k ) = ∑ i = 1 N I ( y i = c k ) + λ N + K λ P_\lambda(Y=c_k)=\frac{\sum \limits_{i=1}^N I(y_i=c_k)+\lambda}{N+K\lambda} Pλ(Y=ck)=N+Kλi=1NI(yi=ck)+λ

参考文献

[1]. 统计学习方法(第二版).李航
[2].机器学习.周志华.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值