朴素贝叶斯分类

朴素贝叶斯分类

概率论知识

条件概率

P(B|A) 表示在A事件发生的条件下,事件B发生的概率

乘法公式

case1:两个事件A,B
P ( A B ) = P ( A ) P ( B ∣ A ) ( P ( A ) > 0 ) P ( B A ) = P ( B ) P ( A ∣ B ) ( P ( B ) > 0 ) P(AB) = P(A) P(B|A) \quad (P(A)>0) \\ P(BA) = P(B) P(A|B) \quad (P(B)>0) P(AB)=P(A)P(BA)(P(A)>0)P(BA)=P(B)P(AB)(P(B)>0)
case2:三个事件ABC

设A,B,C是事件,且P(AB) >0(从而一定有P(A)>0),
P ( A B C ) = P ( A B ) P ( C ∣ A B ) = P ( A ) P ( B ∣ A ) P ( C ∣ A B ) P(ABC) = P(AB) P(C|AB) = P(A)P(B|A)P(C|AB) P(ABC)=P(AB)P(CAB)=P(A)P(BA)P(CAB)
case3: 推广到n个事件
P ( A 1 A 2 A 3 … A n ) = P ( A 1 ) P ( A 2 ∣ A 1 ) P ( A 3 ∣ A 2 A 1 ) … P ( A n ∣ A 1 A 2 … A n − 1 ) P(A_1A_2A_3… A_n) = P(A_1)P(A_2|A_1)P(A_3|A_2A_1) … P(A_n|A_1A_2…A_{n-1}) \\ P(A1A2A3An)=P(A1)P(A2A1)P(A3A2A1)P(AnA1A2An1)

全概率公式

设实验E的样本空间为S,已知B1,B2,……,Bn是样本空间S的一个完备事件组,即事件B1,B2,……,Bn 两两互不相容,
B i ⋂ B j = ∅ ( i ≠ j ) B i ⋃ … ⋃ B n = S B_i \bigcap B_j = \emptyset (i\neq j) \\ B_i \bigcup … \bigcup B_n = S BiBj=(i=j)BiBn=S
现已知A为E的一个事件,

则有:
P ( A ) = P ( B 1 ) P ( A ∣ B 1 ) + P ( B 2 ) P ( A ∣ B 2 ) + … + P ( A ∣ B n ) P ( B n ) P ( A ) = ∑ i = 1 n P ( A ∣ B i ) P ( B i ) P(A) = P(B_1) P(A|B_1) + P(B_2) P(A|B_2)+… +P(A|B_n) P(B_n) \\ P(A) = \sum_{i=1}^{n}P(A|B_i) P(B_i) P(A)=P(B1)P(AB1)+P(B2)P(AB2)++P(ABn)P(Bn)P(A)=i=1nP(ABi)P(Bi)
全概率公式:可以看作是由原因推结果 ,每个原因Bi对结果A的发生有一定的作用,结果A发生的可能性与各种原因的作用大小有关,全概率公式就表达了它们之间的关系。

贝叶斯公式

贝叶斯公式其实就是由条件概率出发,分子由一步条件概率变形,分母通过全概率变形。
P ( B ∣ A ) = P ( A B ) P ( A ) = P ( B A ) P ( A ) P ( B A ) = P ( B ) P ( A ∣ B ) P ( A ) = ∑ j = 1 n P ( B j ) P ( A ∣ B j ) P ( B ∣ A ) = P ( B ) P ( A ∣ B ) ∑ j = 1 n P ( B j ) P ( A ∣ B j ) P ( B i ∣ A ) = P ( B i ) P ( A ∣ B i ) ∑ j = 1 n P ( B j ) P ( A ∣ B j ) P(B\mid A) = \frac{P(AB)}{P(A)} = \frac{P(BA)}{P(A)} \\ P(BA) = P(B) P(A\mid B) \\ P(A) = \sum_{j=1}^n P(B_j)P(A\mid B_j) \\ P(B\mid A) = \frac{P(B)P(A \mid B)}{\sum_{j=1}^n P(B_j)P(A\mid B_j)} \\ P(B_i\mid A) = \frac{P(B_i)P(A \mid B_i)}{\sum_{j=1}^n P(B_j)P(A\mid B_j)} P(BA)=P(A)P(AB)=P(A)P(BA)P(BA)=P(B)P(AB)P(A)=j=1nP(Bj)P(ABj)P(BA)=j=1nP(Bj)P(ABj)P(B)P(AB)P(BiA)=j=1nP(Bj)P(ABj)P(Bi)P(ABi)
在A已经发生的条件下,贝叶斯公式可以用来寻找,导致A发生各种“原因”Bi的概率。

