高斯分布
数学期望:μ
方差:σ^2
标准差:σ
随机变量:x
exp:e为底(后续括号内的为幂次)
一、一维情况 MLE
高斯分布在机器学习中占有举足轻重的作用。在 MLE 方法中:
θ=(μ,Σ)=(μ,σ2),θMLE=θargmaxlogp(X∣θ)iid=θargmaxi=1∑Nlogp(xi∣θ)
MLE的连等号是因为:logP(X∣θ)=log∏i=1Np(xi∣θ)=∑i=1Nlogp(xi∣θ)
argmax : 比如f(x)中,x就是变量(arg), arg是argument,即自变量, arg max 意思是 使后面式子取到 max值 时的 变量取值
一般地,高斯分布的概率密度函数PDF(probability density function)写为:
p(x∣μ,Σ)=(2π)p/2∣Σ∣1/21e−21(x−μ)TΣ−1(x−μ)
带入 MLE 中我们考虑一维的情况
logp(X∣θ)=i=1∑Nlogp(xi∣θ)=i=1∑Nlog2πσ1exp(−(xi−μ)2/2σ2)
=i=1∑N[log2x1+logσ1−2σ2(xi−μ)2]
首先对 μ 的极值可以得到 :( μ相对容易)
μMLE=μargmaxlogp(X∣θ)=μargmaxi=1∑N(xi−μ)2
于是:(其实就是均值,且μMLE=μ)
∂μ∂i=1∑N(xi−μ)2=0⟶μMLE=N1i=1∑Nxi
其次对 θ 中的另一个参数 σ ,有:
σMLE=σargmaxlogp(X∣θ)=σargmaxi=1∑N[−logσ−2σ21(xi−μ)2]=σargmini=1∑N[logσ+2σ21(xi−μ)2]
于是:
∂σ∂i=1∑N[logσ+2σ21(xi−μ)2]=0⟶σMLE2=N1i=1∑N(xi−μ)2
值得注意的是,上面的推导中,首先对 μ 求 MLE, 然后利用这个结果求 σMLE ,因此可以预期的是对数据集求期望时 ED[μMLE] 是无偏差的:
ED[μMLE]=ED[N1i=1∑Nxi]=N1i=1∑NED[xi]=μ
但是当对 σMLE 求 期望的时候由于使用了单个数据集的 μMLE,因此对所有数据集求期望的时候我们会发现 σMLE 是 有偏的:
有偏的原因是因为用样本均值μMLE代替总体均值,假如本身系统设计时均值是已知的。只用MLE算方差的话,除以n也还是无偏估计
另外、如果E[μ^]=μ那么,像这种样子我们就认为他是无偏的,如果 ≠ 则是无偏的
补充:下述公式中倒数第二行变化,是因为离散型随机变量方差计算公式:(只要未知数套上了一层E,默认就是常数处理了。)
D(X)=E((X−E(X))2)=E(X2)−E2(X)
ED[σMLE2]=ED[N1i=1∑N(xi−μMLE)2]=ED[N1i=1∑N(xi2−2xiμMLE+μMLE2)=ED[N1i=1∑Nxi2−μMLE2]=ED[N1i=1∑Nxi2−μ2−(μMLE2−μ2)]=ED[N1i=1∑Nxi2−μ2]−ED[μMLE2−μ2]=N1i=1∑N(ED(xi2)−μ2)−(ED[μMLE2]−ED2[μMLE])=σ2−(ED[μMLE2]−μ2)=σ2−(ED[μMLE2]−ED2[μMLE])=σ2−Var[μMLE]=σ2−Var[N1i=1∑Nxi]=σ2−N21i=1∑NVar[xi]=NN−1σ2
可以理解为当 μ 取 μMLE 就已经确定了所有 xi 的和等于 NμMLE ,也就是说当 N-1 个 xi 确定以后,第 N 个 xi 也就被确定了,所以少了一个"自由度",因此E[σMLE2]=NN−1σ2
所以真正的σ2为:
σ^2=N−11i=1∑N(xi−μMLE)2
得到结论:求得有偏的方差,将样本总数减一即为无偏的方差(有偏的方差 < 无偏的方差) 方差往小的方向估计了,也就是用极大似然估计确实会带来一定的偏差,对于高斯分布来说就是估计小了
也很好理解,因为样本是总体的一部分,而方差是所有样本的分布情况,随着样本的增加,方差会增大
此外,在抽样时,样本落在中间区域的概率大,所以抽样的数据离散程度小于总体,所以抽样方差小,也很好理解
二、多维情况
多维高斯分布表达式为:
x∼iidN(μ,Σ)=p(x∣μ,Σ)=(2π)D/2∣Σ∣1/21exp(−21二次型 (x−μ)TΣ−1(x−μ))x∈Rp,r⋅vx=⎝⎛x1x2⋮xp⎠⎞μ=⎝⎛μ1μ2⋮μp⎠⎞Σ=⎣⎡σ11σ21⋮σp1σ12σ22⋮σp2⋯⋯⋱⋯σ1pσ2p⋮σpp⎦⎤p×p
Σ一般是半正定的, 在本次证明中假设是正定的, 即所有的特征值都是正的,没有 0 。
其中 x,μ∈Rp,Σ∈Rp×p ,Σ 为协方差矩阵,一般而言也是半正定矩阵。这里我们只考虑正定矩阵。对于我们高维的高斯分布,未知数只有自变量x,其余的μ、Σ都可以当做常量处理。首先我们处理指数上的数字,指数上的数字可以记为 x 和 μ 之间的马氏距离。
(x−μ)TΣ−1(x−μ)为马氏距离(x与μ之间,当Σ为I时马氏距离即为欧氏距离。
给定一个大小为 n×n 的实对称矩阵 A ,若对于任意长度为 n 的非零向量 x ,有 xTAx>0 恒成立,则矩阵 A 是一个正定矩阵,有 xTAx≥0 恒成立,则矩阵 A 是一个半正定矩阵。
三、证明高斯分布等高线为"椭圆"
任意的N×N实对称矩阵都有N个线性无关的特征向量。并且这些特征向量都可以正交单位化而得到一组正交且模为 1 的向量。故实对称矩阵Σ可被分解成Σ=UΛUT。
将 Σ 进行特征分解, Σ=UΛUT 其中 UUT=UTU=I,i=1,2,⋯,p=diag(λi),U=(u1,u2,⋯,up)p×p 因此 Σ=UΛUT=(u1u2⋯up)⎣⎡λ10⋮00λ2⋮0⋯⋯⋱⋯00⋮λp⎦⎤⎝⎛u1Tu2T⋮upT⎠⎞=(u1λ1u2λ2⋯upλp)⎝⎛u1Tu2T⋮upT⎠⎞=i=1∑puiλiuiTΣ−1=(UΛUT)−1=(UT)−1Λ−1U−1=UΛ−1UT=i=1∑puiλi1uiT, 其中 Λ−1=diag(λi1),i=1,2,⋯,p
将概率密度整理成椭圆方程的形式
Δ=(x−μ)TΣ−1(x−μ)=(x−μ)T∑i=1puiλi1uiT(x−μ)=∑i=1p(x−μ)Tuiλi1uiT(x−μ)( 令 yi=(x−μ)Tui)=∑i=1pyiλi1yiT=∑i=1pλiyi2
上式中yi=(x−μ)Tui可以理解为将x减去均值进行中心化以后再投影到ui (ui 是正交矩阵的一个基向量,代表一个坐标轴)方向上,相当于做了一次坐标轴变换。 yi 是 x−μ 在特征向量 ui上的投影长度,因此上式子就是 Δ 取不同值时的同心椭圆。
当x的维度为2即p=2时Δ=λ1y12+λ2y22,得到类似椭圆方程的等式,所以也就可以解释为什么其等高线是椭圆形状。二维高斯分布的图像如下所示:

所以随着x的取值不断变化,即在维度为2的情况下,椭圆的长轴和短轴的长度也随着唯一自变量x不断改变,切面也就不断变大和变小。
四、高斯分布的局限性
- 参数过多
协方差矩阵 Σp×p 中的参数共有 1+2+⋯+p=2p(p+1) 个 ( Σp×p 是对称矩阵(参数个数少一半左右))),因此当 x 的维度 p 很大时,高斯分布的参数就会有很多,其计算复杂度为 O(p2)) 。
可以通过假设高斯分布的协方差矩阵为对角矩阵来减少参数,当高斯分布的协方差矩阵为对角矩阵(仅对角线上有参数)时,无需特征值分解,特征向量的方向就会和原坐标轴的方向平行,因此高斯分布的等高线 (同心椭圆) 就 不会倾斜。
另外如果在高斯分布的协方差矩阵为对角矩阵为对角矩阵的基础上使得其特征值全部相等 (即 λ1=λ2=⋯=λi ), 则高斯分布的等高线就会成为一个圆形,而且不会倾斜,称为各向同性。

