这部分内容还是挺奇怪的,学生的时候感觉不难啊,但是把复盘的时候,总是各种难以明说的困惑,不知道是不是因为戒烟,注意力不够专注,总之,学的不是很容易。
说归来因子分析,解决的是维度高,样本不足的情况下,模型建立的问题。我们之前讲的混合高斯模型里都是维度数远小于样本数的情况,如果维度是远大于样本数的话,我们仍然用以前的方法建立混合高斯模型会遇到问题,因为在这种情况,协方差会等于0,也就是说我们无法表示出高斯混合模型对应的概率密度。
对于这种情况,我们需要对协方差矩阵进行一些限定。有两种限定方式。 第一种:我们假设各个特征变量是独立,也就是说协方差矩阵是一个对角矩阵,对角线上的值都不为零
第二种:相比于第一种是更强的假设
但这种假设,他的问题在于,他完全消除了变量之间的关联性,而这个显然是不符合实际的。我们因子分析要解决的就是怎样估计出一个 合理的,非奇异协方差矩阵。
在我们介绍因子分析方法之前,我们需要对 边缘分布 和 条件分布有一些基本的了解。因为在因子分析EM算法中,要用到这部分的知识。 在这里我们假设 x1和x2的联合分布是一个多维高斯分布模型
我们有了上述的协方差矩阵表示之后,我们就可以求出条件分布。 这一步就是套公式吗!对吧?
有了以上的概念之后,我们就正式来介绍因子分析,以及他的EM算法,我们要尤其注意,**他是怎么估计协方差矩阵的?**因为我们都知道,我们之所以用因子分析,是因为他对协方差矩阵估计的时候,充分考虑到变量之间的相关性,那我们要在接下来的算法尤其要注重这点,这也是理解这个算法模型的重点! 唉!!!!! The Factor analysis model 在因子模型中,我们是这样假设的。
接下来我们想算出来,z,x组成的联合高斯分布到底是什么样的? 之所以要这么做事因为,我们是最终想知道x的分布是什么样的,想想我们一直想做的事情不就是想用参数拟合一个样本数据吗?
也就是说接下来我们要求这样几个值,zz得协方差矩阵,zx的协方差矩阵,xx的协方差矩阵。
通过上述,我们就求出了协方差矩阵,我们也就可以把z,x的分布给表示出来,如下:
有了这个方程的表示,我们要做的就是对他进行最大似然,我们会看到,如果直接求得会比较麻烦,我们需要用EM算法
在EM算法中,我们首先要计算x条件下z的概率Q(z),根据我们之前的条件概率表示方法,我可以得出Q(z)
接下就是M步骤,也好理解了。
在这里我们能看到,我们因子分析模型同高斯模型的不同点,因子模型中,在更新参数的时候是把z的协方差考虑在内了。 以上是给出了算出其他两个参数的方法