MLaPP Chapter 4 Gaussian models 高斯模型

4.1 Introduction 介绍

4.1.1 Notation 符号

一般矩阵用大写加粗的字母,向量用小写加粗字体。

4.1.2 Basics 基础

回顾一下多元高斯概率密度函数:

N(x|μ,Σ)1(2π)D/2|Σ|1/2exp[12(xμ)TΣ1(xμ)]

首先,我们来胡扯一下。不不不,不对,首先我们来解释一下马氏距离(Mahalanobis Distance)的概念。和欧式距离(Euclidean distance)一样,马氏距离可以计算两点之间的距离,但是在计算距离的时候,同时会考虑整体样本的分布情况,所以可以说马氏距离也是衡量一个点与一个分布之间的标准。

假设多维的高斯分布均值为 μ=(μ1,...,μn) ,那么定义变量 x=(x1,...,xn) 两点之间的欧氏距离为

dE(x,μ)=(xμ)T(xμ)=(x1μ1)2++(xnμn)2
那么以原点为中心,欧氏距离 x2=c 的所有点集合为一个正球体,
x21+x22++x2n=c2

在统计上,我们希望寻找一个这样的距离,沿着某方向分量上的数据如果比较离散,则给一个较小的权重。假设有

u=(xisi),v=(μisi),i=1,...,p
为新的基底,
dM(x,μ)=dE(u,v)=(uv)T(uv)=(x1μ1s1)2++(xnμnsn)2=(xμ)TΣ1(xμ)

这里的 Σ=diag(s21,,s2n)

那么以原点为中心,马氏距离 x=c 的所有点集合为一个椭球体,

(x1s1)2+(x2s2)2++(xnsn)2=c2

好了,上面都是根据某篇博客胡编的,下面来看书里是怎么解读多元高斯分布的概率密度函数的。

首先,协方差矩阵 Σ 是一个实对称矩阵,必然可以正交对角化。有 Σ=UTΛU ,其中 U 为正交矩阵(orthonormal matrix),即满足 UTU=I ,由矩阵 Σ 的特征向量组成;Λ 为对角矩阵(diagonal matrix),对角元素为 Σ 的特征值。同理:

Σ1=UTΣ1U1=UΣ1UT=i=1D1λiuiuTi
注意 λi 是矩阵 \boldsymbol{\Sigma}Σ 的特征值,ui 是矩阵 Σ 的特征向量,且 U=(u1,u2,,un)

上面 pdf 的 exp 指数项其实算的是数据向量 x 和均值向量 μ 之间的马氏距离,可以这样化简:

(xμ)TΣ1(xμ)=(xμ)T(i=1D1λiuiuTi)(xμ)=i=1D1λi[(xμ)TuiuTi(xμ)]=i=1D1λiy2iwhere yi=uTi(xμ)

加入我们限定距离为定值 1 ,那么有

y21λ1+y22λ2++y2nλn=1
显然这是个高维的椭球体。若协方差矩阵是正定的,那么 λi 就是各半轴的长度。书里图 4-1 展示了 2 维的高斯密度等高线。

4.1.3 MLE for an MVN 多元高斯模型的极大似然估计

用 MLE 来估计高斯模型的参数,发现估计出来的均值和协方差是经验均值和协方差,即样本的均值和协方差。

Theorem 4.1.1 (MLE for a Gaussian) 若有 N 个独立同分布的样本 xiN(μ,Σ) ,那么 MLE 的结果是:

μ^mleΣ^mle=1Ni=1Nxix¯¯=1Ni=1N(xix¯¯)(xix¯¯)T=1N(i=1NxixTi)x¯¯x¯¯T

4.1.3.1 Proof *

要推导多元高斯的极大似然估计过程,可能要用到很多的矩阵求导公式,这里只列举一个:

(aTAa)a=(A+AT)a

当然,还有 trace trick,很奇妙,

xTAx=tr(xTAx)=tr(xxTA)=tr(AxxT)

具体的推导过程略,大致就是构造似然函数 (μ,Σ) ,然后分别求偏导,化简后得到。

4.1.4 Maximum entropy derivation of the Gaussian * 从最大熵中推导出高斯模型

对于特定的均值 μ 和协方差矩阵 Σ ,MVN 是在所有的分布中熵最大的。

4.2 Gaussian discriminant analysis 高斯判别分析

