1. 程式人生 > >再談雅克比矩陣---在feature learning中的作用

再談雅克比矩陣---在feature learning中的作用

     上次談了雅克比矩陣以及雅克比行列式,這次我們繼續討論。既然是機器學習下面來談論,於是就要結合著機器學習的背景來談論了。

     這裡涉及到的是無監督學習下的特徵學習的問題,主要是參考了文章:Contractive Auto-Encoders: Explicit Invariance During Feature Extraction。這個篇文章對於auto encoder進行了改進,提出了對原有的auto encoder或者改進的正則化的auto-encoder的目標函式:

將等號右邊的正則項(用來懲罰係數用的,防止過擬合,以及涉及到奧卡姆剃刀原理,其實我也只是懂一點),換成了F範數下的雅克比矩陣的形式,得到下面的公式:

,懲罰項的形式為這個就是F 範數下的雅克比矩陣。

很抱歉直接上公式,現在開始解釋一下這些引數的意思。在這裡,h=f(x) 是編碼函式,y=g(h) 是解碼函式,都是採用的sigma函式:


x是輸入特徵,是需要編碼的特徵。W是線性轉換矩陣,b是偏置向量。L是損失函式,用來評價經過編碼之後再經過解碼之後得到的輸出與原來的輸入之間的差異,一般採用誤差平方和的形式,於是現在我們大體上了解了第一個公式(公式5)的意思了。

介紹完背景之後,考慮我們為什麼引入雅克比矩陣呢?在文章中作者說了通過引入雅克比矩陣的F 範數來促使學到的特徵具有區域性不變性。Auto-encoder最初是用來做資料降維的,但是在這裡做的是一個類似資料升維的效果。我們將原始的輸入特徵經過編碼之後得到高維的特徵(採用過完備的一組基來表達),意思是獲得了原始的輸入空間下的高維的流形。通過採用雅克比矩陣就使得每一個在高維流形上的點(也就是學到的特徵)具有區域性不變性。這個可以通過計算區域性流形的一階導數獲得,於是就出現了雅克比矩陣。

 作者在文章中提到,高維的雅克比矩陣包含方向資訊,各個方向上的contraction是不同的,這個可以通過對雅克比矩陣做SVD體現出來。 在得到雅克比矩陣之後,我們需要體現出不變性,也就是說我們原始的資料空間經過contract之後仍然在各個方向上具有Isotropic。

   從幾何角度來理解的話就是,特徵的robustness 可以看做是把輸入空間對映到特徵空間的時候,輸入空間的contraction。