提前放狠话:看不懂打si我吧,真的很细节了。
提前了解:
1、极大似然估计(MLE)、最大后验概率估计(MAP)、贝叶斯估计区别
2、正定矩阵与半正定矩阵定义性质与理解
3、马氏距离和欧式距离详解
4、参考Github笔记
高斯分布
正态分布(Normal distribution),也称“常态分布”,又名高斯分布(Gaussian distribution)。
下面将分一维和多维一一进行介绍。
拓展:
希腊字母表的第十八字母(
Σ,
σ)。
Σ 英语名称:Sigma 汉语名称:西格玛(大写
Σ,小写
σ),第十八个希腊字母。
大写
Σ用于数学上的总和符号,比如:
ΣPi,其中
i=1,2,...,N,即为求
P1+P2+...+PN的和。小写
σ用于统计学上的标准差。
MLE参数估计
数据集
X符合某分布,且是独立同分布的(
iid),在 MLE 方法中,参数估计的方法如下:
θMLE=θargmaxlogi=1∏Np(xi∣θ)=θargmaxi=1∑Nlogp(xi∣θ)
一维情况
数据符合一维高斯分布(独立同分布):
X∼N(μ,σ2)
一维高斯分布的概率密度函数PDF写为:
p(x∣μ,σ2)=2π
σ1e−2σ2(x−μ)2
我们要使用MLE进行估计的参数为:
θ=(μ,σ2)
带入 MLE 中我们考虑一维的情况
logp(X∣θ)=i=1∑Nlogp(xi∣θ)=i=1∑Nlog2π
σ1e−2σ2(xi−μ)2=i=1∑Nlog2π
σ1e−2σ2(xi−μ)2=i=1∑Nlog2π
σ1+i=1∑Nloge−2σ2(xi−μ)2=i=1∑N[ log2π
1+logσ1−2σ2(xi−μ)2]
首先对
μ 的极值可以得到 :
μMLE=μargmaxlogp(X∣θ)=μargmax−i=1∑N(xi−μ)2=μargmini=1∑N(xi−μ)2
于是:
∂μ∂i=1∑N(xi−μ)2=0⟶μMLE=N1i=1∑Nxi
其次对
θ 中的另一个参数
σ ,有:
σMLE=σargmaxlogp(X∣θ)=σargmaxi=1∑N[−logσ−2σ2(xi−μ)2]=σargmini=1∑N[logσ+2σ2(xi−μ)2]
于是:
∂σ∂i=1∑N[logσ+2σ21(xi−μ)2]=0⟶σMLE2=N1i=1∑N(xi−μ)2
有偏VS无偏
值得注意的是,上面的推导中,首先对
μ 求 MLE, 然后利用这个结果求
σMLE ,因此可以预期的是对
μMLE求期望时, 可以发现
μMLE是无偏差的:
ED[μMLE]=ED[N1i=1∑Nxi]=N1i=1∑NED[xi]=μ
但是当对
σMLE 求 期望的时候由于使用了单个数据集的
μMLE,因为
μMLE不一定与所有数据的
μ相等,因此对
σMLE 求期望的时候我们会发现
σMLE 是有偏差的:
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+μ2−μMLE2]=ED[N1i=1∑Nxi2−μ2]−ED[μMLE2−μ2]=σ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
所以,无偏估计量
σ^2如下式所示:
σ^2=N−11i=1∑N(xi−μ)2
多维情况
多维高斯分布的概率密度函数PDF写为:
p(x∣μ,Σ)=(2π)p/2∣Σ∣1/21e−21(x−μ)TΣ−1(x−μ)
其中
x,μ∈Rp,Σ∈Rp×p ,
Σ 为协方差矩阵,一般也是半正定矩阵且是对称矩阵。这里我们只考虑正定矩阵。
补充:
1、设
A是
n阶方阵,如果对任何非零向量
x,都有
xTAx>0,其中
xT表示
x的转置,就称
A为正定矩阵。
2、设
A是实对称矩阵,如果对任意的实非零列向量
x有
xTAx≥0,就称
A为半正定矩阵。
3、马氏距离公式:
(x−μ)TΣ−1(x−μ)
。我们可以发现如果
Σ−1是单位矩阵的时候,马氏距离简化为欧氏距离。马氏距离的这一项
Σ−1起到了方差归一化的作用,可以拿一维的高斯分布举例,
−21σ2(x−μ)2,
σ2等价于
Σ。
首先我们处理指数上的数字,指数上的数字可以记为
x 和
μ 之间的马氏距离。对于对称的协方差矩阵可进行特征值分解,
Σ=UΛUT=(u1,u2,⋯,up)diag(λi)(u1,u2,⋯,up)T=i=1∑puiλiuiT ,其中
ui∈Rp,
U,diag(λi)∈Rp×p,
UUT=UTU=I,于是:
Σ−1=i=1∑puiλi1uiT
Δ=(x−μ)TΣ−1(x−μ)=i=1∑p(x−μ)Tuiλi1uiT(x−μ)=i=1∑pλiyi2
其中
yi=(x−μ)Tui=yiT=uiT(x−μ),
yi是一个实数。
我们注意到
yi 是
x−μ 在特征向量
ui 上的投影长度,
因此上式子在二维情况下,
i=1∑2λiyi2=λ1y12+λ2y22=Δ就是
Δ 取不同值时的同心椭圆。
我来换一个通俗易懂的讲法:
使用二维空间更直观
-
X={x1,x2,...,xN},其中
xi=(xi1;xi2),i=1,2,...,N,这些数据集
X构成了一个二维空间。
- 使用
X分别在两个维度上确定均值,
μ1和
μ2,即可得到
μ=(μ1;μ2)。
- 如果使用的是欧式距离,
ui 其实一一对应坐标轴
xi所指方向,因此
(x−μ)Tui两个向量相乘,
yi大小等于
(x−μ)Tui,且
λ1=λ2,在二维空间上即为一个圆。
- 在上式为马氏距离,
ui 不对应坐标轴
xi所指方向,因此
yi大小等于
x−μ 在特征向量
ui 上的投影长度,在原二维空间上即为一个斜的椭圆。
- 因此马氏距离涵盖了欧式距离,它使用了各变量各自的方差去进行计算,起到了方差归一化的作用。
- 我们也可以直观地看到高斯二维分布其实为一个椭圆型。
化简了指数部分,我们重新看一下PDF:
p(x∣μ,Σ)=(2π)p/2∣Σ∣1/21e−21Δ
当我们确定了
p(x∣μ,Σ)的值,那么我们也确定了
Δ的值,就可以得到满足该条件的特征向量形成的空间,其实在二维空间,构成了一座山的等高线,椭圆形的线。
下面我们看多维高斯模型在实际应用时的两个局限性
-
参数过多。参数
Σ,μ 的自由度为
O(p2) 对于维度很高的数据其自由度太高。高自由度的来源是
Σ 有
2p(p+1) 个自由参数。
解决方法:
可以假设其是对角矩阵,这样就不需要进行特征值分解,
ui的形式就满足欧式距离出现的第一种情况,然后直观展示为是正的椭圆而不是斜的椭圆。
甚至在各向同性假设中假设其对角线上的元素都相同。
ui的形式就满足欧式距离出现的所有情况,然后直观展示为一个正圆形。
前一种的算法有 Factor Analysis,后一种有概率 PCA(p-PCA) 。
-
第二个问题是单个高斯分布是单峰的,对有多个峰的数据分布不能得到好的模型结果。
解决方法:
高斯混合GMM 模型。
边缘概率以及条件概率
我们记
x=(x1,x2,⋯,xp)T=(xa,m×1,xb,n×1),μ=(μa,m×1,μb,n×1),Σ=(ΣaaΣbaΣabΣbb),已知
x∼N(μ,Σ)。
首先是一个高斯分布的定理:
定理:已知
x∼N(μ,Σ),y∼Ax+b,那么
y∼N(Aμ+b,AΣAT)。
证明:
E[y]=E[Ax+b]=AE[x]+b=Aμ+b,
Var[y]=Var[Ax+b]=Var[Ax]=A⋅Var[x]⋅AT。
下面利用这个定理得到
p(xa),p(xb),p(xa∣xb),p(xb∣xa) 这四个量。
-
xa=(Im×mOm×n)(xaxb),代入上面的定理中可以得到:
E[xa]=(IO)(μaμb)=μaVar[xa]=(IO)(ΣaaΣbaΣabΣbb)(IO)=Σaa
所以
xa∼N(μa,Σaa)。
-
同样的,
xb∼N(μb,Σbb)。
-
对于两个条件概率,我们引入三个量(第一个式子是一个构造性证明,记住就行):
xb⋅a=xb−ΣbaΣaa−1xaμb⋅a=μb−ΣbaΣaa−1μaΣbb⋅a=Σbb−ΣbaΣaa−1Σab
特别的,最后一个式子叫做
Σaa 的 Schur Complementary。可以看到:
xb⋅a=(−ΣbaΣaa−1In×n)(xaxb)
我们重点使用第一条式子推导第二、三条式子,所以:
E[xb⋅a]=(−ΣbaΣaa−1In×n)(μaμb)=μb⋅aVar[xb⋅a]=(−ΣbaΣaa−1In×n)(ΣaaΣbaΣabΣbb)(−Σaa−1ΣbaTIn×n)=Σbb⋅a
利用这三个量可以得到
xb=xb⋅a+ΣbaΣaa−1xa。
我们先推导一下下面的公式
若
x∼N(μ,Σ),则
Mx⊥Nx⇔MΣNT=0
如果两个随机变量均服从高斯分布,那么“不相关”等价于“独立”。
证明:
∵x∼N(μ,Σ)∴Mx∼N(Mμ,MΣMT),Nx∼N(Nμ,NΣNT)∴Cov(Mx,Nx)=E[(Mx−Mμ)(Nx−Nμ)T]=E[M(x−μ)(x−μ)TN]=ME[(x−μ)(x−μ)T]N=MΣNT∵Mx⊥N且均为高斯∴Cov(Mx,Nx)=MΣNT=0
我们回到原来的式子:
xb=xb⋅a+ΣbaΣaa−1xa
我们辛苦构造的
xb⋅a有什么作用呢,其实它和
xa是相互独立的,可以使用上面的公式以及前面的构造进行推导。
∵xb⋅a⊥xa⇒xb⋅a∣xa=xb⋅a∴xb∣xa=xb⋅a∣xa+ΣbaΣaa−1xa∣xa=xb⋅a+ΣbaΣaa−1xa
所以
E[xb∣xa]=μb⋅a+ΣbaΣaa−1xa
Var[xb∣xa]=Σbb⋅a
这里同样用到了定理。
-
同样:
xa⋅b=xa−ΣabΣbb−1xbμa⋅b=μa−ΣabΣbb−1μbΣaa⋅b=Σaa−ΣabΣbb−1Σba
所以:
E[xa∣xb]=μa⋅b+ΣabΣbb−1xb
Var[xa∣xb]=Σaa⋅b
求
p(y),p(x∣y)
线性高斯模型常见求解
已知:
p(x)=N(μ,Λ−1),p(y∣x)=N(Ax+b,L−1),求解:
p(y),p(x∣y)。
解:令
y=Ax+b+ϵ,ϵ∼N(0,L−1),所以
E[y]=E[Ax+b+ϵ]=Aμ+b,
Var[y]=AΛ−1AT+L−1,因此:
p(y)=N(Aμ+b,L−1+AΛ−1AT)
引入
z=(xy),我们可以得到
Cov[x,y]=E[(x−E[x])(y−E[y])T]。对于这个协方差可以直接计算:
Cov(x,y)=E[(x−μ)(Ax−Aμ+ϵ)T]=E[(x−μ)(x−μ)TAT]=Var[x]AT=Λ−1AT
注意到协方差矩阵的对称性,
所以
p(z)=N((μAμ+b),(Λ−1AΛ−1Λ−1ATL−1+AΛ−1AT))。
根据之前的公式,我们可以得到:
E[x∣y]=μ+Λ−1AT(L−1+AΛ−1AT)−1(y−Aμ−b)
Var[x∣y]=Λ−1−Λ−1AT(L−1+AΛ−1AT)−1AΛ−1