多元高斯模型的一个很重要的应用是,在生成模型中用来定义 class conditional densities

p(x|y=c,θ)=N(x|μc,Σc)

结果就是高斯判别分析,不过仍然是生成模型而非判别模型。如果 Σc 为可对角化(diagonal),那么等价于 Gaussian Naive Bayes classifier.(为什么呢?)

生成模型会用下边的公式来找到给定输入对应的预测类别,即

y^(x)=argmaxc[logp(y=c|π)+logp(x|y=c,θc)]
这个还是贝叶斯公式,π 只是参数 θ 中跟 prior class 相关的的参数单独提取出来。后面的概率 p(x|y=c,θc) ,其实就是衡量点 x 到类别 c 中心 xc 的马氏距离。这种想法叫做 nearest controids classifier,比如 k 近邻算法就是这一类型的。

假设连类别先验都是均匀分布的,即 p(y=c|π) 为常数,那么分类器的公式可以这样写,

y^(x)=argminc(xμc)TΣ1c(xμc)

4.2.1 Quadratic discriminant analysis (QDA) 二次判别分析

二次判别分析,就是直接把多元高斯概率密度函数代入到贝叶斯公式里,不过书里感觉写的有点错误,把维度直接认为是 1 了。之所以叫二次,是因为画出来的决策面是曲线,而下面要讲的 LDA 却是线性的决策面。

4.2.2 Linear discriminant analysis (LDA) 线性判别分析

线性判别分析是假设所有类的协方差全部共享(tied or shared across classes),即 Σc=Σ ,这样子画出的决策面是线性的。

LDA 的原理是,将带上标签的数据(点),投影到维度更低的空间中。使得投影后的点,相同类别距离更近,不同类别距离更远。因此除了可以做分类器,LDA 也可以做有监督的降维工作。

书里把 p(y=c|x,θ) 推导逐渐写成了 Softmax 复合函数,也是很神奇,和 PRML 那本书的思路完全不一样。其中Softmax公式如下:

S(η)c=eηcCc=1eηc
由于这个函数起源于统计物理学,倘若添加一个温度常量 T ,那么发现低温下,S(η/T)c 偏向于均匀分布;高温时,只有最大值的变量趋近于 1 ,其他都为零,因此和 max 函数很像。

若有 p(y|x,W)=Cat(y|Wx) ,那么这时模型就是 multi-class logistic regression,或者叫 multinomial logistic regression,然而这个是判别模型。生成模型和判别模型的区别会在第八章提到。

4.2.3 Two-class LDA 两类 LDA

假如考虑只有两类的特殊情况,那么可以推导出

p(y=1|x,θ)=sigmoid(wT(xx0))
这已经和 logistic regression 很接近了(我怎么感觉是一样的?)。决策规则是这样子,先把 x 平移 x0 ,然后投影到线 w 上去,再判断正负性。

4.2.4 MLE for discriminant analysis

直接用经验估计的均值和方差,和前面讲过的一样。

4.2.5 Strategies for preventing overfitting

MLE 容易过拟合,且协方差矩阵一般是奇异矩阵,因此有很多缓解过拟合的方法,后面的小节会一一提到。

4.2.6 Regularized LDA * 正则化 LDA

如果用 Wishart prior 来做最大后验估计,来估计 LDA 中的参数,那么就叫做是 Regularized LDA,简称 RDA。即

Σ^=λdiag(Σ^mle)+(1λ)Σ^mle
其中,λ 是控制两者的权重。

高斯模型公式里有 Σ^1 ,但是如果不是方阵,特别是 D>N ,即方程组数量小于变量维数的情况,可以用奇异值分解(SVD,singular value decomposition)来解决。即对任意的矩阵 X ,必定可以分解成三个特殊的矩阵,

XN×D=UN×N SN×D VTD×D
其中,
  • UN×N列向量正交 的矩阵,即 UTU=IN ,列向量为左奇异向量(left singular vectors);
  • SN×D 是主对角线上有 min(N,D) 个非负 奇异值(singular vaue) 的对角矩阵(其余位置元素都是零);
  • VD×D行和列向量皆正交 的矩阵,即 VTV=VVT=ID ,由右奇异向量组成(right singular vectors);

奇异值分解有很多用途,这里主要拿来做求矩阵的伪逆。此外,奇异值分解和特征值分解之间的关系很近,只是约束更弱,奇异值和特征值意义类似。具体我就不了解了,貌似是矩阵论的东西。

