首先回答题主的问题:不论是PCA仍是ICA,都不须要你对源信号的分布作具体的假设;若是观察到的信号为高斯,那么源信号也为高斯,此时PCA和ICA等价。下面稍做展开。算法
====答案的分割线====机器学习
假设你观察到的信号是n维随机变量主成分分析(PCA)和独立成分分析(ICA)的目的都是找到一个方向,即一个n维向量
使得线性组合
的某种特征最大化。ide
主成分分析(PCA)
【图片来自wikipedia】 学习
若是用矩阵的形式,记
特别地,当原随机信号x为高斯随机向量的时候,获得的y仍为高斯随机向量,此时它的各个份量不只仅是线性无关的,它们仍是独立的。spa
经过PCA,咱们能够获得一列不相关的随机变量至于这些随机变量是否是真的有意义,那必须根据具体状况具体分析。最多见的例子是,若是x的各份量的单位(量纲)不一样,那么通常不能直接套用PCA。好比,若x的几个份量分别表明某国GDP, 人口,失业率,政府清廉指数,这些份量的单位全都不一样,并且能够自行随意选取:GDP的单位能够是美圆或者日元;人口单位能够是人或者千人或者百万人;失业率能够是百分比或者千分比,等等。对同一个对象(如GDP)选用不一样的单位将会改变其数值,从而改变PCA的结果;而依赖“单位选择”的结果显然是没有意义的。.net
独立成分分析(ICA)3d
ICA又称盲源分离(Blind source separation, BSS),它假设观察到的随机信号x服从模型,其中s为未知源信号,其份量相互独立,A为一未知混合矩阵。ICA的目的是经过且仅经过观察x来估计混合矩阵A以及源信号s。对象
有许多不一样的ICA算法能够经过z把A和s估计出来。以著名的FastICA算法为例,该算法寻找方向使得随机变量
的某种“非高斯性”(non-Gaussianity)的度量最大化。一种经常使用的非高斯性的度量是四阶矩
。相似PCA的流程,咱们首先找
使得
最大;而后在与
正交的空间里找
,使得
最大,以此类推直到找到全部的
. 能够证实,用这种方法获得的
是相互独立的。blog
ICA认为一个信号能够被分解成若干个统计独立的份量的线性组合,然后者携带更多的信息。咱们能够证实,只要源信号非高斯,那么这种分解是惟一的。若源信号为高斯的话,那么显然可能有无穷多这样的分解。图片
====一些技术细节====
实际上PCA等价于求随机信号x的协方差矩阵的特征值分解(eigenvalue decomposition, EVD)或者奇异值分解(singular value decomposition, SVD)。好比,求的过程能够写成
注意其中上式中包含欧氏范数为1的约束条件,这是由于若是没有这个约束条件那么右边方差能够无限大,这个问题于是也就变得没有意义了。现假设x的协方差矩阵C为已知,那么上式能够化为
不难看出这个问题的解为对应于矩阵C的最大的特征值
的那一个特征向量。
相似的,求第n个方向须要解
这个问题的解为对应于矩阵C的第k大的特征值
的那一个特征向量。
另外关于ICA,咱们有下面的“ICA基本定理”:
定理(Pierre Comon, 1994)假设随机信号z服从模型,其中s的份量相互独立,且其中至多能够有一个为高斯;B为满秩方阵。那么若z的份量相互独立当且仅当B=PD,其中P为排列矩阵(permutation matrix),D为对角矩阵。
这个定理告诉咱们,对于原信号x作线性变换获得的新随机向量,若z的份量相互独立,那么z的各个份量
必定对应于某个源信号份量
乘以一个系数。到这里,咱们能够看到ICA的解具备内在的不肯定性(inherent indeterminacy)。实际上,由于
,即具有相同统计特征的x可能来自两个不一样的系统,这意味着单从观察x咱们不可能知道它来自于哪个,从而咱们就不可能推断出源信号s的强度(方差)。为了在技术上消除这种不肯定性,人们干脆约定源信号s的方差为1。有了这个约定,再经过数据预处理的方法,咱们能够把原混合矩阵A化为一个自由度更低的正交矩阵:
总的来讲,ICA认为观测信号是若干个统计独立的份量的线性组合,ICA要作的是一个解混过程。
而PCA是一个信息提取的过程,将原始数据降维,现已成为ICA将数据标准化的预处理步骤。
1、PCA和ICA的用途彻底不一样。若是只在乎数据的能量或方差、假设噪声或不感兴趣的信号都比较微弱,那么用PCA就能把主要信号留下来。在某种意义上,ICA更智能——它不在乎信号的能量或方差,只看独立性。因此给定的待分析的混合信号经任意的线性变换都不会影响ICA的输出结果,但会严重影响PCA的结果。
2、若多于一个原始独立信号是正态的,那么ICA的结果不惟一;下面给个直觉。若数据在两个正交方向方差相同(好比协方差是isotropic的),PCA结果不惟一。那么你能够看到,无论怎样旋转,输出的两个信号(在横坐标以及纵坐标上的投影)都是独立的。
非高斯分布下状况就不一样了。在下图中,原始独立的信号都是超高斯的,能够看到白化预处理后的输出虽然不相关,但并不独立:这样就直觉上了解了为何ICA须要假设原始独立信号的非高斯分布以后才有意义。
3、ICA只是让输出信号尽可能独立,实际应用中因种种因素,好比噪声影响、非线性因素、太多源信号的影响等等,输出每每不是彻底独立。这时不少状况下ICA的输出仍是包含了主要的独立的成分,是有意义的。
4、总的来讲,不相关是很是一种弱的独立性(线性独立性),通常必须配合别的性质使用才能得出惟一的结果:在PCA里就配合了能量或方差最大这个性质。而通常状况下独立性比不相关强了不少,在必定条件下,强到了足以把数据的产生过程恢复出来的地步。
更进一步,每当咱们作回归(regression),不论是线性回归仍是非线性回归,噪声和predictor都是不相关的。但不少状况下,它们却不是独立的(!)。这个性质最近十年内在因果关系分析中获得很重要的应用。ICA是找出构成信号的相互独立部分(不须要正交),对应高阶统计量分析。ICA理论认为用来观测的混合数据阵X是由独立元S通过A线性加权得到。ICA理论的目标就是经过X求得一个分离矩阵W,使得W做用在X上所得到的信号Y是独立源S的最优逼近,该关系能够经过该式表示:Y = WX = WAS , A = inv(W).
ICA相比与PCA更能刻画变量的随机统计特性,且能抑制高斯噪声。从线性代数的角度去理解,PCA和ICA都是要找到一组基,这组基张成一个特征空间,数据的处理就都须要映射到新空间中去。