Deep learning:三十三(ICA模型)


 

    基礎知識:

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

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

   

  它只有一項,也就是數據x經過W線性變換后的系數的1范數(這里的1范數是對向量而言的,此時當x是向量時,Wx也就是個向量了,注意矩陣的1范數和向量的1范數定義和思想不完全相同,具體可以參考前面一篇文章介紹的范數問題Deep learning:二十七(Sparse coding中關於矩陣的范數求導)),這一項也相當於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都是白化操作,即去掉數據維度之間的相關性,且保證特征間的協方差矩陣為單位矩陣。

 

 

  參考資料:

     Deep learning:二十六(Sparse coding簡單理解)

     Deep learning:二十九(Sparse coding練習)

     Independent Component Analysis

     Deep learning:二十七(Sparse coding中關於矩陣的范數求導)

     Deriving gradients using the backpropagation idea

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM