第四章 高斯模型
4.1 介绍
本章主要开始介绍多变量的高斯模型或者叫做多变量的正态模型(MVN),在整本书中,可以说这个模型是非常常见的。这一章的数学的要求是比较高的,涉及到很多的线性代数和矩阵运算。我会尽量把我会的一些计算过程详细的写出来,因为书中有些计算过程可能作者看上去比较的简单,但是我们看的时候还是会比较吃力。
4.1.1 符号
符号这里就不翻译了。都是很常规的,与平时见到的都一样。
4.1.2 基础
多元高斯分布的pdf:,指数上的那一块,我们称之为和之间的马氏距离(Mahalanobis distance)。没有中间的,那就是欧式距离,欧式距离带来的一定的缺点就是它认为所有的维度之间是等同的,但是处理实际问题的时候,权重往往应该是有区别的。为了更好地理解这个马氏距离,因为协方差矩阵是实对角阵,进行特征值分解:,其中是单位正交阵,即。,所以我们有,这就是协方差矩阵逆的另一种表达形式。其中,其实就是在这个方向上的投影。就是这个方向上的系数,当然也可以理解为我上面说的权重。如果很大的话,说明在这个方向上,你改变很大,但是对最终概率的影响却很小。
4.1.3 MVN的最大似然估计
在一维的高斯分布中,我们有最大似然估计和。对于高维的高斯分布,,,不得不说形式上一样,下面我们来仔细看一下书中的证明。
4.1.3.1 证明*
在证明之前首先给出一些结论
这些都是线性代数相关知识,这个的证明就不详细说了,直接当作结论。
首先我们的似然函数可以写成:这个式子最后应该加一个const(常数项),当然对于MLE求解没有影响。我们先对一项进行求导。,其中,这就是利用了上面的公式2以及链式法则。然后我们用似然函数对进行求导:,中间利用了是对称的,我们就得到了的最大似然估计值。接下来对进行求导,首先,其中。这边用了trace的技巧,首先标量的trace等于本身,其次trace具有轮换性。所以在此利用上面的第三行和第四行的公式,得到:,又有,所以。由于参数是要同时进行估计的,所以这里的就用最大似然得到的代替。
4.1.4 高斯分布的最大熵的推导
之前我们提到过,高斯分布是在均值和方差已知的情况下的最大熵分布。为了简化这个符号,pdf写作:,也就是0均值的。
定理4.1.2 假设是任意一个均值为0,方差满足(根据均值为0得到的)的分布。,那么有h(q)<h(p)。
证明过程:
这个证明过程就是*这边很难理解,其余都很显然。这个地方首先p(x)是服从高斯分布的。你把取log带进去,常数项忽略掉,我们发现他就是一个关于的二次项。同时我们又有,以及,所以和关于二次项的求导是一样的。所以我们可以换。所以就证明好了。
4.2 高斯判别分析(GDA)
MVN很大的一个应用就是在生成分类器中,定义类条件概率密度函数是高斯的:。这里两个说明点,一虽然叫高斯判别分析,但是其实是一个生成模型。第二点跟之前朴素贝叶斯不同的是这里的条件概率密度函数不是关于的每一个分量独立的,除非是对角阵。高斯判别分析我们在英文上又叫做 Gaussian discriminant analysis(GDA)
那么我们最终做决策根据公式:,其中最后一项我觉得写成更直观。这个就是根据贝叶斯法则,通过类先验和类条件概率密度函数,得到y的后验概率密度函数(差一个常数项),通过最大后验,得到y的估计值,最终进行分类。
当你把条件概率密度函数是MVS带入上面公式,其实就是看你和之间的马氏距离(协方差矩阵也都是不一样的)。如果我们的类先验就是均匀分布的。那么。
4.2.1 二次判别分析(QDA)
高斯判别分析也有很多种分法,这主要依赖于协方差矩阵的形式,对于最一般的情况,我们叫做二次判别分析(quadrctic discriminant analysis, QDA)。这个的关于y的后验分布写成:
,其实就是把类条件概率分布和先验具体形式带到2.13里面,约掉了常数项。
4.2.2 线性判别分析(LDA)
线性的判别分析要求所有的类条件概率分布的协方差矩阵是一样的:。这样的话4.2.1里面的公式就可以化简了,这里先不考虑下面的常数项,,这个推导比较简单。第二行的右边一项跟c是没有关系的,所以也必然可以约掉,所以其实如果我们假设那么就有,我们定义,而其实就是个softmax函数,即。
书中解释了为什么叫这个为soft-max函数,假设对于每一个除以一个常量T(temperature,所以这个就是从统计物理里面引入的)。当T趋向于0时。那么有。解释一下:
这里对于书上4.38而言,取log的话,分子变成线性的,那么在做决策边界也就是两个类别的类后验概率相等,也就等价于:
,因为分母是可以不考虑的。那么其实这个决策边界是一个线性函数。所以这也是我们为什么叫他为线性判决分析。这一点我们联想一线前面的二次判别分析,那个关于分母取等式的话其实是关于的一个二次式。
4.2.3 只有两个类别情况下的LDA
下面要说的就是y只能取{0,1}。根据上面的推导:
另一个就是1减去它。
根据之前的定义,得到,再进行如下的定义:
,就可以得到一个比较简单的形式:。这个形式就跟逻辑回归很像。这一块可能主要就是说明二维的LDA其实和逻辑回归是有很大的相似性的。
如果说,那么的方向就是,所以如下图:
就是看你跟的夹角是大于90度还是小于90度,就决定了你是哪一类,图中明显就是y=1。另外当没有先验信息时,,先验就是用来移动的位置,比如说越大,就说明更靠近。也就意味这被判到1类的概率就更高。
4.2.4 判别分析的MLE
之前我们讲的都是怎么去做判别,就是建立在类先验和类条件概率密度函数已知,然后不同的模型去做判别分析,那么怎么进行概率分布的参数估计。这里讲用最大似然估计怎么做。
首先对于数据集合来说,,而类先验和类条件概率密度函数的形式我们都是知道的。那么根据数据我们就可以有似然函数,当然我们取一个log:。那么最终求导就可以得到:
。
4.2.5 防止过拟合的技巧和方法
MLE的优势在于简单,并且快。劣势就在于在高维的时候可能出现严重的过拟合。比如你的,那么通过MLE估出来的协方差矩阵就是奇异的。即使的情况下,也有可能就是病态的&#x