Deep Learning 學習隨記(三)Softmax regression


講義中的第四章,講的是Softmax 回歸。softmax回歸是logistic回歸的泛化版,先來回顧下logistic回歸。

logistic回歸:

訓練集為{(x(1),y(1)),...,(x(m),y(m))},其中m為樣本數,x(i)為特征。

logistic回歸是針對二分類問題的,因此類標y(i)∈{0,1},。其估值函數(hypothesis )如下:

代價函數:

softmax 回歸:

softmax回歸解決的是多分類問題,即y(i)∈{1,2,...,k}。(這里softmax回歸一般從類別1開始,而不是從0)。

其估值函數形式如下:

為了方便起見,我們同樣使用符號θ來表示全部的模型參數。在實現softmax回歸時,你通常會發現,將θ用一個k×(n+1)的矩陣來表示會十分便利,該矩陣是將θ1,θ2,...,θk按行羅列起來得到的,如下所示:

下面是softmax回歸的代價函數:

可以看出softmax是logistic的一個泛化版。logistic是k=2情況下的softmax回歸。

為了求解J(θ),通常借助於梯度下降法或L-BFGS算法等迭代優化算法。經過求導,我們可以得到梯度公式為:

有了上面的偏導數公式以后,我們就可以將它帶入到梯度下降法等算法中,來使J(θ)最小化。例如,在梯度下降法標准實現的每一次迭代中,我們需要進行如下更新:

(對每個j=1,2,...k)

 

有一點需要注意的是,按上述方法用softmax求得的參數並不是唯一的,因為,對每一個參數來說,若都減去一個相同的值,依然是上述的代價函數的值。證明如下:

這表明了softmax回歸中的參數是“冗余”的。更正式一點來說,我們的softmax模型被過度參數化了,這意味着對於任何我們用來與數據相擬合的估計值,都會存在多組參數集,它們能夠生成完全相同的估值函數hθ將輸入x映射到預測值。因此使J(θ)最小化的解不是唯一的。而Hessian矩陣是奇異的/不可逆的,這會直接導致Softmax的牛頓法實現版本出現數值計算的問題。

為了解決這個問題,加入一個權重衰減項到代價函數中:

有了這個權重衰減項以后(對於任意的λ>0),代價函數就變成了嚴格的凸函數而且hession矩陣就不會不可逆了。

此時的偏導數:

 

 

softmax 練習:

這里講義同樣給出了練習題,打算自己寫寫看,暫時先寫到這,接下來有時間把自己寫好的代碼貼上來。

 

 


免責聲明!

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



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