【统计学习方法】第4章 朴素贝叶斯法

朴素贝叶斯法是一种基于贝叶斯定理和特征条件独立假设的分类技术,它通过学习输入/输出的联合分布,并利用贝叶斯定理求解后验概率最大的输出类别。这种方法假设特征之间相互独立,简化了模型,但可能影响准确性。最大似然估计用于参数估计,而贝叶斯估计则用于处理概率为零的问题,例如拉普拉斯平滑。
摘要由CSDN通过智能技术生成

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

4.1 朴素贝叶斯法

朴素贝叶斯法通过训练数据集学习联合概率分布 P ( X , Y ) P(X,Y) P(X,Y)。具体地,学习以下先验概率分布及条件概率分布。先验概率分布

P ( Y = c k ) , k = 1 , 2 , ⋯   , K P(Y=c_k),k=1,2,\cdots,K P(Y=ck),k=1,2,,K

条件概率分布

P ( X = x ∣ Y = c k ) = P ( X ( 1 ) = x ( 1 ) , ⋯   , X ( n ) = x ( n ) ∣ Y = c k ) , k = 1 , 2 , ⋯   , K P(X=x|Y=c_k)=P(X^{(1)}=x^{(1)},\cdots,X^{(n)}=x^{(n)}|Y=c_k),k=1,2,\cdots,K P(X=xY=ck)=P(X(1)=x(1),,X(n)=x(n)Y=ck),k=1,2,,K

于是学到联合概率分布 P ( X , Y ) P(X,Y) P(X,Y)。朴素贝叶斯法对条件概率分布作了条件独立性的假设。具体地,条件独立性假设是

P ( X = x ∣ Y = c k ) = ∏ j = 1 n P ( X ( j ) = x ( j ) ∣ Y = c k ) P(X=x|Y=c_k)=\prod_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_k) P(X=xY=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 P ( X ( j ) = x ( j ) ∣ Y = c k ) ∑ k P ( Y = c k ) ∏ j P ( X ( j ) = x ( j ) ∣ Y = c k ) , k = 1 , 2 , ⋯   , K P(Y=c_k|X=x)=\frac{P(Y=c_k)\prod_jP(X^{(j)}=x^{(j)}|Y=c_k)}{\sum_kP(Y=c_k)\prod_jP(X^{(j)}=x^{(j)}|Y=c_k)},k=1,2,\cdots,K P(Y=ckX=x)=kP(Y=ck)jP(X(j)=x(j)Y=ck)P(Y=ck)jP(X(j)=x(j)Y=ck),k=1,2,,K

于是,朴素贝叶斯分类器可表示为

y = f ( x ) = arg max ⁡ c k P ( Y = c k ) ∏ j P ( X ( j ) = x ( j ) ∣ Y = c k ) ∑ k P ( Y = c k ) ∏ j P ( X ( j ) = x ( j ) ∣ Y = c k ) y=f(x)=\argmax_{c_k}\frac{P(Y=c_k)\prod_jP(X^{(j)}=x^{(j)}|Y=c_k)}{\sum_kP(Y=c_k)\prod_jP(X^{(j)}=x^{(j)}|Y=c_k)} y=f(x)=ckargmaxkP(Y=ck)jP(X(j)=x(j)Y=ck)P(Y=ck)jP(X(j)=x(j)Y=ck)

注意到,在上式中分母对所有 c k c_k ck 都是相同的,所以

y = arg max ⁡ c k P ( Y = c k ) ∏ j P ( X ( j ) = x ( j ) ∣ Y = c k ) y=\argmax_{c_k}P(Y=c_k)\prod_jP(X^{(j)}=x^{(j)}|Y=c_k) y=ckargmaxP(Y=ck)jP(X(j)=x(j)Y=ck)

朴素贝叶斯法将实例分到后验概率最大的类中,等价于期望风险最小化。

4.2 朴素贝叶斯法的参数估计

4.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 , k = 1 , 2 , ⋯   , K P(Y=c_k)=\frac{\sum_{i=1}^NI(y_i=c_k)}{N},k=1,2,\cdots,K P(Y=ck)=Ni=1NI(yi=ck),k=1,2,,K

设第 j j j 个特征 x ( j ) x^{(j)} x(j) 可能取值的集合为 { a j 1 , a j 2 , ⋯   , a j S j } \{a_{j1},a_{j2},\cdots,a_{jS_j}\} {aj1,aj2,,ajSj},条件概率 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 l = c k ) j = 1 , 2 , ⋯   , n ; l = 1 , 2 , ⋯   , S j ; k = 1 , 2 , ⋯   , K \begin{aligned} 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_l=c_k)}\\ j=1,2,\cdots,n;l=1,2,\cdots,S_j;k=1,2,\cdots,K \end{aligned} P(X(j)=ajlY=ck)=i=1NI(yl=ck)i=1NI(xi(j)=ajl,yi=ck)j=1,2,,n;l=1,2,,Sj;k=1,2,,K

式中, x i ( j ) x_i^{(j)} xi(j) 是第 i i i 个样本的第 j j j 个特征; a j l a_{jl} ajl 是第 j j j 个特征可能取的第 l l l 个值; I I I 为指示函数。

4.2.2 学习与分类算法

输入:训练数据 T = { ( x 1 , y 1 ) , ⋯   , ( x N , y N ) } T=\{(x_1,y_1),\cdots,(x_N,y_N)\} T={(x1,y1),,(xN,yN)},其中 x i = ( x i ( 1 ) , ⋯   , x i ( n ) ) T x_i=(x_i^{(1)},\cdots,x_i^{(n)})^T xi=(xi(1),,xi(n))T x i ( j ) x_i^{(j)} xi(j) 是第 i i i 个样本的第 j j j 个特征, x i ( j ) ∈ { a j 1 , ⋯   , a j S j } x_i^{(j)}\in\{a_{j1},\cdots,a_{jS_j}\} xi(j){aj1,,ajSj} a j l a_{jl} ajl 是第 j j j 个特征可能取的第 l l l 个值, j = 1 , 2 , ⋯   , n j=1,2,\cdots,n j=1,2,,n l = 1 , 2 , ⋯   , S j l=1,2,\cdots,S_j l=1,2,,Sj y i ∈ c 1 , c 2 , ⋯   , c K y_i\in\\{c_1,c_2,\cdots,c_K\\} yic1,c2,,cK;实例 x x x

输出:实例 x x x 的分类

  1. 计算先验概率及条件概率
  2. 对于给定的实例 x x x,计算 P ( Y = c k ) P(Y=c_k) P(Y=ck)
  3. 确定实例 x x x 的类

4.2.3 贝叶斯估计

用极大似然户籍可能会出现所要估计的概率值为0的情况。这时会影响后验概率的计算结果,使分类产生偏差。解决这一问题的方法是采用贝叶斯估计。具体地,条件概率的贝叶斯估计是

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 ) + S j λ 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} Pλ(X(j)=ajlY=ck)=i=1NI(yi=ck)+Sjλi=1NI(xi(j)=ajl,yi=ck)+λ

式中 λ ⩾ 0 \lambda\geqslant0 λ0,等价于在随机变量各个取值的频数上赋予一个正数 λ > 0 \lambda>0 λ>0。当 λ = 0 \lambda=0 λ=0时就是极大似然估计,常取 λ = 1 \lambda=1 λ=1,这时称为拉普拉斯平滑(Laplace smoothing)。同样,先验概率的贝叶斯估计是

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)+λ

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值