笔记-朴素贝叶斯

1.朴素贝叶斯

朴素贝叶斯法式基于贝叶斯定理以及特征条件独立分布的假设的一种分类方法。
条件独立性分布:在类确定的条件下,用于分类的特征都是条件独立的。即满足

P(X=x|Y=ck)=P(X(1)=x(1),,X(n)=x(n)|Y=ck)=i=1nP(X(i)=x(i)|Y=ck)

学习朴素贝叶斯的过程涉及到一部分概率论的知识,准备另写一篇博客记录。

2.朴素贝叶斯模型

根据给定数据集,学习联合概率分布 P(X,Y) ,对于给定输入 x ,求出使其后验概率最大的y,就是该输入所属的类。
1.通过训练数据集学习联合概率分布 P(X,Y) ,具体地,学习以下先验概率

P(Y=ck)

以及条件概率
P(X=x|Y=ck)=P(X(1)=x(1),,X(n)=x(n)|Y=ck)

2.后验概率由贝叶斯定理求得
P(Y=ck|X=x)=P(X,Y)P(X)=P(X=x|Y=ck)P(Y=ck)Kk=1P(X=x|Y=ck)P(Y=ck)

根据条件独立假设,上式可变形为如下形式,即朴素贝叶斯分类器可用如下形式表示
P(Y=ck|X=x)=P(Y=ck)ni=1P(X(i)=x(i)|Y=ck)Kk=1P(Y=ck)ni=1P(X(i)=x(i)|Y=ck)

选择后验概率最大的输出,
argmaxckP(Y=ck|X=x)

因为对于同一输入 x ,其分母都是相同的,所以求后验概率最大又变为求
argmaxckP(Y=ck)i=1nP(X(i)=x(i)|Y=ck)

3.朴素贝叶斯学习策略

上文中提到了后验概率最大的概念,之前接触到的学习策略通常是期望风险最小,这里存在一个后验概率最大和期望风险最小的对应。
设损失函数为0-1损失函数

