一、概述
假设有以下数据:
X=(x1?,x1?,?,xN?)T=??????x1T?x2T??xNT????????N×p?其中xi?∈Rp且xi??iidN(μ,Σ)则参数θ=(μ,Σ)
二、通过极大似然估计高斯分布的均值和方差
- 极大似然
θMLE?=θargmax?P(X∣θ)
- 高斯分布
一维高斯分布p(x)=2π
?σ1?exp(?2σ2(x?μ)2?)多维高斯分布p(x)=(2π)D/2∣Σ∣1/21?exp(?21?(x?μ)TΣ?1(x?μ))
- 一维高斯分布下的估计
logP(X∣θ)=logi=1∏N?p(xi?∣θ)=i=1∑N?log2π
?σ1?exp(?2σ2(xi??μ)2?)=i=1∑N?[log2π
?1?+logσ1??2σ2(xi??μ)2?]
- 通过极大似然估计法求解
μMLE?
μMLE?=μargmax?logP(X∣θ)=μargmax?i=1∑N??2σ2(xi??μ)2?=μargmin?i=1∑N?(xi??μ)2对μ求导?μ?∑i=1N?(xi??μ)2?=i=1∑N?2(xi??μ)(?1)=0?i=1∑N?(xi??μ)=0?i=1∑N?xi??Nμ
i=1∑N?μ??=0解得μMLE?=N1?i=1∑N?xi?
- 证明
μMLE?是无偏估计
E[μMLE?]=N1?i=1∑N?E[xi?]=N1?i=1∑N?μ=N1?Nμ=μ
- 通过极大似然估计法求解
σMLE?
σMLE2?=σargmax?P(X∣θ)=σargmax?L
i=1∑N?(?logσ?2σ2(xi??μ)2?)???σ?L?=i=1∑N?[?σ1?+(xi??μ)2σ?3]?i=1∑N?[?σ2+(xi??μ)2]=0??i=1∑N?σ2+i=1∑N?(xi??μ)2=0σMLE2?=N1?i=1∑N?(xi??μ)2μ取μMLE?时,σMLE2?=N1?i=1∑N?(xi??μMLE?)2
- 证明
σMLE2?是有偏估计
要证明
σMLE2?是有偏估计就需要判断
E[σMLE2?]=?σ2,证明如下:
Var[μMLE?]=Var[N1?i=1∑N?xi?]=N21?i=1∑N?Var[xi?]=N21?i=1∑N?σ2=Nσ2?σMLE2?=N1?i=1∑N?(xi??μMLE?)2=N1?i=1∑N?(xi2??2xi?μMLE?+μMLE2?)2=N1?i=1∑N?xi2??N1?i=1∑N?2xi?μMLE?+N1?i=1∑N?μMLE2?=N1?i=1∑N?xi2??2μMLE2?+μMLE2?=N1?i=1∑N?xi2??μMLE2?E[σMLE2?]=E[N1?i=1∑N?xi2??μMLE2?]=E[(N1?i=1∑N?xi2??μ2)?(μMLE2??μ2)]=E[N1?i=1∑N?(xi2??μ2)]?E[μMLE2??μ2]=N1?i=1∑N?E[xi2??μ2]?(E[μMLE2?]?E[μ2])=N1?i=1∑N?(E[xi2?]?μ2)?(E[μMLE2?]?μ2)=N1?i=1∑N?(Var[xi?]+E[xi?]2?μ2)?(E[μMLE2?]?μMLE2?)=N1?i=1∑N?(Var[xi?]+μ2?μ2)?(E[μMLE2?]?E[μMLE?]2)=N1?i=1∑N?Var[xi?]?Var[μMLE?]=σ2?N1?σ2=NN?1?σ2
可以理解为当
μ取
μMLE?就已经确定了所有
xi?的和等于
NμMLE?,也就是说当
N?1个
xi?确定以后,第
N个
xi?也就被确定了,所以少了一个“自由度”,因此
E[σMLE2?]=NN?1?σ2。
方差的无偏估计:
σ^2=N?11?i=1∑N?(xi??μMLE?)2
三、为什么高斯分布的等高线是个“椭圆”
- 高斯分布与马氏距离
x?iidN(μ,Σ)=(2π)D/2∣Σ∣1/21?exp(?21?二次型
(x?μ)TΣ?1(x?μ)??)x∈Rp,r.v.x=??????x1?x2??xp????????μ=??????μ1?μ2??μp????????Σ=??????σ11?σ21??σp1??σ12?σ22??σp2???????σ1p?σ2p??σpp????????p×p?Σ一般是半正定的,在本次证明中假设是正定的,即所有的特征值都是正的,没有0。
(x?μ)TΣ?1(x?μ)
?为马氏距离(x与μ之间,当Σ为I时马氏距离即为欧氏距离。
- 证明高斯分布等高线为椭圆
任意的
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=(u1??u2????up??)??????λ1?0?0?0λ2??0??????00?λp??????????????u1T?u2T??upT????????=(u1?λ1??u2?λ2????up?λp??)??????u1T?u2T??upT????????=i=1∑p?ui?λi?uiT?Σ?1=(UΛUT)?1=(UT)?1Λ?1U?1=UΛ?1UT=i=1∑p?ui?λi?1?uiT?,其中Λ?1=diag(λi?1?),i=1,2,?,p
Δ=(x?μ)TΣ?1(x?μ)=(x?μ)Ti=1∑p?ui?λi?1?uiT?(x?μ)=i=1∑p?(x?μ)Tui?λi?1?uiT?(x?μ)(令yi?=(x?μ)Tui?)=i=1∑p?yi?λi?1?yiT?=i=1∑p?λi?yi2??
上式中
yi?=(x?μ)Tui?可以理解为将
x减去均值进行中心化以后再投影到
ui?方向上,相当于做了一次坐标轴变换。
当
x的维度为2即
p=2时
Δ=λ1?y12??+λ2?y22??,得到类似椭圆方程的等式,所以也就可以解释为什么其等高线是椭圆形状。二维高斯分布的图像如下所示:
四、高斯分布的局限性
- 参数过多
协方差矩阵
Σp×p?中的参数共有
1+2+?+p=2p(p+1)?个(
Σp×p?是对称矩阵),因此当
x的维度
p很大时,高斯分布的参数就会有很多,其计算复杂度为
O(p2)。
可以通过假设高斯分布的协方差矩阵为对角矩阵来减少参数,当高斯分布的协方差矩阵为对角矩阵时,特征向量的方向就会和原坐标轴的方向平行,因此高斯分布的等高线(同心椭圆)就不会倾斜。
另外如果在高斯分布的协方差矩阵为对角矩阵为对角矩阵的基础上使得其特征值全部相等(即
λ1?=λ2?=?=λi?),则高斯分布的等高线就会成为一个圆形,而且不会倾斜,称为各向同性。
- 单个高斯分布拟合能力有限
解决方案是使用多个高斯分布,比如高斯混合模型。
#五、求高斯分布的边缘概率与条件概率
- 概述
首先将变量、均值和方差进行划分:
x=(xa?xb??),其中xa?是m维的,xb?是n维的。μ=(μa?μb??)Σ=(Σaa?Σba??Σab?Σbb??)
本部分旨在根据上述已知来求
P(xa?),P(xb?∣xa?),P(xb?),P(xa?∣xb?)。
- 定理
以下定义为推导过程中主要用到的定理,这里只展示定理的内容,不进行证明:
已知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
(Im??0n??)??x
(xa?xb??)??E[xa?]=(Im??0n??)(μa?μb??)=μa?Var[xa?]=(Im??0n??)(Σaa?Σba??Σab?Σbb??)(Im?0n??)=(Σaa??Σab??)(Im?0n??)=Σaa?
所以
xa??N(μa?,Σaa?),同理
xb??N(μb?,Σbb?)。
- 求条件概率
P(xb?∣xa?)
构造????xb?a?=xb??Σba?Σaa?1?xa?μb?a?=μb??Σba?Σaa?1?μa?Σbb?a?=Σbb??Σba?Σaa?1?Σab??(Σbb?a?是Σaa?的舒尔补)xb?a?=A
(Σba?Σaa?1??In??)??x
(xa?xb??)??E[xb?a?]=(?Σba?Σaa?1??In??)(μa?μb??)=μb??Σba?Σaa?1?μa?=μb?a?Var[xb?a?]=(?Σba?Σaa?1??In??)(Σaa?Σba??Σab?Σbb??)(?Σaa?1?ΣbaT?In??)=(?Σba?Σaa?1?Σaa?+Σba???Σba?Σaa?1?Σab?+Σbb??)=(0??Σba?Σaa?1?Σab?+Σbb??)(?Σaa?1?ΣbaT?In??)=Σbb??Σba?Σaa?1?Σab?=Σbb?a?
现在可以得到
xb?a??N(μb?a?,Σbb?a?)。根据
xb?与
xb?a?的关系可以得到
xb?∣xa?的分布:
xb?=x
xb?a???+B
Σba?Σaa?1?xa???(在求条件概率P(xb?∣xa?)时xa?对于xb?来说可以看做已知,因此上式中Σba?Σaa?1?xa?看做常量B)E[xb?∣xa?]=μb?a?+Σba?Σaa?1?xa?Var[xb?∣xa?]=Var[xb?a?]=Σbb?a?
因此可以得到
xb?∣xa??N(μb?a?+Σba?Σaa?1?xa?,Σbb?a?),同理可以得到
xa?∣xb??N(μa?b?+Σab?Σbb?1?xb?,Σaa?b?)。
六、求高斯分布的联合概率分布
- 概述
p(x)=N(x∣μ,Λ?1)p(y∣x)=N(y∣Ax+b,L?1)Λ和L是精度矩阵(precisionmatrix),precisionmatrix=(covariancematrix)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?)