朴素贝叶斯分类的原理和流程

​ 对于给出的待分类项,求解出在此项出现的各个条件下各个类别出现的概率,哪个最大,就认为此待分类属于哪个类别。

正式定义如下:

  • X = { x 1 , x 2 , . . , x m } X = \{x_1,x_2,..,x_m\} X={x1,x2,..,xm}, 每个xi 为X 的一个特征属性

  • 有 类别集合 $Y = {y_1,y_2,…,y_n} $

  • 计算 P ( y 1 ∣ X ) , P ( y 2 ∣ X ) , . . . , P ( y n ∣ X ) P(y_1\mid X),P(y_2\mid X),...,P(y_n\mid X) P(y1X),P(y2X),...,P(ynX)

  • 如果$P(y_k \mid X) = \max {P(y_1 \mid X,P(y_2 \mid X,…,P(y_n \mid X))} $ ,则 X ∈ y k X \in y_k Xyk,即 X所属的类别是 y k y_k yk

所以现在的关键就是如何计算 各个条件概率

  • 根据贝叶斯定理:

    P ( y i ∣ X ) = P ( X ∣ y i ) P ( y i ) P ( X ) P(y_i \mid X) = \frac{P(X \mid y_i) P(y_i)}{P(X)} P(yiX)=P(X)P(Xyi)P(yi)

  • P ( y i P(y_i P(yi ) 是容易得到的,所以现在需要求出 P ( X ∣ y i ) P(X \mid y_i) P(Xyi) P ( X ) P(X) P(X)

  • 此时需要“朴素”来帮忙,假设X的各个特征属性xi 是相互独立的,根据多个独立事件的联合概率公式:
    P ( X ) = P ( x 1 , x 2 , . . . , x m ) = P ( x 1 ) P ( x 2 ) . . . P ( x m ) P ( X ∣ y i ) = P ( x 1 ∣ y i ) P ( x 2 ∣ y i ) . . . P ( x m ∣ y i ) = ∏ j = 1 m P ( x j ∣ y i ) P ( X j ∣ y i ) = P ( x j , y i ) P ( y i ) P ( X ∣ y i ) = ∏ j = 1 m P ( x j , y i ) P ( y i ) P(X) = P(x_1,x_2,...,x_m) = P(x_1) P(x_2)...P(x_m) \\ P(X \mid y_i) = P(x_1 \mid y_i) P(x_2 \mid y_i)... P(x_m \mid y_i) = \prod_{j=1}^m P(x_j \mid y_i) \\ P(X_j \mid y_i) = \frac{P(x_j,y_i)}{P(y_i)} \\ P(X \mid y_i) = \prod_{j=1}^m \frac{P(x_j,y_i)}{P(y_i)} P(X)=P(x1,x2,...,xm)=P(x1)P(x2)...P(xm)P(Xyi)=P(x1yi)P(x2yi)...P(xmyi)=j=1mP(xjyi)P(Xjyi)=P(yi)P(xj,yi)PXyi)=j=1mP(yi)P(xj,yi)

  • 现在有训练集 $M = {(X_1,y_1),(X_2,y_2),…,(X_n,y_n)} $

  • X i = { x i 1 , x i 2 , . . , x i m } X_i = \{x_{i1},x_{i2},..,x_{im}\} Xi={xi1,xi2,..,xim} 代表输入的m维随机变量, Y = { y 1 , y 2 , . . . , y n } Y = \{y_1,y_2,...,y_n\} Y={y1,y2,...,yn}代表类别变量

编号12mY
X1x11x12x1my1
X2x21x22x2my2
X3x31x32x3my3
⋮ \vdots ⋮ \vdots ⋮ \vdots ⋮ \vdots ⋮ \vdots
Xnxn1xn2xnmyn
  • 统计得到在各个类别 P ( x 1 ∣ y 1 ) , P ( x 2 ∣ y 1 ) , . . . , P ( x m ∣ y 1 ) ; P ( x 1 ∣ y 2 ) , P ( x 2 ∣ y 2 ) , . . . , P ( x m ∣ y 2 ) ; . . . ; P ( x 1 ∣ y n ) , P ( x 2 ∣ y n ) , . . . , P ( x m ∣ y n ) ; P(x_1 \mid y_1),P(x_2 \mid y_1),...,P(x_m \mid y_1); P(x_1 \mid y_2),P(x_2 \mid y_2),...,P(x_m \mid y_2);...;P(x_1 \mid y_n),P(x_2 \mid y_n),...,P(x_m \mid y_n); P(x1y1),P(x2y1),...,P(xmy1);P(x1y2),P(x2y2),...,P(xmy2);...;P(x1yn),P(x2yn),...,P(xmyn);
  • 因为分子 P ( X i ) P(X_i) P(Xi)都一样, 所以只需要考虑分子最大,即预测样本 X i X_i Xi最有可能的类别标签 y 为:

y = a r g   max ⁡ ∏ j = 1 m P ( X i j = x i j ∣ Y = y k ) P ( Y = y k ) k ∈ { 1 , 2 , . . . , n } y = arg\, \max \prod_{j=1}^m P(X_{ij} = x_{ij} \mid Y = y_k) P(Y = y_k) \\ k \in \{ 1,2,...,n\} y=argmaxj=1mP(Xij=xijY=yk)P(Y=yk)k{1,2,...,n}

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

  • 以下针对的是特征是离散的。

  • 朴素贝叶斯算法的参数估计就是估计先验参数 P ( Y = y k ) P(Y=y_k) P(Y=yk)似然函数(条件参数) P ( X = X i ∣ Y = y k ) P(X=Xi\mid Y=y_k) P(X=XiY=yk)

  • 先验参数 P ( Y = k ) P(Y=k) P(Y=k) 的极大似然估计为:
    P ( Y = y k ) = ∑ i = 1 n I ( y i = y k ) n P(Y = y_k) = \frac{\sum _{i=1}^nI(y_i = y_k)}{n} P(Y=yk)=ni=1nI(yi=yk)

  • I ( y i = c ) I(y_i = c) I(yi=c) 是指示函数,当参数为真时取1,反之取0

  • 也就是以频率估计概率

  • 条件参数 P ( X = X i ∣ Y = y k ) P(X=Xi\mid Y=y_k) P(X=XiY=yk)的极大似然估计是:

    P ( 𝑋 = 𝑋 i │ 𝑌 = 𝑘 ) = ∏ i = 1 𝑑 ∑ j = 1 n I ( X i j = x i j , y i = k ) ∑ i = 1 n I ( y i = k ) P(𝑋=𝑋_i│𝑌=𝑘)=\prod_{i=1}^𝑑 \frac {\sum_{j=1}^{n}I(X_{ij} = x_{ij},y_i=k)}{\sum_{i=1}^{n}I(y_i = k)} P(X=XiY=k)=i=1di=1nI(yi=k)j=1nI(Xij=xij,yi=k)

  • 当取值只有两个值时,可以简化为伯努利模型

0概率处理(贝叶斯估计)

  • 可能在实际上应用中,存在某个特征属性在训练集中没有出现过,这样如果按照以上的计算方法,就会出现 P ( x i ) = 0 P(x_i) = 0 P(xi)=0 的情况,此时,会导致后验概率 P P P

P ( 𝑋 = 𝑋 i │ 𝑌 = 𝑘 ) = ∏ i = 1 𝑑 ∑ j = 1 n I ( X i j = x i j , y i = k ) + α ∑ i = 1 n I ( y i = k ) + λ α P(𝑋=𝑋_i│𝑌=𝑘)=\prod_{i=1}^𝑑 \frac {\sum_{j=1}^{n}I(X_{ij} = x_{ij},y_i=k)+\alpha}{\sum_{i=1}^{n}I(y_i = k)+\lambda \alpha} P(X=XiY=k)=i=1di=1nI(yi=k)+λαj=1nI(Xij=xij,yi=k)+α

  • I (yi = c) 是指示函数,当参数为真时取值为1,反之取为0
  • λ 为 特征的维数,α 是 平滑值
  • 通常取α = 1 ,这个平滑称作Laplace 平滑
  • 当 0 < α <1, 称作 Lidstone平滑
  • α = 0 时 不作平滑,就是极大似然估计。

特征是连续变量的处理方法

  1. 将连续的特征离散化 :(困难),一般不采用
  2. 采用高斯模型,假定连续型特征服从正态分布,使用正态分布对条件参数进行求解。

假设概率密度函数$P(x \mid c) \sim N(\mu_c,\delta^2_c) , 则 参 数 ,则参数 \mu_c$ 和 δ c 2 \delta_c^2 δc2的极大似然估计为:
μ ^ c = 1 D c ∑ x ∈ D c x δ ^ c 2 1 D c ∑ x ∈ D c ( x − μ ^ c ) ( x − μ ^ c ) T \hat\mu_c = \frac{1}{D_c} \sum_{x \in D_c} x \\ \hat\delta_c^2 \frac{1}{D_c} \sum_{x \in D_c} (x-\hat\mu_c)(x-\hat\mu_c)^T μ^c=Dc1xDcxδ^c2Dc1xDc(xμ^c)(xμ^c)T
也就是说:通过极大似然法得到的正太分布均值就是样本均值,方差就是 ( x − μ ^ c ) ( x − μ ^ c ) T (x-\hat\mu_c)(x-\hat\mu_c)^T (xμ^c)(xμ^c)T的均值。

朴素贝叶斯分类总结

  1. 是典型的生成学习方法。生成方法由训练数据学习联合概率分布 P ( X , Y ) P(X,Y) P(X,Y),然后球的后验概率分布 P ( Y ∣ X ) P(Y \mid X) P(YX) 。具体来说,利用训练数据学习 P ( X ∣ Y ) P(X \mid Y) P(XY) P ( Y ) P(Y) P(Y)的估计,得到联合概率分布:

P ( X , Y ) = P ( Y ) P ( X ∣ Y ) P(X,Y) = P(Y) P(X \mid Y) P(X,Y)=P(Y)P(XY)

​ 概率估计方法可以是极大似然估计或贝叶斯估计:

  1. 基本假设是条件独立性
    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 \mid Y = c_k) = P(X_{(1)} = x_{(1)},...,X_{(n)} = x_{(n)} \mid Y = c_k) \\ = \prod_{j=1}^n P(X_{(j)} = x_{(j)} \mid 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)
    这是一个较强的假设。由于这一假设,模型包含的条件概率的数量大为减少,朴素贝叶斯法的学习与预测大为简化。因而朴素贝叶斯法高效,且易于实现。其缺点是分类的性能不一定很高。

  2. 朴素贝叶斯利用贝叶斯定理与学到的联合概率模型进行分类预测:
    P ( y i ∣ X ) = P ( X ∣ y i ) P ( y i ) ∑ i = 1 n P ( y i ) P ( X ∣ y i ) P(y_i \mid X) = \frac{P(X \mid y_i) P(y_i)}{\sum_{i=1}^n P(yi)P(X \mid y_i)} P(yiX)=i=1nP(yi)P(Xyi)P(Xyi)P(yi)

  3. 分类结果:

y = a r g   max ⁡ ∏ j = 1 m P ( X i j = x i j ∣ Y = y k ) P ( Y = y k ) k ∈ { 1 , 2 , . . . , n } y = arg\, \max \prod_{j=1}^m P(X_{ij} = x_{ij} \mid Y = y_k) P(Y = y_k) \\ k \in \{ 1,2,...,n\} y=argmaxj=1mP(Xij=xijY=yk)P(Y=yk)k{1,2,...,n}

朴素贝叶斯算法优缺点分析

优点

  • 有坚实数学基础,良好分类效率
  • 算法逻辑简单,易于理解
  • 对小规模数据表现良好,能处理多分类任务,适合增量式训练
  • 特征之间相互独立,只涉及二位存储,分类算法过程开销小
  • 对确实数据不敏感,常用于文本分类

缺点:

  • 假设特征之间是相互独立的,但是这种假设在现实生活中往往是难以成立的,特征之间总会存在相关性,在属性个数多且属性之间的相关性比较大时,分类效果不理想。
  • 对于先验概率和条件参数的求解取决于我们选择的模型(极大似然估计或是贝叶斯估计),求得得先验概率和条件参数得值也会影响分类得结果。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值