Stanford UFLDL教程 独立成分分析
獨立成分分析
Contents[hide]
|
概述
試著回想一下,在介紹 稀疏編碼算法中我們想為樣本數據學習得到一個超完備基(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)。
然后,為了優化目標函數,我們可以使用梯度下降法,在梯度下降的每一步中增加投影步驟,以滿足標準正交約束。過程如下:
重復以下步驟直到完成:
在實際中,學習速率α是可變的,使用一個線搜索算法來加速梯度.投影步驟通過設置來完成,這實際上可以看成就是ZCA白化(TODO:解釋為什么這就象ZCA白化).
拓撲ICA
與 稀疏編碼算法類似,加上一個拓撲代價項,獨立成分分析法可以修改成具有拓撲性質的算法。
中英文對照
拓撲代價項 Topographic cost term
總結
以上是生活随笔為你收集整理的Stanford UFLDL教程 独立成分分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Stanford UFLDL教程 稀疏编
- 下一篇: 人工智能:第一章 绪 论