Deep learning--------------Independent Component Analysis(ICA)

在sparse coding模型中,學習到的基是超完備集的,也就是說基集中基的個數比數據的維數還要大,那麼對一個數據而言,將其分解爲基的線性組合時,這些基之間本身就是線性相關的。如果我們想要得到線性無關的基集,那麼基集中元素的個數必須小於或等於樣本的維數,本節所講的ICA(Independent Component Analysis,獨立成分分析)模型就可以完成這一要求,它學習到的基之間不僅保證線性無關,還保證了相互正交。本節主要參考的資料見:Independent Component Analysis

  ICA模型中的目標函數非常簡單,如下所示:

   

  它只有一項,也就是數據x經過W線性變換後的係數的1範數(這裏的1範數是對向量而言的,此時當x是向量時,Wx也就是個向量了,注意矩陣的1範數和向量的1範數定義和思想不完全相同,這一項也相當於sparse coding中對特徵的稀疏性懲罰項。於係數性不同的是,這裏的基W是直接將輸入數據映射爲特徵值,而在sparse coding中的W是將特徵係數映射重構出原始數據。

  當對基矩陣W加入正交化約束後,其表達式變爲:

   

  所以針對上面的目標函數和約束條件,如果要用梯度下降的方法去優化權值的話,則需要執行下面2個步驟:

    

  首先給定的學習率alpha是可以變化的(可以使用線性搜索算法來加速梯度下降過程,具體的每研究過,不瞭解),而Wx的1範數關於W的導數可以利用BP算法思想將其轉換成一個神經網絡模型求得,具體可以參考文章Deriving gradients using the backpropagation idea。此時的目標函數爲:

  

  最後的導數結果爲:

   

  另外每次用梯度下降法迭代權值W後,需要對該W進行正交化約束,即上面的步驟2。而用具體的數學表達式來表示其更新方式描述爲:

   

  由於權值矩陣爲正交矩陣,就意味着:

  1. 矩陣W中基的個數比輸入數據的維數要低。這個可以這麼理解:因爲權值矩陣W是正交的,當然也就是線性無關的了,而線性相關的基的個數不可能大於輸入數據的維數。
  2. 在使用ICA模型時,對輸入數據進行ZCA白化時,需要將分母參數eplison設置爲0,原因是上面W權值正交化更新公式已經代表了ZCA Whitening。這是網頁教程中所講的,真心沒看懂。

  另外,PCA Whitening和ZCA Whitening都是白化操作,即去掉數據維度之間的相關性,且保證特徵間的協方差矩陣爲單位矩陣。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章