EM算法应用到 因子分析
因子分析 (还没有完全弄透)
一、总结:
因子分析其实就是降维。 (详细笔记见--斯坦福机器学习讲义: 因子分析笔记) 强烈建议回看
因子分析其实就是认为高维样本点实际上是由低维样本 点经过高斯分布、线性变换、误差扰动生成的,因此高维数据可以使用低维来表示。
因子分析是对应无监督学习问题,因为用到EM算法,还是有EM算法的,E步都是求出隐性变量Z,而z表示可能的类别,所以凡是有EM算法的,一定是无监督学习.
什么情况下用因子分析:
之前我们考虑的训练数据中样例x(i)的个数m都远远大于其特征个数n,这样不管是进 行回归、聚类等都没有太大的问题。
然而当训练样例个数 m 太小,甚至 m<<n 的时候,使 用梯度下降法进行回归时,如果初值不同,得到的参数结果会有很大偏差(因为方程数小于 参数个数)
这时候要用因子分析。
因子分析最终目的是求出隐性变量z与样例x的联合分布,
并且求出其所有参数:均值μ(n维),转换矩阵Λ和误差协方差Ψ。
下面几步都是围绕着联合分布的产生,参数如何估计得到 而展开的。
二、问题
样例个数x~n(μ,Σ).
又上面一篇博文可知,高斯混合模型中的参数估计公式 类似 多远高斯分布参数:
当样例个数m小于特征个数n,则Σ为奇异矩阵=》不满秩,特征值为0==》Σ不可逆。
估计不出Σ,但仍用高斯分布估计,则假设限制协方差矩阵
三、限制协方差矩阵
我们假设特征间独立,则Σ为对角阵(即只有主对角线有元素,其余地方为0),高斯分布二维几何图对应的椭圆的两个轴与坐标轴平行。
如图,左边是高斯分布的三维图,所以自上而下看,高斯分布是椭圆。右边图可知,椭圆两个轴和坐标轴平行了
缺点:特征间独立这个假设太强。 接下来,引用因子分析,使用更多的参数来分析特征间的关系
四、因子分析怎样将数据建模
1.假设有隐性变量z~N(0,I),均值为0。即在一个k维的空间中按照多元高斯分布生成m个z(i)(k维向量)。
2、 然后存在一个变换矩阵Λ ∈ ℝn×k,将z(i)映射到n维空间中,即 Λz(i)因为z(i)的均值是0,映射后仍然是0。
3.最后的结果认为是真实的训练样例x(i)的生成公式:
如下图递进表示:从 到 到
上面的过程是从隐含随机变量z经过变换和误差扰动来得到 观测到的样本点。其中z被 称为因子,是低维的。
五、因子分析模型是:
因子分析的总式:
对上式x = u +lumda*z + 误差, 分别求三个参数:
1)求u:
, 又已知E[z] = 0,所以。
2)求Σ: (......略)
3)最终联合分布:(最重要!!)
(总式)因子分析最终目的就是为了求出联合分布的所有参数:均值μ(n维),转换矩阵Λ和误差协方差Ψ。
4)
六、EM参数估计:
对上面4)式进行EM算法迭代:
需估计参数:z是隐含变量,μ,Λ,Ψ是待估参数。
回顾EM步骤:
(1)E步对z进行推导,
。。。(省略)
(2)M步对μ,Λ,Ψ求导。
(具体推导过程见讲义。)
最终是对所有参数进行估计了。
根据上面的EM的过程,要对样本X进行因子分析,只需知道要分解的因子数(z的维 度)即可。通过EM,我们能够得到转换矩阵Λ和误差协方差Ψ。
因子分析实际上是降维,在得到各个参数后,可以求得z。但是z的各个参数含义需要自己去琢磨(还没琢磨出)。
七、因子分析应用例子:
例如,在企业形象或品牌形象的研究中,消费者可以通过一个有24个指标构成的评价 体系,评价百货商场的24个方面的优劣。 但消费者主要关心的是三个方面,即商店的环境、商店的服务和商品的价格。因子分析 找出反映商店环境、
方法可以通过24个变量, 商店服务水平和商品价格的三个潜在的因子, 对商店进行综合评价。而这三个公共因子可以表示为:
方法可以通过24个变量, 商店服务水平和商品价格的三个潜在的因子, 对商店进行综合评价。而这三个公共因子可以表示为: