線性模型篇之 softmax 數學公式推導
“
Softmax迴歸也稱多項(multinomial)或者多類(multi-class)的Logistic迴歸,是Logistic迴歸在多類分類問題上的推廣。和邏輯迴歸一樣屬於線性模型。
”
SoftMax迴歸簡介
對於多類問題,類別標籤
可以用C個取值,給定一個樣本x,softmax迴歸預測的是屬於類別c的概率為(公式-1):
其中w_c是第c類的權重向量。
softmax迴歸的決策函式可以表示為(公式-2):
softMax與Logistic迴歸的關係:
當類別個C=2時,softMax迴歸的決策函式為(公式-3):
其中I(.)是指示函式,對比二分類決策函式(公式-4)
其中sgn表示符號函式(sign function),可以發現兩類分類中的權重向量w=w1-w0
向量表示:
公式-1用向量形式可以寫為(公式-5)
其中W=[w_1,w_2,…,w_C]是由C個類的權重向量組成的矩陣,1為全1的向量,
為所有類別的預測條件概率組成的向量,第c維的值是第c類的預測條件概率。
引數學習
給定N個訓練樣本{(x^n, y^n)},n<=N,softmax迴歸使用交叉熵損失函式來學習最優的引數矩陣W。
這裡用C維的one-hot向量
來表示類別標籤,其向量表示為(公式-6):
其中I(.)為指示函式。
採用交叉熵損失函式,softmax的經驗風險函式為(公式-7):
其中
為樣本x^n在每個類別的後驗概率。
==說明:公式-7第一個式變換到第二個式是因為y_c類別中只有一個為1,其餘為0,所以將第二個求和去除。==
風險函式R(W)關於W的梯度為(公式-8):
==證明:==
計算公式-8中的梯度,關鍵在於計算每個樣本的損失函式
關於引數W的梯度,其中需要用到兩個導數公式為:
-
若y=softmax(z),則
-
若
則
為第c列為x,其餘為0的矩陣。
根據鏈式法則,
關於w_c的偏導數為(公式-12):

公式-12也可以表示為非向量形式(公式-13):
其中I(.)為指示函式,根據公式-12可以得到(公式-14)
其中a是學習率,
是當引數為W_t時,softmax迴歸模型的輸出。
注意:
softmax迴歸中使用的C個權重向量是冗餘的,即對所有權重向量都減去一個同樣的向量v,不改變其輸出結果。因此,softmax往往需要正則化來約束引數。此外,可以利用這個特性來避免計算softmax函式時在數值計算上溢位問題。
在這浮躁的社會沉靜,用心記錄,用心學習!

關於【資料與演算法聯盟】
專注於推薦系統,深度學習,機器學習,資料探勘,雲端計算,人工智慧,架構和程式設計等技術乾貨的分享和探討,偶爾會推送一些福利,文字,攝影和遊記,掃碼關注,不再孤單。
更多幹貨,掃碼關注
熱
相關文章
線性模型篇之Logistic Regression數學公式推導
基於線性迴歸看偏差-方差分解(Bias-Variance Decomposition)
歡迎投稿,凡是投稿一經錄用者,贈送技術圖書和相關學習資料
國內各大網際網路公司,可內推
關注公眾號,加小編微信,拉你進
【 資料與演算法交流群 】
你點的每個 “在 看” ,我都認真當成了喜歡