首先回答題主的問題:不論是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都是要找到一組基,這組基張成一個特徵空間,數據的處理就都須要映射到新空間中去。