機器學習之softmax回歸筆記


本次筆記絕大部分轉自https://www.cnblogs.com/Luv-GEM/p/10674719.html

softmax回歸

Logistic回歸是用來解決二類分類問題的,如果要解決的問題是多分類問題呢?那就要用到softmax回歸了,它是Logistic回歸在多分類問題上的推廣。此處神經網絡模型開始亂入,softmax回歸一般用於神經網絡的輸出層,此時輸出層叫做softmax層。

1、softmax函數

首先介紹一下softmax函數,這個函數可以將一個向量(x1,x2,...,xK)映射為一個概率分布(z1,z2,...,zK),它將數據的范圍映射到(0,1)區間

那么在多分類問題中,假設類別標簽y∈{1, 2, ..., C}有C個取值,那么給定一個樣本x,softmax回歸預測x屬於類別c的后驗概率為:

其中wc是第c類的權重向量。

那么樣本x屬於C個類別中每一個類別的概率用向量形式就可以寫為:

其中W=[w1,w2,...,wC]是由C個類的權重向量組成的矩陣,1表示元素全為1的向量,得到是由所有類別的后驗概率組成的向量,第c個元素就是預測為第c類的概率,比如[0.05, 0.01, 0.9, 0.02, 0.02],預測為第3類。

2、softmax回歸的損失函數和梯度下降

one-hot向量:[0,0,0,1,0,...,0,0]這個向量就表示第四個類別標簽,1所在的位置就是那個位置的類標簽,其它全設置為0。

假設訓練數據集為{(x1,y1),(x2,y2),...(xM, yM)},即有M個樣本,softmax回歸使用交叉熵損失函數來學習最優的參數矩陣W,對樣本進行分類。

由於涉及到多分類,所以損失函數的表示方法稍微復雜一些。我們用C維的one-hot向量y來表示類別標簽。對於類別c,其向量表示為:

其中表示指示函數。

則softmax回歸的交叉熵損失函數為:

其中表示樣本預測為每個類別的后驗概率組成的向量。

上面這個式子不太好理解,我們單獨拿出一個樣本來觀察。假設類別有三類,預測一個樣本x屬於第2類的交叉熵損失為,其中,如果預測正確,如,則交叉熵損失為,而如果預測錯誤,如,則交叉熵損失為,可見預測錯誤時損失非常大。

同樣的,用梯度下降法對損失函數進行優化求解,首先得到損失對參數向量W的梯度:

初始化W0=0,然后對所有參數WC進行迭代更新,直至收斂。

 

 

參考資料:

1、吳恩達:《機器學習》

2、邱錫鵬:《神經網絡與深度學習》

3、 https://blog.csdn.net/u010867294/article/details/79138603


免責聲明!

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



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