1. 贝叶斯决策
贝叶斯决策统计推断的一种重要方法。它在数据真实分布未知的情况下,先假定数据服从某种先验分布,再利用贝叶斯公式在得到数据后对先验分布进行修正,最终做出决策。这便是贝叶斯学派的观点。而频率学派则不考虑数据的先验分布,直接在得到的数据上做推断。
贝叶斯决策需要我们假定数据的先验概率p(ωi)和类条件概率p(x∣ωi)已知,然后利用贝叶斯公式就可以通过观察得到的样本,把先验概率p(ωi)转换为后验概率p(ωi∣x),并挑取后验概率最大的类作为最后的决策。
贝叶斯公式:
P(ωi∣x)=p(x)p(x∣ωi)P(ωi)=∑j=12p(x∣ωj)P(ωj)p(x∣ωi)P(ωi),i=1,2,⋯,c
决策规则:
若P(ωi∣x)=j=1,2,⋯,cmaxP(ωj∣x),则x∈ωi
由于P(ωi∣x)的分母p(x)对于每一个类都是相同的,因此决策规则常常也使用以下形式:
若p(x∣ωi)P(ωi)=j=1,2,⋯,cmaxP(x∣ωj)P(ωj),则x∈ωi
观察贝叶斯公式可以发现,分母只是作为概率的归一化,而并没有实际判决上的意义。因此仅通过观察p(x∣ωi)P(ωi)就可以做出贝叶斯决策。对于p(x∣ωi)P(ωi)的一种直观理解是:先假设是ωi类的概率是P(ωi),再通过观察数据p(x∣ωi)最终得到你在这组数据上对它的判断。
2. 参数估计
贝叶斯决策的基础是概率密度函数的估计,即根据一定的训练样本来估计统计决策中用到的先验概率p(ωi)和类条件概率密度p(x∣ωi)。其中,先验概率的估计比较简单,通常只需根据大量样本计算出各类样本在其中所占的比例,或者根据对所研究问题的领域知识事先确定。因此,重点是类条件概率密度p(x∣ωi)的估计问题。
我们使用的是监督参数估计方法,即样本所属类别已知且类条件总体概率密度函数的形式已知,未知的只是表征概率密度函数的某些参数。例如我们已知(或假设)类条件概率p(x∣ωi)服从正态分布,只需要根据已知类别的样本估计均值和方差。因此把对分布概率密度p(x∣ωi)的估计问题转化为对参数的估计问题。
通常我们使用的参数估计方法有两种:最大似然估计和贝叶斯估计。两种方法的结果很接近,但是其中的思想却不同。一个根本的区别是,最大似然估计是把待估计的参数当作未知但固定的量,要做的是根据观测数据估计这个量的取值;而贝叶斯估计则是把待估计的参数本身也看作是随机变量,服从某种先验分布,再根据观测数据对参数的分布进行修正。
2.1 最大似然估计
在满足样本独立同分布且各类别的参数独立的情况下,可以使用最大似然估计对已知分布形式的参数进行估计。根据分布形式和样本集X={x1,x2,⋯,xN}可以列写出似然函数,将使似然函数极大化时的参数θ^作为对参数θ的估计。
似然函数:
l(θ)=p(X∣θ)=p(x1,x2,⋯,xN∣θ)=i=1∏Np(xi∣θ)
最大似然估计量:
θ^=argmaxl(θ)
似然函数可以理解为在参数θ未知的情况下,样本从以参数为θ的分布中被抽取出来的概率。自然的想法是,样本从它真实的分布中被抽取出来的概率最大,因此使似然函数最大的参数θ^最有可能是真实的参数θ
有时为了计算的简便,可以定义对数似然函数:
H(θ)=lnl(θ)=lni=1∏Np(xi∣θ)=i=1∑Nlnp(xi∣θ)
θ^=argmaxH(θ)
2.2 贝叶斯估计
贝叶斯估计问题可以看作一个贝叶斯决策问题,但是这里要决策的不是离散的类别,而是参数的取值,是在连续的空间里做决策。对连续变量θ,我们假定把它估计为θ^所带来的损失为λ(θ^,θ),也称为损失函数。
设样本的取值空间是 Ed,参数的取值空间是 Θ,那么,当用 θ^ 来作为估计时总期望风险就是:
R=∫Ed∫Θλ(θ^,θ)p(x,θ)dθdx=∫Ed∫Θλ(θ^,θ)p(θ∣x)p(x)dθdx
我们定义在样本x下的条件风险为:
R(θ^∣x)=∫θλ(θ^,θ)p(θ∣x)dθ
那么,总风险就可以写成
R=∫EdR(θ^∣x)p(x)dx
由于条件风险非负,因此当所有样本的条件风险最小时可以得到最小总风险,此时的参数令为估计参数:
θ∗=θ^argminR(θ^∣X)=θ^argmin∫θλ(θ^,θ)p(θ∣X)dθ
我们经常使用的损失函数为平方误差损失函数:
λ(θ^,θ)=(θ−θ^)2
综合上面各式,令dθ^dR(θ^∣X)=0,解得 θ^ 作为θ∗,可以得到在平均误差损失函数下的贝叶斯估计量为:
θ∗=E[θ∣X]=∫θθp(θ∣X)dθ
利用贝叶斯公式可求 θ 的后验概率分布:
p(θ∣X)=∫θp(X∣θ)p(θ)dθp(X∣θ)p(θ)
其中p(θ)是需要我们假设的参数的先验概率,这就体现了贝叶斯的思想:先假设再修正
3. 多元正态下的贝叶斯决策
3.1 多元正态分布
首先回顾一下多元正态分布的基础知识。
多元正态分布的概率密度函数定义为
p(x)=(2π)d/2∣Σ∣1/21exp{−21(x−μ)TΣ−1(x−μ)}
式中 : x=[x1,x2,⋯,xd]T 是 d 维列向量, μ=[μ1,μ2,⋯,μd]T 是 d 维均值向量,Σ是对称矩阵。
μ=E{x}Σ=E{(x−μ)(x−μ)T}
Σ=⎣⎢⎢⎢⎡σ112σ122⋮σ1d2σ122σ222⋮σ2d2⋯⋯⋱⋯σ1d2σ2d2⋮σdd2⎦⎥⎥⎥⎤
3.2 多元正态贝叶斯决策
贝叶斯决策中的先验概率p(ωi)只需根据大量样本计算出各类样本在其中所占的比例,或者根据对所研究问题的领域知识事先确定。类条件概率密度p(x∣ωi)我们假定服从正态分布,即p(x∣ωi)∼N(μi,Σi),i=1,⋯,c
根据贝叶斯决策的判别规则,可以定义判别函数如下:
gi(x)=ln[p(x/ωi)P(ωi)]=−21(x−μi)TΣi−1(x−μi)−2dln2π−21ln∣Σi∣+lnP(ωi)
$-\frac{d}{2}\ln 2\pi $是一个参数,可以忽略。然后判别函数可以改写为下面形式
gi(x)=−21(x−μi)TΣi−1(x−μi)−21ln∣Σi∣+lnP(ωi)=xTWix+wiTx+wi0
其中:
Wi=−21Σi−1(d×d 矩阵 )wi=Σi−1μi(d 维列向量 )wi0=−21μiTΣi−1μi−21ln∣Σi∣+lnP(ωi)
判别规则:
若gi(x)=j=1,2maxgj(x),则x∈ωi
决策面可以写成gi(x)−gj(x)=0,即:
xT(Wi−Wj)x+(wi−wj)Tx+wi0−wj0=0
决策面是一个超二次曲面
3.3 基于最大似然估计的多元正态分布参数估计
构建正态分布的对数似然函数:
L(μ,Σ)=i=1∑Nlnp(xi)=i=1∑N(−2nln2π−21ln∣Σ∣−21(xi−μ)TΣ−1(xi−μ))=−2Nnln2π−2Nln∣Σ∣−21i=1∑N(xi−μ)TΣ−1(xi−μ)
对L(μ,Σ)求微分:
dL(μ,Σ)=−d(2Nln∣Σ∣)−21i=1∑Nd((xi−μ)TΣ−1(xi−μ))=−2N∣Σ∣−1d∣Σ∣−21i=1∑N(d(xi−μ)T⋅Σ−1(xi−μ)+(xi−μ)T⋅dΣ−1⋅(xi−μ)+(xi−μ)TΣ−1⋅d(xi−μ))=−2Ntr(Σ−1dΣ)−21i=1∑N(−dμT⋅Σ−1(xi−μ)−(xi−μ)TΣ−1⋅dΣ⋅Σ−1(xi−μ)−(xi−μ)TΣ−1⋅dμ)=−2Ntr(Σ−1dΣ)−21i=1∑Ntr(−(Σ−1(xi−μ))Tdμ−Σ−1(xi−μ)(xi−μ)TΣ−1⋅dΣ−(xi−μ)TΣ−1⋅dμ)=−2Ntr(Σ−1dΣ)−21i=1∑Ntr(−(xi−μ)TΣ−T⋅dμ−Σ−1(xi−μ)(xi−μ)TΣ−1⋅dΣ−(xi−μ)TΣ−1⋅dμ)=tr(i=1∑N(xi−μ)TΣ−1⋅dμ)+tr(−21Σ−1(NΣ−i=1∑N(xi−μ)(xi−μ)T)Σ−1⋅dΣ)
得到L(μ,Σ)的梯度矩阵,并令为0:
∇μL(μ,Σ)=∂μ∂L(μ,Σ)∇ΣL(μ,Σ)=∂Σ∂L(μ,Σ)=(i=1∑N(xi−μ)TΣ−1)T=i=1∑NΣ−1(xi−μ)=Σ−1(i=1∑Nxi−Nμ)=0=(−21Σ−1(NΣ−i=1∑N(xi−μ)(xi−μ)T)Σ−1)T=−21Σ−1(NΣ−i=1∑N(xi−μ)(xi−μ)T)Σ−1=0
从上式解得最大似然估计值如下所示:
μ^Σ^=N1i=1∑Nxi=N1i=1∑N(xi−μ^)(xi−μ^)T
3.4 基于贝叶斯估计的多元正态分布参数估计(仅估计均值)
设 x 为d维随机向量,并且 x∼N(μ,Σ), 其中 Σ>0 已知。所以给定μ时,x的条件密度函数为:
p(x∣μ)=(2π)d/2∣Σ∣1/21exp(−21(x−μ)T⋅Σ−1⋅(x−μ))
设 x1,⋯,xN 为从正态总体x中抽出的一组独立同分布样本。假设μ的先验分布为共轭先验,即μ∼N(μ0,Σ0), μ0,Σ0已知。 μ密度函数为:
p(μ)=(2π)d/2∣Σ0∣1/21exp(−21(μ−μ0)T⋅Σ0−1⋅(μ−μ0))
可以计算参数μ的后验分布:
p(μ∣X)=∫μp(X∣μ)p(μ)dμp(X∣μ)p(μ)
其中 $\int_{\boldsymbol{\theta }}{p}(\mathscr{X}\mid \mu )p(\mu )\mathrm{d}\mu $ 与参数μ无关:
p(μ∣X)∝p(X∣μ)p(μ)=i=1∏Np(xi∣μ)⋅p(μ)=i=1∏N(2π)d/2∣Σ∣1/21exp{−21(xi−μ)TΣ−1(xi−μ)}⋅(2π)d/2∣Σ0∣1/21exp(−21(μ−μ0)T⋅Σ0−1⋅(μ−μ0))=(2π)d/2∣Σ∣1/21(2π)d/2∣Σ0∣1/21exp{−21(i=1∑N(xi−μ)TΣ−1(xi−μ)+(μ−μ0)T⋅Σ0−1⋅(μ−μ0))}∝exp(−21(μ−μN)T⋅ΣN−1⋅(μ−μN))
其中:
ΣNμN=(NΣ−1+Σ0−1)−1=ΣN(Σ−1i=1∑Nxi+Σ0−1μ0)
添加归一化常数因子后,可得参数均值的后验概率密度函数:
p(μ∣X)=(2π)d/2∣ΣN∣1/21exp(−21(μ−μN)T⋅ΣN−1⋅(μ−μN))
也就是说,待估计的样本密度函数的均值参数服从均值为μN,方差为ΣN的正态分布。所以在二次损失下,μ的贝叶斯估计为:
μ^B=E(μ∣X)=μN=ΣN(Σ−1i=1∑Nxi+Σ0−1μ0)=NΣNΣ−1⋅N1i=1∑Nxi+ΣNΣ0−1μ0
贝叶斯估计值μ^B是样本均值N1∑i=1Nxi和先验均值μ0的加权平均。
4. 实验
-
以50m为例,画出男女生50m成绩的直方图并做对比;
-
采用最大似然估计方法,求男女生身高以及体重分布的参数,以及50m成绩的分布参数;
-
采用贝叶斯估计方法,求男女生身高以及体重分布的参数(方差已知,注明自己选定的参数情况);
-
基于身高和体重,采用最小错误率贝叶斯决策,画出类别判定的决策面。并判断某样本的身高体重分别为(170,52)时应该属于男生还是女生?为(178,71)时呢?
4.1 男女生50m成绩直方图
总共统计到208名同学的50m成绩,其中男生166人,女生42人。从上面直方图分析可知,男生50m成绩要好于女生,男生成绩大多在7~8s之间,而女生成绩大多分布在8~9s
4.2 最大似然估计男女生身高以及体重分布的参数,以及50m成绩的分布参数
我们认为身高和体重是一组2维特征,因此使用3.3中推导的结论:假设男(女)生的身高和体重服从二维正态分布,则均值和方差的最大似然估计值如下所示:
μ^Σ^=N1i=1∑Nxi=N1i=1∑N(xi−μ^)(xi−μ^)T
其中xi=(xi(1),xi(2))T,xi(1)和xi(2)分别是第i名男(女)生的身高和体重。
基于569名男生和167名女生的身高体重数据,通过极大似然估计法得到:
男生的身高体重的均值:μ^boys=(173.7741652,66.10105448)T
男生的身高体重的方差:Σ^boys=(28.9424081326.1884630926.1884630986.79954195)
女生的身高体重的均值:μ^girls=(162.91616766,50.87724551)T
女生的身高体重的方差:Σ^girls=(21.190576937.648391847.6483918426.47445229)
同样,我们对男(女)生的50m成绩做了极大似然估计。这里假定男(女)生的50m成绩服从一维正态分布,基于166名男生和42名女生的50m成绩,利用极大似然估计法得到的均值方差如下所示:
男生50m成绩的均值:7.42210843
男生50m成绩的方差:0.28690098
女生50m成绩的均值:8.4702381
女生50m成绩的方差:1.02012613
4.3 贝叶斯估计男女生身高以及体重分布的参数(方差已知,注明自己选定的参数情况)
我们认为身高和体重是一组2维特征,因此使用3.4中推导的结论:假设男(女)生的身高和体重服从二维正态分布N(μ,Σ),待估计参数μ的先验分布为N(μ0,Σ0),则平方误差下,均值μ的贝叶斯估计值为:
μ^B=NΣNΣ−1⋅N1i=1∑Nxi+ΣNΣ0−1μ0
其中xi=(xi(1),xi(2))T,xi(1)和xi(2)分别是第i名男(女)生的身高和体重。
贝叶斯估计值μ^B是样本均值N1∑i=1Nxi和先验均值μ0的加权平均,这里我们需要对待估计参数μ的先验分布参数μ0,Σ0和x的先验分布参数Σ做出合理的假设。可以预见,不同的假设可能带来不同的参数估计结果。
-
当μ的先验方差Σ0很小时,说明对μ0非常确定,那么样本数据对均值估计的贡献就很小。
我们令μ0=(0.1,0.1)T,Σ0=(1×10−5001×10−5),利用569名男生的身高体重数据得到μ^B=(0.10000099,0.10000038)T,显然估计结果约等于先验假设。
-
当μ的先验方差Σ0很大时,说明对μ0不确定,那么样本数据对均值估计的贡献就很大。
我们令μ0=(0.1,0.1)T,Σ0=(100010),利用569名男生的身高体重数据得到μ^B=(173.46947368,65.98526316)T,估计结果约等于样本均值。
这里我们假设μ0=(0.01,0.01)T,Σ0=Σ=(1001),利用569名男生和167名女生的身高体重数据,通过贝叶斯估计法得到的贝叶斯估计值μ^B为:
男生的身高体重的均值:(μ^B)boys=(173.46931579,65.98510526)T
女生的身高体重的均值:(μ^B)girls=(161.9464881,50.57446429)T
4.4 最小错误率贝叶斯决策
我们假定男女生身高体重服从二维正态分布,采用4.2中用最大似然估计法估计的参数:
p(x∣ω1)∼N(μ^boys,Σ^boys)p(x∣ω2)∼N(μ^girls,Σ^girls)
其中:
μ^boysΣ^boysμ^girlsΣ^girls=(173.7741652,66.10105448)T=(28.9424081326.1884630926.1884630986.79954195)=(162.91616766,50.87724551)T=(21.190576937.648391847.6483918426.47445229)
先验概率p(ωi)只需根据大量样本计算出各类样本在其中所占的比例:
p(ω1)p(ω2)=0.7730978260869565=0.22690217391304346
根据3.2中推到的决策函数,可以绘制出分类决策面,并绘制男女生身高体重数据的散点图:
显然,身高体重为(170, 52)和(178, 71)时都判断为男生。