独立成分分析 ( ICA ) 与主成分分析 ( PCA ) 的区别
1.前言
參考資料:https://www.zhihu.com/question/28845451
書上寫的是:
1. 主成分分析假設源信號間彼此非相關,獨立成分分析假設源信號間彼此獨立。2. 主成分分析認為主元之間彼此正交,樣本呈高斯分布;獨立成分分析則不要求樣本呈高斯分布。
在利用最大化信息熵的方法進行獨立成分分析的時候,需要為源信號假定一個概率密度分布函數g',進而找出使得g(Y)=g(Wx)的信息熵最大的變換W,即有Y=s。
我的問題是,
1. 這個概率密度分布函數怎么假定?在實際信號處理中怎么給出?
2. 如果我觀測到信號呈高斯分布,取g'為高斯分布,那么ICA和PCA得到的結果會相同嗎?
2.解析
不管是PCA還是ICA,都不需要對源信號的分布做具體的假設;如果觀察到的信號為高斯,那么源信號也為高斯,此時PCA和ICA等價。下面稍作展開。
假設觀察到的信號是n維隨機變量主成分分析(PCA)和獨立成分分析(ICA)的目的都是找到一個方向,即一個n維向量使得線性組合的某種特征最大化。
2.1主成分分析 PCA
PCA認為一個隨機信號最有用的信息體包含在方差里。為此我們需要找到一個方向w1,使得隨機信號x在該方向上的投影w1(T)X的方差最大化。接下來,我們在與w1正交的空間里到方向w2,使得w2(T)X的方差最大,以此類推直到找到所有的n個方向wn. 用這種方法我們最終可以得到一列不相關的隨機變量.
如果用矩陣的形式,記W=(w1,w2,w3,...,wn),那么本質上PCA把原隨機信號x變換成了y=wX;其中y滿足下面的性質:
y的各分量不相關;
y1,y2,...,yn的方差遞減;
特別地,當原隨機信號x為高斯隨機向量的時候,得到的y仍為高斯隨機向量,此時它的各個分量不僅僅是線性無關的,它們還是獨立的。
通過PCA,我們可以得到一列不相關的隨機變量w1X,w2X,w3X,...,wnX;至于這些隨機變量是不是真的有意義,那必須根據具體情況具體分析。最常見的例子是,如果x的各分量的單位(量綱)不同,那么一般不能直接套用PCA。比如,若x的幾個分量分別代表某國GDP, 人口,失業率,政府清廉指數,這些分量的單位全都不同,而且可以自行隨意選取:GDP的單位可以是美元或者日元;人口單位可以是人或者千人或者百萬人;失業率可以是百分比或者千分比,等等。對同一個對象(如GDP)選用不同的單位將會改變其數值,從而改變PCA的結果;而依賴“單位選擇”的結果顯然是沒有意義的。
2.2 獨立成分分析
ICA又稱盲源分離(Blind source separation, BSS),它假設觀察到的隨機信號x服從模型x=As,其中s為未知源信號,其分量相互獨立,A為未知混合矩陣。ICA的目的是通過且僅通過觀察x來估計混合矩陣A以及源信號s。
大多數ICA的算法需要進行“數據預處理”(data preprocessing):先用PCA得到y,再把y的各個分量標準化(即讓各分量除以自身的標準差)得到z。預處理后得到的z滿足下面性質:
z的各個分量不相關;
z的各個分量的方差都為1。
有許多不同的ICA算法可以通過z把A和s估計出來。以著名的FastICA算法為例,該算法尋找方向使得隨機變量的某種“非高斯性”(non-Gaussianity)的度量最大化。一種常用的非高斯性的度量是四階矩E[(WTX)4]。類似PCA的流程,我們首先找w1使得E[(w1TX)4]最大;然后在與w1正交的空間里找w2,使得E[(wTX)4]最大,以此類推直到找到所有的w1,w2,w3,...,wn. 可以證明,用這種方法得到的是相互獨立的w1Tz,w2Tz,w3Tz,...,wnTz。
ICA認為一個信號可以被分解成若干個統計獨立的分量的線性組合,而后者攜帶更多的信息。我們可以證明,只要源信號非高斯,那么這種分解是唯一的。若源信號為高斯的話,那么顯然可能有無窮多這樣的分解。
=====================================一些技術細節=====================================
實際上PCA等價于求隨機信號x的協方差矩陣的特征值分解(eigenvalue decomposition, EVD)或者奇異值分解(singular value decomposition, EVD)。比如,求的過程可以寫成注意其中上式中包含歐氏范數為1的約束條件,這是因為如果沒有這個約束條件那么右邊方差可以無限大,這個問題因而也就變得沒有意義了。現假設x的協方差矩陣C為已知,那么上式可以化為不難看出這個問題的解為對應于矩陣C的最大的特征值的那一個特征向量。類似的,求第n個方向需要解這個問題的解為對應于矩陣C的第k大的特征值的那一個特征向量。
另外關于ICA,我們有下面的“ICA基本定理”:
定理(Pierre Comon, 1994)假設隨機信號z服從模型z=Bs,其中s的分量相互獨立,且其中至多可以有一個為高斯;B為滿秩方陣。那么若z的分量相互獨立當且僅當B=PD,其中P為排列矩陣(permutation matrix),D為對角矩陣。
?
這個定理告訴我們,對于原信號x做線性變換得到的新隨機向量,若z的分量相互獨立,那么z的各個分量zi;一定對應于某個源信號分量sj乘以一個系數。到這里,我們可以看到ICA的解具有內在的不確定性(inherent indeterminacy)。實際上,因為,即具備相同統計特征的x可能來自兩個不同的系統,這意味著單從觀察x我們不可能知道它來自于哪一個,從而我們就不可能推斷出源信號s的強度(方差)。為了在技術上消除這種不確定性,人們干脆約定源信號s的方差為1。有了這個約定,再通過數據預處理的方法,我們可以把原混合矩陣A化為一個自由度更低的正交矩陣.
?
3.模擬實驗
不再贅述推導過程與理論分析。
可能是沒有明白獨立成分分析和主成成分分析的概念與用法,我補充一個對于一般雞尾酒會(即盲源分離)問題的處理procedure,直觀理解下它們的區別。對于一組3個模擬信號,如正弦、余弦、隨機信號
?
經過隨機混合,由6個麥克風錄制下來,則觀測信號為:
我們希望將他們分解開,這時就該ICA出場了。但在ICA之前,往往會對數據有一個預處理過程,那就是PCA與白化。白化在這里先不提,PCA本質上來說就是一個降維過程,大大降低ICA的計算量。PCA,白化后的結果如下圖所示。可以看到,原先的6路信號減少為3路,ICA僅需要這3路混合信號即可還原源信號。 下面,ICA經過多步迭代尋優,就會按照信號之間獨立最大的假設,將信號解混輸出。 總的來說,ICA認為觀測信號是若干個統計獨立的分量的線性組合,ICA要做的是一個解混過程。而PCA是一個信息提取的過程,將原始數據降維,現已成為ICA將數據標準化的預處理步驟。
總結
以上是生活随笔為你收集整理的独立成分分析 ( ICA ) 与主成分分析 ( PCA ) 的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Facebook今年曾多次升级其安全和隐
- 下一篇: 你今天volatile了吗?--慎重使用