[模式识别复习笔记] 第5章 贝叶斯分类器

1. 贝叶斯分类器

1.1 贝叶斯公式

假设有一个试验的样本空间为 S,记 B1,B2,,BcS 的一个划分,A 为试验的条件,且 P(A)0,则:

P(Bi|A)=P(Bi)P(A|Bi)P(A)=P(Bi)P(A|Bi)j=1cP(Bj)P(A|Bj)

P(Bi) 先验概率Bi 发生的概率,与 A 的发生无关。

P(A|Bi) 条件概率Bi 发生的情况下,A 发生的概率。

P(Bi|A) 后验概率A 发生的情况下,Bi 发生的概率,该概率根据 先验概率条件概率 计算后得到。



对于一个包含 c 个类别 {w1,,wc} 的一个分类问题,记 P(wi|x) 表示观察特征向量取值为 x 时,x 属于 wi 的概率,也即 后验概率

  • 若特征向量 x 取值每一维度 连续,则贝叶斯公式为:

    P(wi|x)=P(wi)p(x|wi)p(x)=P(wi)p(x|wi)j=1cP(wj)p(x|wj)

    其中 p(x) 称为特征向量取值为 x 的概率密度;P(wi)wi 类实例出现的概率,即 先验概率p(x|wi)wi 类中特征向量取值为 x 的概率密度,称为 类条件概率密度

  • 若特征向量 x 取值每一维度 离散,则贝叶斯公式为:

    P(wi|x)=P(wi)P(x|wi)P(x)=P(wi)p(x|wi)j=1cP(wj)P(x|wj)



1.2 贝叶斯分类

贝叶斯的分类规则 为将 x 分到 后验概率 最大 的对应的类别中。

假设把 x 分到 wi 类中:

i=argmaxi=1,,cP(wi|x)

等价于:

i=argmaxi=1,,cP(wi)p(x|wi)

先验概率时分类的基础,后验概率在获取更多信息后,对先验概率进行修正而得到。



1.3 贝叶斯分类的错误率

P(error|x) 为观察到实例的特征向量取值为 x 时,贝叶斯分类的错误率。则:

P(error|x)=1P(wi|x)=1maxi=1,,cP(wi|x)

故贝叶斯分类的总错误率为 P(error):

P(error)=Rdp(x)P(error|x)dx

贝叶斯分类 通过 最小化 P(error|x) 来最小化总体的错误率。



1.4 最小化风险的贝叶斯分类

假设将 x 分为 wi 类,这一决策记为 αi

损失 λ(αi|wj) 定义为真实状态类别为 wj 时,采取决策 αi 所导致的损失。通常是由一个函数设定。

条件风险 R(αi|x) 表示观察到实例对应的特征向量取值为 x 时,将 x 分为 wi 类(采取决策 αi) 所产生的期望损失。有如下表达式:

R(αi|x)=j=1cP(wj|x)λ(αi|wj)

PS;一般情况下,λ(αi|wi)=0

由此得到 最小化风险的贝叶斯分类规则,即将 x 分为 wi 类(采取决策 αi):

i=argminR(αi|x)



假设损失函数 λ 定义为:

