【正文】
里,我們介紹基于 負(fù)熵最大 的 FastICA算法。 獨(dú)立分量分析( ICA)的過(guò)程如下圖所示:在信源中各分量相互獨(dú)立的假設(shè)下,由觀察值 X通過(guò)解混系統(tǒng)把他們分離開來(lái),使輸出逼近。 等于 球化白化原因: 一般情況下,所獲得的數(shù)據(jù)都具有相關(guān)性,所以通常都要求對(duì)數(shù)據(jù)進(jìn)行初步的白化或球化處理,因?yàn)榘谆幚砜扇コ饔^測(cè)信號(hào)之間的相關(guān)性,從而簡(jiǎn)化了后續(xù)獨(dú)立分量的提取過(guò)程,而且,通常情況下,數(shù)據(jù)進(jìn)行白化處理與不對(duì)數(shù)據(jù)進(jìn)行白化處理相比,算法的收斂性較好。 白化 白化操作: ? ?? ?g + W 0TE Z W Z ? ?? ?? ?2 2 1TE W Z W?? fastICA實(shí)際上是一種尋找 wTz( Y= wTz )的非高斯最大的不動(dòng)點(diǎn)迭代方案。為了推導(dǎo)近似牛頓法,首先 wTz的近似負(fù)熵的極大值通常在E{g(wTz) }極值點(diǎn)處取得。根據(jù)拉格朗日條件, E{g(wTz) }在約束 條件下的極值,是在那些使得下面拉格朗日乘子式的梯度為零的點(diǎn)處取得: 正交系統(tǒng) ? ?? ?2 2 1TE W Z W??為拉格朗日乘子 現(xiàn)在我們?cè)噲D采用牛頓法來(lái)求解方程。用 F表示上方程的左部分,求的其梯度為: 為了簡(jiǎn)化矩陣求逆的過(guò)程需要對(duì)上式第一項(xiàng)進(jìn)行近似。因?yàn)閿?shù)據(jù)已經(jīng)是球化過(guò)的,似乎 可以作為一個(gè)合理的近似。這是梯度變化成了對(duì)角矩陣,可以簡(jiǎn)單的求逆,這樣我們的到了近似的牛頓迭代算法: ? ?? ? ? ? ? ?? ? ? ?? ?g g = gT T T T TE ZZ W Z E ZZ E W Z E W Z I?’ ’ ’? ?? ? ? ?? ?[ g ] / [ g ]TTW W E Z W Z W E W Z??? ? ? ?’在上式兩邊同時(shí)乘以 進(jìn)一步簡(jiǎn)化得: ? ?? ? ? ?? ?ggTTW E Z W Z E W Z W?? ’每次迭代完成后對(duì) W進(jìn)行標(biāo)準(zhǔn)化。 以上就是 fastICA算法中不動(dòng)點(diǎn)迭代的基本公式 代碼實(shí)現(xiàn) 算法結(jié)果