iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 19
1
Big Data

我的資料科學之路系列 第 23

[Day 23] Dimensional Reduction -- ICA

跟前面的PCA有點像,PCA是找到互相垂直而variance最大的幾個維度,找到的其實是互相不相關的維度,而ICA的方法是找到互相獨立的維度。

Independent component analysis

這是一個廣泛被用於聲音辨識的機器學習演算法,最著名的問題是雞尾酒派對問題,在雞尾酒派對上,有DJ的音樂、有歡笑聲、有交談聲...等各種聲音,如果我在n個角落放上麥克風並且錄下這些聲音,有沒有辦法從這n比資料中分離出互相獨立的聲音源?

如同前面的PCA一樣是個轉換x = W*y,y是我們想分離出來的聲音源,但是他經過某些轉換W導致我們錄到到聲音是x,W就被稱為mixing matrix。
我們希望找到一個unmixing matrix W'可以還原不同獨立的聲音源,y' = W'^T*x

方法

這邊的方法不唯一,有很多不同實作的方法都有不同的效果。
在各自獨立的聲音源部份,你可以把聲音看成一個機率分佈的函數,每個聲音有他各自獨特的分佈函數,但是可惜的是我們無法處理常態分佈的聲音源,所以要假設每個資料的分佈都是非常態分佈的。

跟PCA不同的是,PCA計算中會去考慮variance,並將其分離出來。對機率分佈函數來說,variance只是他的一個特質而已,其實他可以由momentum generating function計算出來,不同的機率分佈函數就有不同的momentum generating function,不同的momentum generating function也可以還原成不同的機率分佈函數,你可以把他看成像識別證一樣。

期望值是機率分佈函數的一階moment,變異數的計算當中包含了二階的moment,其中三階moment跟機率分佈函數的skewness (偏態)有關,ICA會用到的是四階的moment,跟kurtosis (峰度)有關。

FastICA的演算法會用到的是最大化kurtosis,而常態分佈的kurtosis則是0,所以這樣常態分佈就會自動被排除。或是有另一個方向是利用Kullack-Leibler divergence來排除常態分佈。

接下來我就沒有深入了解了,所以先到這邊吧!


上一篇
[Day 22] Dimensional Reduction -- PCA
下一篇
[Day 24] Dimensional Reduction -- NMF
系列文
我的資料科學之路34

1 則留言

1
yuanshang
iT邦新手 4 級 ‧ 2017-01-12 18:11:48

妙啊! 想不到從前學的 MGF 的四階 (kurtosis) 會用在這兒,感謝

我要留言

立即登入留言