ICA又稱盲源分離(Blind source separation, BSS)
它假設觀察到的隨機信號x服從模型,其中s為未知源信號,其分量相互獨立,A為一未知混合矩陣。
ICA的目的是通過且僅通過觀察x來估計混合矩陣A以及源信號s。
大多數ICA的算法需要進行“數據預處理”(data preprocessing): 先用PCA得到y,再把y的各個分量標准化(即讓各分量除以自身的標准差)得到z。預處理后得到的z滿足下面性質:- z的各個分量不相關;
- z的各個分量的方差都為1。
“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之前,往往會對數據有一個預處理過程,那就是PCA與白化。白化在這里先不提,
PCA本質上來說就是一個降維過程,大大降低ICA的計算量。
總的來說,ICA認為觀測信號是若干個統計獨立的分量的線性組合,ICA要做的是一個解混過程。而PCA是一個信息提取的過程,將原始數據降維,現已成為ICA將數據標准化的預處理步驟。
大部分算法都用兩步來實現ICA:第一步做白化預處理(whitening),讓輸出信號不相關而且同方差。第二步找一個旋轉(就是正交變換)讓輸出信號不只不相關(uncorrelated),進而在統計意義上獨立(statistically independent)。
更進一步,每當我們做回歸(regression),不管是線性回歸還是非線性回歸,噪聲和predictor都是不相關的。但很多情況下,它們卻不是獨立的。這個性質最近十年內在因果關系分析中得到很重要的應用。
其他詳細內容請參考:
https://www.baidu.com/link?url=I5XgnPAgtupzEncN4tet8Ou1xpTvqcWR9XlMAjiO-30-_t-RP0zTUJNiVsHYliLKdvJnhwlzhJq6SXr_pXOpB_&wd=&eqid=f77b202a00025c40000000035b7a6746
https://blog.csdn.net/shenziheng1/article/details/53555969
https://blog.csdn.net/shenziheng1/article/details/53637907
https://blog.csdn.net/sinat_37965706/article/details/71330979