4.2.7 Diagonal LDA 对角化 LDA

当 RDA 中 λ=1 时,协方差矩阵完全为可对角化矩阵,称 Diagonal LDA,该模型在高维的情况下比 RDA 和 LDA 要好。

4.2.8 Nearest shrunken centroids classifier *

有时候,特别是高维的特征下,不是所有的特征都是有用的,因此可以用一些筛选的方法,让某些维度失去作用。

4.3 Inference in jointly Gaussian distributions 联合高斯分布的推断

这一章讲述的是,已知联合概率 p(x1,x2) ,如何求解边缘概率 p(x1) 和条件概率 p(x1|x2) .

4.3.1 Statement of the result 结果陈述

Theorem 4.3.1 (Marginals and conditionals of an MVN). 假设 x=(x1,x2) 是联合高斯(jointly Gaussian),且其参数如下:

μ=(μ1μ2),Σ=(Σ11Σ21Σ12Σ22),Λ=Σ1=(Λ11Λ21Λ12Λ22)
那么边缘概率为,
p(x1)=N(x1|μ1,Σ11)p(x2)=N(x2|μ2,Σ22)
后验条件概率为,
p(x1|x2)=N(x1|μ1|2,Σ1|2)
其中,
μ1|2Σ1|2=μ1+Σ12Σ122(x2μ2)=μ1Λ111Λ112(x2μ2),=Σ1|2(Λ11μ1Λ12(x2μ2)),=Σ11Σ12Σ122Σ21=Λ111

从上面的定理可以看出,如果联合概率分布是高斯分布,那么边缘概率和条件概率分布也都会是高斯分布。边缘概率好理解,直接从行和列提取即可,条件概率就稍麻烦。条件概率的均值是 x2 的线性函数,协方差则是和 x2 无关的常数矩阵。

4.3.2 Examples 例子

下面的小结会给出上面公式的一些例子。

4.3.2.1 Marginals and conditionals 边缘概率和条件概率

考虑两维的高斯分布,有协方差矩阵

Σ=(σ21ρσ1σ2ρσ1σ2σ22)

边缘概率 p(x1) 是一维的高斯,可以通过把联合概率投影到直线 x1 上得到,

p(x1)=N(x1|μ1,σ21)
条件概率 p(x1|x2) 就稍麻烦,
p(x1|x2)=N(x1|μ1+ρσ1σ2σ22(x2μ2), σ21(ρσ1σ2)2σ22)
如果假设协方差是共享的,即 σ1=σ2=σ 时,有
p(x1|x2)=N(x1|μ1+ρ(x2μ2), σ2(1ρ2))

举个具体的例子,如 ρ=0.8,σ=1,μ1=μ2=0,x2=1 那么,p(x1|x2)=N(x1|0.8,0.36) 表示沿着 x2=1 截取的曲线。

4.3.2.2 Interpolating noise-free data

给无噪声的数据做差值,一般会假设得到的插值函数的平滑,即

xj=12(xj1+xj+1)+ϵj
即当前值是相邻值的均值加上一个高斯噪声。有 ϵN(0,(1/λ)I) ,参数 λ 控制了平滑的程度。较大的值偏向于平滑,较小的值会较为抖动(wiggly).

后面跳跃性太大了,好难读,跳过先。。。

4.3.2.3 Data imputation 数据重建

如果矩阵中确实了部分的数据,而列之间有时相互关联的,那么可以动过数据重建的方法猜测丢失的数据。

4.3.3 Information form

若有 xN(x|μ,Σ) ,其中的参数是均值和方差 μ,Σ 就叫做是 距参量(moment parameters),不过有时候也可以定义这样子的参数

ΛΣ1,ξΣ1μ
这样的参数叫做 典范参数(cononical parameters),或者叫 自然参数(natural parameters). 在计算条件概率和两个高斯概率相乘时,典范参数表达会简洁很多,但是距参量在边缘概率会表述方便一些。

典范参数下的多元高斯分布就可以写成 Information form,即 Nc(x|ξ,Λ) .

4.3.4 Proof of the result *

证明需要用到很多的矩阵只是,比如舒尔补(Schur complements)之类的,主要是求分块矩阵的逆矩阵,略过。

4.3.4.1 Inverse of a partitioned matrix using Schur complements

