• 沒有找到結果。

第二章 獨立成分分析法

2.3 FastICA

FastICA 則是以訊號的分佈狀態作為獨立性的量測,通常語音訊號都會有多數的沉 默片段,所以在統計直方圖(histogram)上大部分的值都會在 0 附近,屬於超高斯分布

(Super-Gaussian Distribution)(圖 2-2),經過混和之後,根據中央極限定裡(Central Limit Theorem),當資料數越來越多時,混和的訊號會越趨近於高斯分布(Gaussian

Distribution)。(圖 3-3)顯示 16 個語音訊號的統計直方圖,可以看出混和成 2 個訊號後,

混和訊號會傾向高斯分布(圖 2-3)。因此 FastICA 的目的便是從混和訊號中分離出 Non-Gaussian 的訊號,也就是用常態性(normality)作為獨立性量測的依據。

圖 2-2 16 個訊號源的統計直方圖

圖 2-3 兩個混和訊號的統計直方圖

FastICA 是利用峰值(Kurtosis)來計算 normality,Kurtosis 為四階動差,對不同的

x=x-E[x]

(2-5) 白化(whitening)的目的是使訊號變成 unit-variance,也就是 E[xxT]=1,代表 X 的 成分是非相關的,其作法如下:

首先對 x 的共變異數矩陣(covariance matrix)作特徵值分解(eigenvalue

decomposition)(式 2-6),分解成由特徵值(eigenvalue)所組成的對角矩陣 D,以及特 徵向量(eigenvector)所組成的矩陣 V,同時定義白化矩陣 U 如(式 2-7)。

(2-6)

(2-7)

如此一來白化訊號(whitening signal) z 就是白化矩陣 U 與原訊號 x 相乘(式 2-8),

而 z 的共變異數矩陣就會變成單位矩陣(式 2-9)。

(2-8)

(2-9)

(a) 訊號源 s1與 s2的散佈圖

(c) s2的統計直方圖 (b) s1的統計直方圖

圖 2-5 訊號源的散佈圖及統計直方圖

訊號源經過混和與 FastICA 處理後的變化如(圖 2-5)~(圖 2-6)所示,(圖 2-5(a))

為訊號源的散佈圖(scatter plot),橫軸為音源訊號 s1的值,縱軸為音源訊號 s2的值,當 中的點座標為每個時間點 s1與 s2的值,也就是(s1(t), s2(t)),因為訊號源為超高斯分佈,

聚集在 0 附近的點很多,所以兩個訊號的分佈圖會呈現一個十字的狀態;(圖 2-5(b))為 (a)圖對橫軸投影後的統計分佈圖,也就是音源 1 的統計直方圖,(圖 2-5(c))為(a)圖對 縱軸投影後的統計分佈圖,也就是音源 2 的統計直方圖。

訊號源經過混和後的訊號散佈圖如(圖 2-6(a)),(b)圖為經過集中變數後的結果,

在此因為原本的混和訊號就是 zero-mean,所以與(a)圖無異。(c)圖為經過白化的訊號,

可看出 z1與 z2為非相關的,而分離矩陣則是進一步將非相關的訊號轉成獨立的訊號(d),

由(c)到(d)圖可看出分離矩陣其實就是一個旋轉矩陣。

(b) 集中變數 (a) 混和訊號

(d) 分離矩陣 (c) 白色化

圖 2-6 訊號經過 FastICA 處理後的變化

2.3.2 解分離矩陣

前面提到 FastICA 是以最大化 Kurtosis 作為演算法目標,對 zero-mean、unit-variance 的訊號而言,Kurtosis 的公式可簡化為(式 2-10)。

假設分離矩陣為W,當中的每個行向量 wi可以解出一個訊號源,我們希望可以最 大化 的 kurtosis(式 2-11)。因為 W 實為一個旋轉矩陣,我們假設 wi 的 norm 皆 為 1。

(2-10)

(2-11)

(2-12)

對(式 2-11)取 gradient 會得到(式 2-12),因為||w||=||z||=1, , 根據 fixed-point 演算法,我們可以得到解 的疊代公式如(式 2-13)。

(2-13)

FastICA 的整體計算流程如下:

(1) 集中變數,使訊號變成 zero-mean。

(2) 白化處理,使訊號變成 un-correlated。

(3) 隨機選擇分離矩陣 W 的初始條件,設定 i=1,k=1。

(4) 計算

(5) 使 wi變成 unit-norm,

(6) 若 ,表示 wi尚未收斂,繼續設定 k=k+1,回到(4) 再次疊代。

相關文件