邏輯回歸與全連接神經網絡聯系的簡單理解記錄


關於神經網絡和邏輯回歸的關系,學它們倆和編程的時候有點似懂非懂。這里嘗試記錄現在所體會整理到的感覺。結論本身沒有科學研究的價值或意義,只是在編程和設計全連接神經網絡時能帶來一定程度的指導。

對於最經典的二分類邏輯回歸。用一組二元的輸入和它們各自對應的一個非0即1的輸出,能將二元輸入擴展為多項式求和形式,使用梯度下降或其它優化算法學習得到一組theta。

所使用的代價函數即對應梯度如圖(含正則項):

 

 

 

不管是代價函數還是梯度,我們都不對作為常數項或者稍后說的偏置項theta0進行正則化。使用矩陣能大幅簡化運算。

為了有更直觀的感受,我們考慮特殊情形:

假設有很多二元輸入(x1,x2)的樣本及其對應非0即1的輸出y,我們使用每一個樣本中的兩個輸入值(x1,x2)擴展出一個x1和x2至高6次方的多項式,也就是1+x1+x2+x1^2+x1x2+x2^2...+x1x2^5+x2^6,總計有28項(0次方一項,1次方兩項...1+2+3+...+6+7=28)。

現在的輸入變成了很多個28維度的行/列向量,最后只需要得到一個預測值並與閾值比較后判斷原輸入是否為目標類型。由於二分類邏輯回歸使用的激勵函數/預測函數是sigmoid,可以想見theta也應該有28項(不考慮轉置的情況,單個輸入為28*1的矩陣,最后需要得到一個標量,所以theta必為28*1矩陣)。

雖然有的地方說sigmoid值的意義並不是預測概率,但實際分類確實就是根據sigmoid值與閾值判斷的,可以近似認為sigmoid值作用就是分類預測可信度。所以可以認為最后學習到的theta的作用是:對應於二分類問題中的目標類別,使用該theta與某樣本輸入進行邏輯回歸預測,或者說代入到sigmoid函數中計算,就能得知該樣本是否屬於目標類。

二分類中這一意義的體現非常直觀,接下來是多分類。

 

我所學習的多分類是基於OneVsAll的,這也確實是將邏輯回歸從二分類推廣到多分類問題最直接的做法。

多分類問題中,我們同樣有一大堆輸入,不同的是現在所給的輸出不再是非0即1,而是有很多類別,不過仍可以用0-m的不同數字給這些類別編號。

按照OneVsAll的思想,我們應該依次將每一種類別都作為目標類別,與其它所有類別進行二分類邏輯回歸。可見代價函數和梯度計算方法是不變的。

同樣對於具體一點的例子,比如對一大堆20*20像素的手寫數字圖片,這些圖像無非屬於0-9這十個數中一個。這時候得到的theta是什么呢?

通常我們會把20*20總共400個像素點與一個偏置項“1”,寫在一行或一列便於計算,這並不影響這個圖像的含義,這時候這一行有401項的行/列向量就是一個單獨的輸入樣本!稍加思考可以明白,我們將每一種類別作為目標類別,比如2,的時候,實際上仍然需要使用所有像這樣處理了的輸入樣本進行學習。由上面二分類時的討論可知,由於每次樣本輸入有401項,對於類別2,我們需要一行/列401項的theta來得到輸入對於類別2的預測概率值。對於本例0-9每個類別都要學習這樣的theta,所以需要10個401項的theta。這10個theta分別對應不同的類別。

對於一個新的1*401的輸入,如果將它與每個有1*401項theta分別計算,則可以得到該輸入對每個類別的概率。最后取概率最大值位置便是該輸入所屬類別。

雖然編程的時候這部分已經有點繞了,但也都還好,之后是神經網絡。

 

神經網絡的更細節的部分並不想在這篇文中闡述,我想記錄的只是更直觀感性的一點認知。神經網絡的層與層之間到底在干什么。

一個單隱藏層的神經網絡圖如下:

 

直接用具體例子思考,輸入輸出仍然是上面多分類那樣,給定一張20*20像素的手寫數字圖像判斷其數字類別。對每幅圖像的輸入同樣進行上面那樣化為一行/列的處理,這里使用的神經網絡依次需要401個輸入層單元(對應每幅圖像得到的401項輸入),25個隱藏層單元(本例人為規定)和總類別數量決定的10個輸出層單元。

由於全連接,我們可以發現對於輸入層-隱藏層這一部分,對於每一個隱藏單元,都有401個單元指向它。整個輸入-隱藏的層間需要25*401條權重,也就是theta的大小,這里表示為Theta1。而同樣地,研究隱藏-輸出這一部分的Theta2,我們需要10*26(25個單元+1個隱藏層偏置項)條權重,也就是Theta2大小為10*26。

將這種情況與多分類問題時對比,就可以得到一個對層間交互的感性認知:神經網絡每兩層之間都是一個多分類問題。這樣編程時或許就不會再有“突然手足無措”的感覺。首先由原始輸入得到它“屬於”每個隱藏單元的概率,每經過一層就相當於用前一層的概率新構建了一個虛擬樣本。同時,原始輸入有401個項,虛擬樣本則相當於只有26項,原始輸入中難以發現的特征也在這過程中得到了概括和抽象,而最后一個隱藏層才計算得到對於每個分類的真正概率。


免責聲明!

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



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