突然对于GMM和FA好像又想清楚了一些东西,赶紧记下。
什么是GMM
GMM是Gaussian Mixture Models的缩写,即高斯混合模型。理论上讲,任何的分布都可以用多个高斯模型的和来近似。高斯模型个数越多,逼近也就越准确,就像数学中的级数分解。
高斯混合模型所做的就是这件事,用多个高斯去建模某个分布。当然,在实际操作的时候,高斯的个数不可能是无穷大,在上面的公式中,高斯的个数是M。
什么是Factor Analysis(FA)
科学家们总相信真理是简单的,他们认为复杂的表象背后必有着简洁的定律。世界上有如此缤纷的色彩,而追究这些色彩的来源,则是红绿蓝三种颜色的组合。因子分析(FA)也有着同样的想法,FA认为高维的变量是由更加低维的因子组合得到的。就比如我们现在有一个由24种颜色混合得到的生成色,那这个生成色可以表示为这24种颜色混合比例的24维权重向量,而这个24维向量的每一个颜色又可以由红绿蓝这三维向量的组合来表示的。
最后这个生成色便可以表示为一个关于红绿蓝混合比例的三维向量。
当然我们希望是这样的,可以将一个高维的向量映射维一个更加低维的向量来表示,但最后到底能不能实现又是另外一回事了。
什么是EM算法呢
EM即Expection Maximization,期望最大化。
在EM算法中,提出了有一个被称之为隐变量的东西,一旦这个隐变量清楚了,那么最大化问题就可以很好的解决,下面来看一下在GMM和FA中什么是隐变量。
直观理解GMM的EM算法过程
首先明确一下求解GMM的目标,我们有M个数据,希望建模一个GMM使得这M个数据出现的概率最大(最大似然)。
然后求得关于这个式子最优的GMM参数:
这里既然说的是直观,我就不给详细推导公式了,详细的GMM的EM算法推导可以到这里找到。通过推导发现,最大似然直接求导不好解,必须通过构造某种辅助函数求得辅助函数的最大值才能逐步逼近求解,这个辅助函数$Q(\theta,\hat{\theta})$如下:
但发现辅助函数中有个$\gamma_{m}(n)$参数,但这个参数是从我们得到的数据无法直接观测到的。
$\gamma_{m}(n)$表示的是样本n属于高斯m的概率,为什么会需要这个概率,下面来直观的理解一下。我们先假想一个数据产生的流程,假如这个GMM已经是存在的了,然后我们不断的从这个GMM中去sample数据,sample的过程分为两步,首先,我们根据每个高斯的概率抽取一个单高斯,然后这个用这个单高斯去sample一个数据。最后我们sample了N个数据。
但在实际的去计算这个GMM的时候,我们有的只是数据,也就是说关于这个数据在sample的时候来自哪个高斯是不知道的。但如果知道了这个信息,我们就可以很快的算出GMM的参数。
而样本n所来自的那个高斯m,就是GMM-EM求解问题中的隐变量,$\gamma_{m}(n)$是隐变量的后验概率。
直观理解FA的EM算法过程
FA的公式是这样:
我们想把高维的x映射到z。u代表x的均值,$\epsilon$ 代表x没有被z表达的信息。而且一般我们假设z服从均值为零,方差为1的高斯分布。
在这里我们可以做与GMM里同样的理解,但有所不同的是。这个的隐变量是 $z^{(i)}$,也就是说与GMM不同的是,FA的隐变量是一个连续的值,$x^{(i)}$ 的获取也可以分为两步,首先我们sample一个$z^{(i)}$,这样我们就得到了一个高斯。然后再从这个高斯里sample $x^{(i)}$。与GMM不同的是,在FA中,第二步所得到的高斯具有同样的方差。
所以这样理解,FA的优化过程没什么区别,只是由离散变为了连续。