λ(αi|wj)={0,if i=j1,if ij

也就是 0-1 损失函数。

带入条件风险计算公式得:

R(αi|wj)=j=1cP(wj|x)λ(αi|wj)=j,jicP(wj|x)=1P(wi|x)

可以发现 1P(wi|x) 就等价于 x 被分为 wi 时,贝叶斯分类的错误率。因此,当 采用 0-1 损失时最小化风险就等价于最小化错误率(和前面找到最大后验概率的贝叶斯是等价的):

argminiR(αi|x)=argmaxiP(wi|x)



2. 正态分布下的贝叶斯分类器

2.1 正态分布的概率密度函数

  • 单变量 的正态分布

    xR,xN(μ,σ2),有:

    p(x)=12πσe(xμ)22σ2

  • 多变量 的正态分布

    xRd,xN(μ,Σ),有:

    p(x)=1(2π)d2|Σ|12e12(xμ)TΣ1(xμ)

    xd 维向量,μd 维的均值向量。

    Σd×d 的协方差矩阵,Σij=cov(x(i),x(j))|Σ|Σ1Σ 的行列式和逆矩阵。



2.2 判别函数表示贝叶斯分类规则

对于一个有 c 个类别的分类问题,定义 c 个判别函数:

gi(x)=P(wi|x)=P(wi)p(x|wi)

或者

gi(x)=lnp(x|wi)+lnP(wi)

分类规则:将 x 分到最大的 gi(x) 对应的类别,也就是 wi 类中。



2.3 正态分布下的贝叶斯分类

取判别函数 gi(x)=lnp(x|wi)+lnP(wi), i=1,,c

假设 wi 类实例对应的特征向量服从 N(μ,Σ) 正态分布:

p(x|wi)=1(2π)d2|Σi|12e12(xμi)TΣi1(xμi)

带入到判别函数 gi(x):

gi(x)=12(xμi)TΣi1(xμi)d2ln2π12ln|Σi|+lnP(wi)

其中 d2ln2π 不影响比较结果,可忽略。

故判别函数简化为:

gi(x)=12(xμi)TΣi1(xμi)12ln|Σi|+lnP(wi)

每类正态分布的 协方差矩阵均相等,各类中 各个维度的特征相互独立且方差相同,每类样本 先验概率 相等,即 Σi=σ2I, i=1,,c(其中 I 为单位阵)

可知 P(wi)=1c, i=1,,c,带入 gi(x) 可得:

gi(x)=12σ2(xμi)T(xμi)lncdlnσ

其中 lncdlnσ 不影响结果。

故判别函数简化为:

gi(x)=12σ2(xμi)T(xμi)=12σ2||xμi||2


根据前面提到的分类规则(将 x 分到最大的 gi(x) 对应的类别,也就是 wi 类中。),规则本质转化为:

i=argmaxi||xμi||2xwi

也就是说,x 距离哪一类的均值向量最近,就分为哪一类。(最近邻,欧氏距离度量)



2.4 分类决策面函数

i 类和 第 j 类之间的分类决策超平面方程满足:

gi(x)gj(x)=0

gi(x)gj(x) 带入,可以整理成:

wT(xb)=0

得到:

w=μiμjb=12(μi+μj)

可以发现,贝叶斯分类器转换成了一个 线性分类器



3. 贝叶斯分类器的训练

3.1 参数估计

  • 先验概率 P(wj) 的估计

    1. 当训练样本足够多时,且每个样本随机抽取,可以直接用 训练集中 wj 样本所占比例来估计 P(wj)

      P^(wj)=njN

      其中 nj 为训练集中 wj 类样本的个数,N 为训练集中样本总数。

    2. 如果训练样本不随机,也可以假设各类样本的出现时等概率的:

      P(wj)=1c

      其中 c 为类别的总数。


  • 类条件概率密度 p(x|wj) 的估计

    1. 非参数化估计方法

      直接对概率 p(x|wj) 函数本身进行估计,不必假设其服从某一分布。

    2. 参数化估计方法

      先假定 p(x|wj) 具有特定的分布形式(如正态分布、二项分布),但是 分布参数未知,需要用 训练集来更新参数。

      • 最大似然估计:将估计参数 θ 看作固定的量,但是取值未知。然后找到一组参数的值,最大化训练集所有样本出现的联合概率密度 p(Dj|θ)。(每一类样本集 Dj 有对应不同的参数 θj

      • 贝叶斯估计::将估计参数 θ 看作随机的量,具有已知的先验概率密度函数 p(θ)。观察到 wj 类样本集 Dj,将参数 θ 的先验概率密度函数 p(θ) 转换为 后验概率密度函数 p(θ|Dj)



3.2 最大似然估计法

最大似然估计的假设:

  • Dj 中包含 n 个实例样本,即 Dj={x1,x2,...xn}

  • p(x|θj) 记为 wj 类的条件概率密度函数。

Dj 中每个 xi 都是根据密度函数 p(x|θj) 的分布独立采样得到的。(独立同分布)

样本集 Dj 中所有样本的联合概率密度可以表示为:

p(Dj|θj)=i=1np(xi|θj)

称之为 似然函数 L(θj),即:

L(θj)=p(Dj|θj)

最大似然估计就是 找到最优的 θj 的取值,使得似然函数 L(θj) 取得最大值。一般通过令导数为 0 求极值点来求解。


上述似然函数为 乘积形式,因此转换为对数更好求解:

lnL(θj)=i=1nlnp(xi|θj)

令对数似然函数关于 θj 的导数为 0 (向量)并求出极值点,从而得到 θj 的估计值:

θjlnL(θj)=i=1nlnp(xi|θj)=0



例题 1

假设 Dj 中样本根据 正态分布 N(μ,Σ) 得到,μ,Σ 未知,要求用 MLE (最大似然估计)对这些参数进行估计。

解:

  1. 似然函数:

    L(μ,Σ)=i=1np(xi|μ,Σ)=(1(2π)d2|Σ|12)ne12i=1n(xiμ)TΣ1(xiμ)

  2. 对数似然函数:

    lnL(μ,Σ)=dn2ln2πn2ln|Σ|12i=1n(xiμ)TΣ1(xiμ)

  3. 分别对 μ,Σ 求梯度:

    μlnL(μ,Σ)=i=1nΣ1(xiμ)=0

    ΣlnL(μ,Σ)=n2(Σ1)T+12i=1nΣT(xiμ)(xiμ)TΣT=0

PS:常用求导公式如下:

aTXbX=abT

aTX1bX=XTabTXT

ln|X|X=(X)T

求解上述方程可以得到最终的参数估计值:

μ^=1ni=1nxi

Σ^=1ni=1n(xiμ^)T(xiμ^)



例题 2

假设 Dj 中样本根据 伯努利分布 得到,即 p(x|θ)=θx(1θ)1x ,其中 x=0,10θ1,要求用 MLE (最大似然估计)对 θ 进行估计。

解:

  1. 似然函数:

    L(θ)=i=1np(xi|θ)=i=1nθxi(1θ)1xi=θi=1nxi(1θ)i=1n(1xi)

  2. 对数似然函数:

    lnL(θ)=(i=1nxi)lnθ+(i=1n(1xi))ln(1θ)

  3. θ 求梯度:

    θlnL(θ)=1θi=1nxi11θi=1n(1xi)=0

    整理可得:

    1θi=1nxi+11θi=1nxi=n1θ

    即:

    1θ(1θ)i=1nxi=n1θ

求解上述方程可以得到最终的参数估计值:

θ^=1ni=1nxi



3.3 贝叶斯估计法

贝叶斯估计法的假设:

  • p(x|θj) 形式已知,参数 θj 未知,是一个随机量。具有已知的先验概率密度函数 p(θj)

  • Dj 中每个 xi 都是根据密度函数 p(x|θj) 的分布独立采样得到的。

样本集 Dj 中所有样本的联合概率密度可以表示为:

p(Dj|θj)=i=1np(xi|θj)

利用贝叶斯公式,计算观察到 Djθj后验概率密度

p(θj|Dj)=p(θj)p(Dj|θj)p(Dj)=p(θj)p(Dj|θj)p(θj)p(Dj|θj)dθj

求得参数 θj^:

θj^=θjp(θj|Dj)dθj



例题 1

给定一个样本集 D={x1,x2,,xn},设 D 中的每个样本都是根据 一维的正态分布 N(μ,σ2) 相互独立采样得到,参数 μ 未知,σ2 已知。参数 μ 服从一个已知的先验概率分布 N(μ0,σ02)
要求用贝叶斯估计法对参数 μ 进行估计。

解:

由题意可知:

p(x|μ)=12πσe(xμ)22σ2

p(μ)=12πσ0e(μμ0)22σ02

  1. 计算 p(D|μ):

    p(D|μ)=i=1np(xi|μ)=(12πσ)ne12σ2i=1n(xiμ)2

  2. 计算参数 μ后验概率密度 p(μ|D):

    p(μ|D)p(μ)p(D|μ)e12[(nσ2+1σ02)μ22(1σ2i=1nxi+μ0σ02μ)]e12σn2(μμn)2

    其中:

    μn=σ2nσ02+σ2μ0+nσ02nσ02+σ2μMLE

    μMLE=1ni=1nxi

    1σn2=nσ2+1σ02

  3. 密度函数 p(μ|D) 的分布的 数学期望μn,因此参数 μ 的贝叶斯估计为:

    μ^=μn



例题 2

给定一个训练集 D={x1,x2,,xn},样本是根据 伯努利 分布采样得到,即 p(x|θ)=θx(1θ)1x ,其中参数 θ 未知,x={0,1}0θ1

已知参数 θ 服从一个已知的先验概率分布为 Beta 分布,即 θBeta(α,β):

p(θ)=Cθα1(1θ)β1

PS:Beta 分布的期望为 αα+β

要求用贝叶斯估计法对参数 θ 进行估计。

解:

  1. 计算 p(D|θ):

    p(D|θ)=i=1np(xi|θ)=i=1nθxi(1θ)1xi=θi=1nxi(1θ)i=1n(1xi)

  2. 计算参数的 后验概率密度 p(θ|D):

    p(θ|D)=p(θ)p(D|θ)p(D)θα+i=1nxi1(1θ)β+ni=1nxi1

    可以看出 p(θ|D) 服从一个 Beta(α+i=1nxi,β+ni=1nxi) 的分布。

  3. 由密度函数 p(θ|D) 的分布的 数学期望 ,得到参数 θ 的贝叶斯估计为:

    θ^=α+i=1nxiα+β+n=α+βα+β+nαα+β+nα+β+nθMLE

    其中 θMLE=1ni=1nxi


posted @   MarisaMagic  阅读(190)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示