L(Y,f(X))={0,1,f(X)=Yf(X)Y

其中 f(X) 为分类决策函数。由该损失函数得期望风险函数
Rexp(X)=E(L(Y,f(X)))

期望是 X 确定的条件下的条件期望,
Rexp(X)=k=1K[L(ck.f(X))]P(ck|X=x)

使期望风险函数最小,
f(x)=argminyYk=1KL(ck,y)P(ck|X=x)=argminyYk=1KP(yck|X=x)=argminyY(1P(y=ck|X=x))=argmaxyYP(y=ck|X=x)

就等价于后验概率最大。

4.朴素贝叶斯学习方法

首先来看如何得出第二节中提到的先验概率和条件概率(用于求取后验概率),有两种方式,一种是极大似然估计,一种是贝叶斯估计。

4.1极大似然估计

样本总数为 N ,先验概率的极大似然估计:

P(Y=ck)=Ni=1I(yi=ck)N,k=1,2,,K

j 个特征x(j)可能取值的集合为 {aj1,aj2,,ajSj} ,条件概率的极大似然估计:

P(X(j)=ajl|Y=ck)=Ni=1I(x(j)i=ajl,yi=ck)Ni=1I(yi=ck)

j=1,2,,n;k=1,2,,K;l=1,2,,Sj

x(j)i 表示第 i 个样本的第j个特征, I 为指示函数,条件成立为1,否则为0.

这两个式子是如何得到的呢?

  • 首先来看什么是似然函数:

设随机变量X,如果 X1,X2,,Xn 相互独立且同分布,即 P(Xi=xi)=P(xi;θk) ,则

P(X1=x1,X2=x2,,Xn=xn)=i=1nP(xi;θk)

Xi 给定时,等式右侧是 θk 的函数,当 θk 给定时,等式右侧是 Xi 的函数。假设 Xi 已知,记
L(θk;xi)=i=1nP(xi;θk)
为似然函数.

  • 极大似然估计的求法

对似然函数求导,如果是多维变量就求偏导。在多数情况下,直接求导难于求解,通常借用对数函数。由于对数函数是单调递增的函数,所以 logL() L() 有相同的最值点(??)。若 logL() 的导数存在,即可求该似然函数对各参数的导数,令导数为0求解最值,根据二阶导数判断其为最大值还是最小值。

  • 条件概率的极大似然估计证明:

P(Y=ck)=θk ,且 Kk=1θk=1 ,得似然函数

L(θk;y1,y2,,yN)=i=1NP(yi;θk)=k=1KθNi=1I(yi=ck)k

(在N个样本中,概率为 θk 的有 Ni=1I(yi=ck) 个)
其对数似然函数:
lnL(θk;y1,y2,,yN)=k=0Klnθki=1NI(yi=ck)

注意,有约束 Kk=1θk=1 ,根据拉格朗日乘子法,将约束条件代入得
lnL(θk;y1,y2,,yN)=k=0Klnθki=1NI(yi=ck)+λ(k=1Kθk1)

θk 求偏导,并令偏导等于零求最值
Ni=1I(yi=ck)λ=θk

k=1,2,,K 分别求导并相加,得
i=1Kθk=Nλ=1

联立两式得到
θk=Ni=1I(yi=ck)N

  • 条件概率的极大似然估计证明

P(X(j)=ajl|Y=ck)=θkl,P(X(j)=ajl,Y=ck)=θklθk , Sjl=1θkl=1 得似然函数

L(θkl,θk;(x(j)i,yi))=i=1NP(x(j)i,yi;θkl,θk)=l=1Sjk=1K(θklθk)Ni=1I(x(j)i=ajl,yi=ck)

对数似然函数
lnL(θkl,θk;(x(j)i,yi))=i=1NI(x(j)i=ajl,yi=ck)l=1Sjk=1K(lnθkl+lnθk)

利用拉格朗日乘子法,加入约束 Sjl=1θkl=1 ,
lnL(θkl,θk;(x(j)i,yi))=i=1NI(x(j)i=ajl,yi=ck)l=1Sjk=1K(lnθkl+lnθk)+λ(l=1Sjθkl1)

θkl 求偏导,令偏导等于零求最值
Ni=1I(x(j)i=ajl,yi=ck)λ=θkl

l=1,2,,Sj 依次求取偏导,求和相加
l=1Sjθkl=1=Ni=1I(yi=ck)λ

联立两式,得
Ni=1I(x(j)i=ajl,yi=ck)Ni=1I(yi=ck)=θkl

4.2贝叶斯估计

为什么要用贝叶斯估计:
极大似然估计可能会出现先验概率和条件概率等于0的情况,此时无法求取后验概率(这句话不一定对)使分类出现偏差0。此时可以采取贝叶斯估计,贝叶斯估计的思想就是在随机变量各个取值的频数上加上一个正数 λ>0
先验概率的贝叶斯估计:

P(Y=ck)=Ni=1I(yi=ck)+λN+Kλ

此时随机变量Y,Y的可能取值有K种,所以是 Kλ
条件概率的贝叶斯估计:
P(X(j)=ajl|Y=ck)=Ni=1I(x(j)i=ajl,yi=ck)+λNi=1I(yi=ck)+Sjλ

此时随机变量为特征X,X可能取值有 Sj 种,所以是 Sjλ

λ=0 时就是极大似然估计。当 λ=1 时,称为拉普拉斯平滑。

以先验概率 P(Y=ck) 为例,对于 k=1,2,,K ,有

P(Y=ck)>0

k=1KP(Y=ck)=1

所以先验概率的贝叶斯估计式确实是一种概率分布,同理可证条件概率的贝叶斯估计式。

4.3算法

1.求先验概率及条件概率,可用极大似然估计或贝叶斯估计
2.求取后验概率
3.取后验概率最大的输出为分类

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值