獨立成分分析 Contents [hide] 1概述 2標準正交ICA 3拓撲ICA 4中英文對照 5中文譯者 概述
試著回想一下,在介紹 稀疏編碼演算法中我們想為樣本資料學習得到一個超完備基(over-complete basis)。具體來說,這意味著用稀疏編碼學習得到的基向量之間不一定線性獨立。儘管在某些情況下這已經滿足需要,但有時我們仍然希望得到的是一組線性獨立基。獨立成分分析演算法(ICA)正實現了這一點。而且,在 ICA 中,我們希望學習到的基不僅要線性獨立,而且還是一組標準正交基。(一組標準正交基 需要滿足條件:(如果)或者(如果i = j))
與稀疏編碼演算法類似,獨立成分分析也有一個簡單的數學形式。給定資料 x,我們希望學習得到一組基向量――以列向量形式構成的矩陣 W,其滿足以下特點:首先,與稀疏編碼一樣,特徵是稀疏的;其次,基是標準正交的(注意,在稀疏編碼中,矩陣 A 用於將特徵 s 映射到未經處理資料,而在獨立成分分析中,矩陣W 工作的方向相反,是將未經處理資料 x 映射到特徵)。這樣我們得到以下目標函數:
由於 Wx 實際上是描述樣本資料的特徵,這個目標函數等價於在稀疏編碼中特徵 s 的稀疏懲罰項。加入標準正交性約束後,獨立成分分析相當於求解如下最佳化問題:
與深度學習中的通常情況一樣,這個問題沒有簡單的解析解,而且更糟糕的是,由於標準正交性約束,使得用梯度下降方法來求解該問題變得更加困難――每次梯度下降迭代之後,必須將新的基映射回正交基空間中(以此保證正交性約束)。
實踐中,在最佳化目標函數的同時施加正交性約束(如下一節 正交ICA中講到的)是可行的,但是速度慢。在標準正交基是不可或缺的情況下,標準正交ICA的使用會受到一些限制。(哪些情況見:TODO )
標準正交ICA
標準正交ICA的目標函數是:
通過觀察可知,約束WWT = I隱含著另外兩個約束:
第一,因為要學習到一組標準正交基,所以基向量的個數必須小於輸入資料的維度。具體來說,這意味著不能像通常在 稀疏編碼中所做的那樣來學習得到超完備基(over-complete bases)。
第二,資料必須經過無正則 ZCA白化(也即,ε設為0)。(為什麼必須這樣做。見TODO)
因此,在最佳化標準正交ICA目標函數之前,必須確保資料被白化過,並且學習的是一組不完備基(under-complete basis)。
然後,為了最佳化目標函數,我們可以使用梯度下降法,在梯度下降的每一步中增加投影步驟,以滿足標準正交約束。過程如下:
重複以下步驟直到完成: , 其中U是滿足WWT = I的矩陣空間
在實際中,學習速率α是可變的,使用一個線搜尋演算法來加速梯度.投影步驟通過設定來完成,這實際上可以看成就是ZCA白化(TODO:解釋為什麼這就象ZCA白化).
拓撲ICA
與 稀疏編碼演算法類似,加上一個拓撲代價項,獨立成分分析法可以修改成具有拓撲性質的演算法。
中英文對照 獨立成分分析 Independent Component Analysis 稀疏編碼演算法 Sparse coding 超完備基 Over-complete basis 標準正交基 Orthonormal basis 稀疏懲罰項 Sparsity penalty 梯度下降法 Gradient descent 白化 Whitened 不完備基 Under-complete basis 線搜尋演算法 Line-search algorithm
拓撲代價項 Topographic cost term from: http://ufldl.stanford.edu/wiki/index.php/%E7%8B%AC%E7%AB%8B%E6%88%90%E5%88%86%E5%88%86%E6%9E%90