fastica和pca区别_ICA与PCA的区别
昨天晚上,海总讲了ICA,导师问了大家这么一个问题:
ICA和PCA的区别是什么?
后来我们思来想去,七嘴八舌地讨论了一下,师妹提到PCA是以贡献度的不同进行区分的,鑫总提到ICA和PCA的目标是不一致的。
这的确是一个值得讨论的问题:一开头,海冬提到ICA处理的数据都不是高斯的。这是有道理的,因为如果的高斯的,那么它的效果的确不好。
我也答不上什么,对于PCA的概念我又忘记了。
看了许多网上的回答和教程,我发现PCA实际上是最小化数据之间的方差,ICA最小化高阶统计比如四阶统计量(或者峰度),因此能最小化输出量的互信息。
PCA能提取出互相正交的高能量的信号,然而ICA确定非高斯信号的独立成分。
ICA模型等式是欠确定的系统,一个人不能够确定独立成分的方差。
一个人不能确定主导成分的排序。
今天在知乎里看到一个答案,觉得回答的非常完整:
不管是PCA还是ICA,都不需要你对源信号的分布做具体的假设;如果观察到的信号为高斯,那么源信号也为高斯,此时PCA和ICA(盲源分离)等价。
ICA认为一个信号可以被分解成若干个统计独立的分量的线性组合,而后者携带更多的信息。我们可以证明,只要源信号非高斯,那么这种分解是唯一的。若源信号为高斯的话,那么显然可能有无穷多这样的分解。
pca为最大化方差,使得残余方差最小,或信息损失最小(方差即信息)。
ica为最大化独立性,使联合概率与各分量概率乘积最接近。
不管是PCA还是ICA,都不需要你对源信号的分布做具体的假设
---------不对吧,PCA对分布没有假设,ICA则要求分布独立(同时不为高斯分布),两个根本不是一回事。
如果观察到的信号为高斯,那么源信号也为高斯,此时PCA和ICA等价
------ 不对吧。如果源信号有大于一个是高斯分布,ICA没有解。PCA则和分布无关。
还有一种说法:
ICA认为观测信号是若干个统计独立的分量的线性组合,ICA要做的是一个解混过程。
而PCA是一个信息提取的过程,将原始数据降维,现已成为ICA将数据标准化的预处理步骤。
书上的说法是:
主成分分析假设源信号间彼此非相关,独立成分分析假设源信号间彼此独立。
主成分分析认为主元之间彼此正交,样本呈高斯分布;独立成分分析则不要求样本呈高斯分布。
暂时只能这么死记硬背乐。
非高斯情况下,pca的主元不是最优主元.png
Note: PCA and the SVD are the same thing and it's to just use the SVD of the data SVD are and more than PCA.
Note2: In some cases NMF (non ) can work as ICA. In NMF the basis you want to find is the one that helps you the data as a over the basis . This means the basis will have that parts of your data, if your data then the NMF basis parts of that will help you any of your in the .