机器学习笔记——13 独立成分分析(ICA)的原理及利用MLE求解解混矩阵
本文主要介绍ICA的基本原理,介绍PCA与ICA的区别,然后介绍如何从MLE的角度求解出解混阵W(Unmixing Matrix)。
PCA 与 ICA 的区别
独立成分分析ICA,与主成分分析PCA在形式上是比较像的,他们都是在寻找投影方向 u u u,得到新聚合的数据维度 s = u T x s = u^Tx s=uTx。但是,他们针对的目的是不同的,顾名思义,PCA是寻找主要成分,它要求的投影后的维度,在方差上有最好的表现,因为根据信息熵的理论,数据越离散,其携带的信息量越大;而ICA则不同,它想要寻找独立成分。
ICA的基本原理
假设我们拿到一组样本数据,其中 x ( i ) ∈ R n x^{(i)} \in R^{n} x(i)∈Rn,而这些数据是经过线性混合过的,这也是ICA的基本假设。也就是真实的数据源其实是 s ( i ) ∈ R n s^{(i)} \in R^n s(i)∈Rn,然后经过一个混合矩阵(Mixing Matrix)A,得到的 x x x,方程表示为: x = A s x = As x=AsICA试图通过一组样本数据 x x x,然后分析出源数据s,我们记解混矩阵为W,则有 W = A − 1 W = A^{-1} W=A−1。所以问题的根本就在获得 W W W。为了对ICA有一个更为直观的认识,我们可以举一个经典的鸡尾酒聚会例子。在这场聚会中,有n个人同时在打电话,而房间中有n个声音收集器,每一个收集器获得的都是这n个人声音的线性组合,因此问题在于如何从n个收集器收集到的声音信号恢复出每一个讲话的源信息。
解混矩阵W的模糊性
根据我们有的样本数据,对于方程 x = A s x = As x=As,要想确定A,是有很过不确定的。
- A的排列。假设P是一个排列矩阵,那么显然我们无法分辨A和PA;
- A的尺度。假设 α \alpha α是一个实数,则我们也无法分辨 A A A和 α A \alpha A αA;
注:上述两条实际上不影响我们的目的,即分解出独立成分。比如在鸡尾酒聚会中,它们最后影响的是我们无法确定说话人的位置以及音量,但对说话的内容没有影响。 - 假如源信息s服从标准多元正态分布的话,那么x显然也是服从一个多元正态分布,那么对于一个正交矩阵U,我们将没有办法区分 A A A和 A U AU AU。因此,ICA无法处理s服从多元正态分布的情况。
ICA算法
现在的问题是,我们如果估计出W,一旦估计出W,则我们可以利用W恢复出源信息,即 s = W x s = Wx s=Wx我们我们假设源信息经过适当的处理后,均是独立同分布的。一般情况下,我们假设 s j s_j sj的分布函数是 F ( s ) = g ( s ) = e s 1 + e s F(s) = g(s) = \frac{e^s}{1+e^s} F(s)=g(s)=1+es