统计学习方法读书笔记(四)-朴素贝叶斯法

全部笔记的汇总贴:统计学习方法读书笔记汇总贴

PDF免费下载:《统计学习方法(第二版)》

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

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

朴素贝叶斯法对条件概率分布作了条件独立性的假设。
P ( X = x ∣ Y = c k ) = P ( X ( 1 ) = x ( 1 ) , ⋯   , X ( n ) = x ( n ) ∣ Y = c k ) = ∏ j = 1 n P ( X ( j ) = x ( j ) ∣ Y = c k ) P(X=x|Y=c_k)=P(X^{(1)}=x^{(1)},\cdots,X^{(n)}=x^{(n)}|Y=c_k)\\=\prod_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_k) P(X=xY=ck)=P(X(1)=x(1),,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 P ( X ( j ) = x ( j ) ∣ Y = c k ) ∑ k P ( Y = c k ) ∏ j P ( X ( j ) = x ( j ) ∣ Y = c k ) P(Y=c_k|X=x)=\frac{P(Y=c_k)\prod_{j}P(X^{(j)}=x^{(j)}|Y=c_k)}{\sum_kP(Y=c_k)\prod_{j}P(X^{(j)}=x^{(j)}|Y=c_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)

所以,朴素贝叶斯分类器可以表示为: 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_{j}P(X^{(j)}=x^{(j)}|Y=c_k)}{\sum_kP(Y=c_k)\prod_{j}P(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_{j}P(X^{(j)}=x^{(j)}|Y=c_k)} y=ckargmaxP(Y=ck)jP(X(j)=x(j)Y=ck)

朴素贝叶斯法将实例分到后验概率最大的类中,这等价于期望风险最小化。根据期望风险最小化准则可以得到后验概率最大化准则: f ( x ) = arg max ⁡ c k P ( c k ∣ X = x ) f(x)=\argmax_{c_k}P(c_k|X=x) f(x)=ckargmaxP(ckX=x)

二、朴素贝叶斯法的参数估计

(一)极大似然估计

先验概率 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
条件概率 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 ) , j = 1 , 2 , ⋯   , n ; l = 1 , 2 , ⋯   , S j ; k = 1 , 2 , ⋯   , 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)},j=1,2,\cdots,n;l=1,2,\cdots,S_j;k=1,2,\cdots,K P(X(j)=ajlY=ck)=i=1NI(yi=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为指示函数。

(二)贝叶斯估计

条件概率的贝叶斯估计是: 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)+λ
相比较极大似然估计,我们需要引入一个 λ \lambda λ,此时 λ ≥ 0 \lambda \ge0 λ0,常取 λ = 1 \lambda=1 λ=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)+λ

扫描二维码关注公众号,回复: 12192586 查看本文章

(三)朴素贝叶斯算法

  1. 计算先验概率及条件概率
  2. 对于给定的实例计算 P ( Y = c k ) ∏ j = 1 n P ( X ( j ) = x ( j ) ∣ Y = c k ) P(Y=c_k)\prod_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_k) P(Y=ck)j=1nP(X(j)=x(j)Y=ck)
  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=\argmax_{c_k}P(Y=c_k)\prod_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_k) y=ckargmaxP(Y=ck)j=1nP(X(j)=x(j)Y=ck)

极大似然估计可以对比P63的例4.1的计算过程,贝叶斯估计可以对照例4.2。

下一章传送门:统计学习方法读书笔记(五)-决策树

猜你喜欢

转载自blog.csdn.net/qq_41485273/article/details/112748133