K-L 變換,也就是PCA,得到的是MSE下的最優結構,但有時對於分類效果並不是很好。所以我們引入了ICA。如果是PCA是使二階積累量為0的話,那麼ICA就是前四階積累量都是0.那ICA是什麼意思呢?
類別資訊的源頭是一組獨立的分量,但是類別資訊表現出來的是一組互相相關的分量,當然這組分量的個數應該大於獨立分量的個數。我們的任務就是去除這種互相關;使分量由相關的一組,變為無關的一組,也就是獨立成分。
那具體該怎麼做呢?我們一下有這麼三個方法:
(一)累積量法
k1(z) = E[zi] ;
k2(z) = E[zizj] ;
k3(z) = E[zizizk] ;
k4(z) = E[zizjzkzl] - E[zizj] E[zkzl] - E[zizk] E[zlzj] - E[zizl] E[zkzj];
對於一般的隨即變數,PDF(機率密度函數)都是對稱分布的。所以k1和k3為0.那麼,要使k2為0,我們舊的使用主成分分析就好,也就是PCA。所以第一步就是先做PCA,求的PCA的線性變換矩陣。y = Ax第二步,我們要做的是進行k4的最小化, 根據數學可知,k4的最小化,也就是求一個正交矩陣,使下面的式子最大。(交叉積累量最小也就是自積累量最大。)max Obj(B) = SUM(k4(yi)2) 之後結合上述資訊,我們有:x = (BA)y. ICA變換矩陣 W = BA。(2)最大熵法你可能會問,我們要降低特徵的維數,這是壓縮,為什麼還要最大化熵呢?壓縮的話不是熵越小越好嗎?的確,熵越小表示壓縮效果越好,但那是無損壓縮;對於本身我們已經確定下壓縮能力的有損壓縮模型而言,最大的接近原有的熵就意味著最大的保留了資訊。所以我們用最大化熵的辦法。其中:z = f(Wy + b); f 為Sigmoid函數。(公式比較複雜,我就不寫了)結果還是用迭代最佳化的演算法:dW = (WT)-1 + (1 - 2z)yTdb = 1 - 2z(3)最小互資訊法原理和(2)比較像,這裡從略。