Σ若退化为对角矩阵,那么(yi=(x−μ)Txi),即每一个样本x代表它本身,U已经不存在(SVD分解,将U代表旋转,^代表特征值),方向与若xi保持方正(而每一个xi独立同分布)。 ^ 中的λi均相等,则持有特向同性,退化为圆
- 单个高斯分布是单峰,对有多个峰的数据分布不能得到好的结果,拟合能力有限
解决方案是使用多个高斯分布,比如高斯混合GMM模型。
五、求高斯分布的边缘概率与条件概率
- 概述
首先将变量、均值和方差进行划分:
x=(xaxb),其中xa是m维的,xb是n维的。
μ=(μaμb)Σ=(ΣaaΣbaΣabΣbb)
本部分旨在根据上述已知来求 P(xa),P(xb∣xa),P(xb),P(xa∣xb) 。
2. 定理
以下定义为推导过程中主要用到的定理,这里只展示定理的内容,不进行证明:
已知x∼N(μ,Σ),x∈Rpy=Ax+B,y∈Rq结论:y∼N(Aμ+B,AΣAT)
一个简单但不严谨的证明:
E[y]=E[Ax+B]=AE[x]+B=Aμ+BVar[y]=Var[Ax+B]=Var[Ax]+Var[B]=AVar[x]AT+0=AΣAT
- 求边缘概率 P(xa)
xa=A(Im0n)x(xaxb)E[xa]=(Im0n)(μaμb)=μaVar[xa]=(Im0n)(ΣaaΣbaΣabΣbb)(Im0n)=(ΣaaΣab)(Im0n)=Σaa
所以 xa∼N(μa,Σaa) ,同理 xb∼N(μb,Σbb) 。
4. 求条件概率 P(xb∣xa)
构造 ⎩⎨⎧xb⋅a=xb−ΣbaΣaa−1xaμb⋅a=μb−ΣbaΣaa−1μaΣbb⋅a=Σbb−ΣbaΣaa−1Σab ( Σbb⋅a 是 Σaa 的舒尔补) xb⋅a=A(ΣbaΣaa−1In)x(xaxb)E[xb⋅a]=(−ΣbaΣaa−1In)(μaμb)=μb−ΣbaΣaa−1μa=μb⋅aVar[xb⋅a]=(−ΣbaΣaa−1In)(ΣaaΣbaΣabΣbb)(−Σaa−1ΣbaTIn)=(−ΣbaΣaa−1Σaa+Σba−ΣbaΣaa−1Σab+Σbb)=(0−ΣbaΣaa−1Σab+Σbb)(−Σaa−1ΣbaTIn)=Σbb−ΣbaΣaa−1Σab=Σbb⋅a
现在可以得到 xb⋅a∼N(μb⋅a,Σbb⋅a) 。根据 xb 与 xb⋅a 的关系可以得到 xb∣xa 的分布:
xb=xxb⋅a+BΣbaΣaa−1xa(在求条件概率P(xb∣xa)时xa对于xb来说可以看做已知,因此上式中ΣbaΣaa−1xa看做常量B)E[xb∣xa]=μb⋅a+ΣbaΣaa−1xaVar[xb∣xa]=Var[xb⋅a]=Σbb⋅a
因此可以得到 xb∣xa∼N(μb⋅a+ΣbaΣaa−1xa,Σbb⋅a), 同理可以得到 xa∣xb∼N(μa⋅b+ΣabΣbb−1xb,Σaa⋅b) 。
六、求高斯分布的联合概率分布
- 概述
p(x)=N(x∣μ,Λ−1)p(y∣x)=N(y∣Ax+b,L−1)Λ和L是精度矩阵(precisionmatrix),precisionmatrix=( covariance matrix )T。
本部分旨在根据上述已知来求 p(y),p(x∣y) 。
- 求解 p(y)
由上述已知可以确定 y 与 x 的关系为线性高斯模型,ε是人为定义的噪声,分布也是人为设定。
则 y 与 x 符合下述关系:
y=Ax+b+ε,ε∼N(0,L−1)
然后求解 y 的均值和方差:
E[y]=E[Ax+b+ε]=E[Ax+b]+E[ε]=Aμ+bVar[y]=Var[Ax+b+ε]=Var[Ax+b]+Var[ε]=AΛ−1AT+L−1
则可以得出 y∼N(Aμ+b,L−1+AΛ−1AT)
- 求解 p(x∣y)
求解 p(x∣y) 需要首先求解 x 与 y 的联合分布,然后根据上一部分的公式直接得到 p(x∣y) 。
构造z=(xy)∼N([μAμ+b],[Λ−1ΔTΔL−1+AΛ−1AT])现在需要求解ΔΔ=Cov(x,y)=E[(x−E[x])(y−E[y])T]=E[(x−μ)(y−Aμ−b)T]=E[(x−μ)(Ax+b+ε−Aμ−b)T]=E[(x−μ)(Ax−Aμ+ε)T]=E[(x−μ)(Ax−Aμ)T+(x−μ)εT]=E[(x−μ)(Ax−Aμ)T]+E[(x−μ)εT](因为x⊥ε,所以(x−μ)⊥ε,所以E[(x−μ)εT]=E[(x−μ)]E[εT])=E[(x−μ)(Ax−Aμ)T]+E[(x−μ)]E[εT]=E[(x−μ)(Ax−Aμ)T]+E[(x−μ)]⋅0=E[(x−μ)(Ax−Aμ)T]=E[(x−μ)(x−μ)TAT]=E[(x−μ)(x−μ)T]AT=Var[x]AT=Λ−1AT由此可得z=(xy)∼N([μAμ+b],[Λ−1AΛ−1Λ−1ATL−1+AΛ−1AT])套用上一部分的公式可以得到x∣y∼N(μx⋅y+Λ−1AT(L−1+AΛ−1AT)−1y,Σxx⋅y)