4.3.4.2 The matrix inversion lemma

4.3.4.3 Proof of Gaussian conditioning formulas

4.4 Linear Gaussian systems 线性高斯系统

假设有隐变量 xRDx ,而只能观察到带噪音的变量 yRDy ,那么下面的先验和似然

p(x)=N(x|μx,Σx)p(y|x)=N(y|Ax+b,Σy)
就可以组成一个线性高斯系统(linear Gaussian system),其中矩阵 ADx×Dy 的矩阵。

上面给出的是 xy 的信息,我们的目的得到 yx 的信息,即如果从观察变量中推断(infer)隐变量。

4.4.1 Statement of the result

Theorem 4.4.1 (Bayes rule for linear Gaussian systems) 给定一个上述的线性高斯系统,后验概率 p(x|y) 推断如下,

p(x|y)=N(x|μx|y,Σx|y)
其中,
Σ1x|y=Σ1x+ATΣ1yAμx|y=Σx|y[ATΣ1y(yb)+Σ1xμx]
此外,归一化常量(normalization constant)p(y) 为,
p(y)=N(y|Aμx+b, Σy+AΣxAT)

4.4.2 Examples

例子就跳过了,不太看得懂。

4.4.2.1 Inferring an unknown scalar from noisy measurements

4.4.2.2 Inferring an unknown vector from noisy measurements

4.2.2.3 Interpolating noisy data

4.4.3 Proof of the result *

证明了 Theorem 4.4.1 的公式。略

4.5 Digression: The Wishart distribution * 题外话:Wishart 分布

Wishart 分布可以看做是 Gamma 分布在正定矩阵上的推广,一般用来描述协方差矩阵 Σ ,或者其逆矩阵 Λ=Σ1 的分布。概率密度函数定义如下:

Wi(Λ|S,ν)=1ZWi|Λ|(νD1)/2exp(12tr(ΛS1))
其中 ν 成为自由度(degrees of freedom),S 叫做尺度矩阵(scale matrix),归一化项为
ZWi=2νD/2ΓD(ν/2)|S|ν/2
其中 ΓD(a) 为多元伽马函数(multivariate gamma function),
ΓD(x)=πD(D1)/4i=1DΓ(x+(1i)/2)
D=1 时正好是 Γ 函数。注意只有当 ν>D1 时,归一化常数才存在。

Wishart 分布和 Gaussian 分布关系很密切。假设 xiN(0,Σ) ,那么 scatter matrix S=Ni=1xixTi 是符合 Wishart 分布的,即 SWi(Σ,1) ,所以 E(S)=NΣ

Wishart 分布的均值和众数如下,

mean=νS,mode=(νD1)S

D=1 时,Wishart 分布退化成伽马分布,

Wi(λ|s1,ν)=Ga(λ|ν2,s2)

4.5.1 Inverse Wishart distribution 逆 Wishart 分布

见书上公式,略~

4.5.2 Visualizing the Wishart distribution * 可视化

考虑 Wishart 分布式对矩阵的分布,很难画出密度函数,所以可以考虑把矩阵的特征值提取出来,做椭圆的半轴长度。

4.6 Inferring the parameters of an MVN 推断 MVN 的参数

这一小节主要讲解如何推断高斯分布的参数 θ=(μ,Σ)

假设有符合多元高斯分布的数据集 D={xi|xiN(μ,Σ)} ,分成三个部分来推断参数,

  • p(μ|D,Σ) 均值
  • p(Σ|D,μ) 方差
  • p(μ,Σ|D) 均值和方差

4.6.1 Posterior distribution of μ

推断 p(μ|D,Σ)

4.6.2 Posterior distribution of Σ *

推断 p(Σ|D,μ)

4.6.2.1 MAP estimation

4.6.2.2 Univariate posterior

4.6.3 Posterior distribution of μ and Σ *

推断 p(μ,Σ|D)

4.6.3.1 Likelihood

4.6.3.2 Prior

4.6.3.3 Posterior

4.6.3.4 Posterior mode

4.6.3.5 Posterior marginals

4.6.3.6 Posterior predictive

4.6.3.7 Posterior for scalar data

4.6.3.8 Bayesian t-test

4.6.3.9 Connection of frequentist statistics *

4.6.4 Sensor fusion with unknown precisions * 未知精度的传感器融合

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章