標籤:

ICA-獨立成分分析

ICA獨立成分分析 Independent components analysis

介紹

是一個線性變換。這個變換把數據或信號分離成統計獨立的非高斯的信號源的線性組合。

ICA又稱盲源分離(Blind source separation, BSS),它假設觀察到的隨機信號x服從模型 x = As,其中s為未知源信號,其分量相互獨立,A為一未知混合矩陣。ICA的目的是通過且僅通過觀察x來估計混合矩陣A以及源信號s。

具體實例

ICA的起源可以來源於一個雞尾酒會問題,我們假設三個觀測點x1,x2,x3,放在房間里同時檢測三個人說話,另三個人的原始信號為s1,s2,s3,則求解的過程可以如下圖所示

定義

假設n個隨機變數x1,x2,….xn,由n個隨機變數s1,s2,…sn組成,並且這n個隨機變數是相互獨立的,可以用下面的公示表達:

為了表達的方便,我們可以用向量的形式來表達: x = As 這個只不過是ICA最基本的定義,在很多實際問題中,應該包含了雜訊。但是為了簡化問題,我們這裡忽略了雜訊。因為如果模型中包含噪音,處理起來將會十分困難,而且大多數不包含噪音的模型已經能夠解決很多問題,所以這裡我們就將雜訊先忽略。

ICA限制條件

  • 獨立成分應該是相互之間獨立的。這是ICA成立的基本原則,同時,基本上可以說只需要這個原則我們就可以估計這個模型。
  • 獨立成分必須是非高斯分布的。高斯分布的高階累計量是0,但是高階信息對於ICA的模型的估計卻是十分必要的。

無法判斷任何關於變數x1和x2的方向信息,這就是為什麼混合矩陣A不能被估計出來的原因:

  • 為了簡化,我們假設未知的混合矩陣A是一個方陣。

白化

白化是一種比不相關性要稍微強一些的性質。對一個零均值的隨即向量y進行白化處理,就是讓它的組成成分不相關,並且讓變數的方差相等。也就是說,變數y的協方差矩陣是單位矩陣:

E{yy^T} = 1

峭度

在這我們講述一個利用峭度來進行ICA模型估計的方法,ICA的估計方法很多,這只是最基礎的一個方法。 對於變數y峭度可以由下面的公式定義:

峭度是可正可負的,高斯分布變數的峭度是0,這也是為什麼獨立成分必須是非高斯分布的原因之一。峭度為負的變數分布稱為次高斯分布,峭度為正的變數的分布則為超高斯分布,下圖分別是拉普拉斯分布(超高斯分布)和均勻分布(次高斯分布)

基於峭度的梯度演算法

我們經常利用峭度的絕對值或者平方來進行求解:

我們通過優化這個目標函數來估計ICA模型,z表示白化後的觀察數據x。 實際上,我們是使峭度極大化。我們會從某個方向向量w開始,然後計算在什麼方向峭度的增長最快,我們則將方向向量w向這個方向移動。 峭度絕對值的梯度可以如下計算:

演算法

1) 大多數ICA的演算法需要進行「數據預處理」(data preprocessing):

先用PCA得到y,再把y的各個分量標準化(即讓各分量除以自身的標準差)得到z。預處理後得到的z滿足下面性質:

  • z的各個分量不相關;
  • z的各個分量的方差都為1。

2) FastICA演算法

ICA認為一個信號可以被分解成若干個統計獨立的分量的線性組合,而後者攜帶更多的信息。我們可以證明,只要源信號非高斯,那麼這種分解是唯一的。若源信號為高斯的話,那麼顯然可能有無窮多這樣的分解。

與PCA區別

  • PCA是一種數據降維的方法,但是只對符合高斯分布的樣本點比較有效
  • ICA認為觀測信號是若干個統計獨立的分量的線性組合,ICA要做的是一個解混過程。而PCA是一個信息提取的過程,將原始數據降維,現已成為ICA將數據標準化的預處理步驟。

1) 可以感性上對比下ICA和PCA的區別,

 一方面,PCA是將原始數據降維並提取出不相關的屬性,而ICA是將原始數據降維並提取出相互獨立的屬性。  另一方面,PCA目的是找到這樣一組分量表示,使得重構誤差最小,即最能代表原事物的特徵。ICA的目的是找到這樣一組分量表示,使得每個分量最大化獨立,能夠發現一些隱藏因素。由此可見,ICA的條件比PCA更強些。

2) ICA要求找到最大獨立的方向,各個成分是獨立的;PCA要求找到最大方差的方向,各個成分是正交的。

3) 總的來說,ICA認為觀測信號是若干個統計獨立的分量的線性組合,ICA要做的是一個解混過程。而PCA是一個信息提取的過程,將原始數據降維,現已成為ICA將數據標準化的預處理步驟。


推薦閱讀:

學點演算法之字元串的亂序檢查
九章演算法 | Google、Airbnb、Facebook面試題 : 外星人的字典(Alien Dictionary)
演算法:3. Longest Substring Without Repeating Characters
DL應用:query生成和query推薦

TAG:演算法 |