1 问题
之前我们考虑的训练数据中样例的个数m都远远大于其特征个数n,这样不管是进行回归、聚类等都没有太大的问题。然而当训练样例个数m太小,甚至m<<n的时候,使用梯度下降法进行回归时,如果初值不同,得到的参数结果会有很大偏差(因为方程数小于参数个数)。另外,如果使用多元高斯分布(Multivariate Gaussian distribution)对数据进行拟合时,也会有问题。让我们来演算一下,看看会有什么问题:
多元高斯分布的参数估计公式如下:
分别是求mean和协方差的公式,表示样例,共有m个,每个样例n个特征,因此
是n维向量,
是n*n协方差矩阵。
当m<<n时,我们会发现是奇异阵(
),也就是说
不存在,没办法拟合出多元高斯分布了,确切的说是我们估计不出来
。
如果我们仍然想用多元高斯分布来估计样本,那怎么办呢?
2 限制协方差矩阵
当没有足够的数据去估计时,那么只能对模型参数进行一定假设,之前我们想估计出完全的
(矩阵中的全部元素),现在我们假设
就是对角阵(各特征间相互独立),那么我们只需要计算每个特征的方差即可,最后的
只有对角线上的元素不为0
回想我们之前讨论过的二维多元高斯分布的几何特性,在平面上的投影是个椭圆,中心点由决定,椭圆的形状由
决定。
如果变成对角阵,就意味着椭圆的两个轴都和坐标轴平行了。
如果我们想对进一步限制的话,可以假设对角线上的元素都是等值的。
其中
也就是上一步对角线上元素的均值,反映到二维高斯分布图上就是椭圆变成圆。
当我们要估计出完整的时,我们需要m>=n+1才能保证在最大似然估计下得出的
是非奇异的。然而在上面的任何一种假设限定条件下,只要m>=2都可以估计出限定的
。
这样做的缺点也是显然易见的,我们认为特征间独立,这个假设太强。接下来,我们给出一种称为因子分析的方法,使用更多的参数来分析特征间的关系,并且不需要计算一个完整的。
3 边缘和条件高斯分布
在讨论因子分析之前,先看看多元高斯分布中,条件和边缘高斯分布的求法。这个在后面因子分析的EM推导中有用。