第四章 朴素贝叶斯法


朴素贝叶斯法(与贝叶斯估计是不同的概念)是基于 贝叶斯定理特征条件独立假设的分类方法。

给定训练数据集:

  1. 基于特征独立假设学习输入输出的联合概率分布;
  2. 基于此模型,对给定输入 x x x,利用贝叶斯定理求出后验概率最大的输出 y y y

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

基本方法

数据定义

设输入空间 X ⊆ R \mathbb{X}\subseteq R XR n n n维向量的集合,输出空间为类标记集合 Y = { c 1 , c 2 , . . . , c K } \mathbb{Y}=\{c_1,c_2,...,c_K\} Y={c1,c2,...,cK}。输入为特征向量 x ∈ X x\in\mathbb{X} xX,输出为类标记 y ∈ Y y\in\mathbb{Y} yY X X X是定义在输入空间 X \mathbb{X} X上的随机变量, Y Y Y是定义在输出空间 Y \mathbb{Y} Y上的随机变量。 P ( X , Y ) P(X,Y) P(X,Y) X , Y X,Y X,Y的联合概率分布。

训练数据集 T T T,由 P ( X , Y ) P(X,Y) P(X,Y)独立同分布产生。

学习联合概率分布

  1. 首先学习先验概率分布: P ( Y = c k ) , k = 1 , 2 , . . . , K P(Y=c_k),k=1,2,...,K P(Y=ck),k=1,2,...,K
  2. 接着学习条件概率分布: 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 ( 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)

于是朴素贝叶斯的分类器可以表示为 y = arg max ⁡ c k P ( Y = c k ∣ X = x ) y=\argmax_{c_k}P(Y=c_k|X=x) y=ckargmaxP(Y=ckX=x)

后验概率最大化的含义

在这里插入图片描述
换句话说, f ( X ) f(X) f(X)给出了一个分类,凡是和 y y y不一样的 c k c_k ck,通通都算了一遍它的条件概率的和,然后我们希望这个和要小,所以希望 y y y的结果是条件概率最大的 y y y,这样就把最大的损失给择出去了。

朴素贝叶斯的参数估计法

极大似然估计

极大似然估计的思想就是要让我观测到的,一定是概率大的。于是演变为了求频率的样子。

先验概率 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 j } \{a_{j1},a_{j2},...a_{jS_j}\} {aj1,aj2,...ajSj},则条件概率的极大似然估计是(注意,这里算的是特征的条件概率) 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)

学习分类算法

算法4.1(朴素贝叶斯算法)

  1. 计算先验概率及条件概率;
  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)+λ

常取 λ = 1 \lambda=1 λ=1,此时称为拉普拉斯平滑。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

右边是我女神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值