天天看點

機器學習學習筆記(10)----softmax回歸

logistic回歸解決的是二進制分類問題,對于多元分類問題,需要通過softmax回歸模型來解決。回顧一下logistic模型(《機器學習學習筆記(8)----logistic回歸模型》),假設事件A發生的機率是p,那麼:

p=1/(1+exp(-wTx))   (1)

其中:wT=(w0 w1 ..... wn),x=(x0 x1 ...... xn)T,x0=1,T表示矩陣的轉置。

如果對(1)式右邊的分數表達式的分子和分母都乘以一個exp(w1Tx),得:

p=exp(w1Tx)/(exp(w1Tx)+exp(w2Tx))  (2)

那麼對于A事件不發生的機率:

1-p=exp(w2Tx)/(exp(w1Tx)+exp(w2Tx))  (3)

這樣,對于多元分類問題,假設有K個分類,那麼第k個事件發生的機率,可以寫成:

機器學習學習筆記(10)----softmax回歸

(4)

接下來,我們用y=k表示第k個事件發生,那麼

P(y=k|x)=  Pk =hk(x) (5)

假設我們的訓練集有m個樣例,那麼第i個樣例的條件機率可以表示成:

機器學習學習筆記(10)----softmax回歸

 (6)

I(y(i)=j)被稱為訓示函數。可以看出,當y(i)=k時,公式(6)簡化成公式(5)。

與logistic回歸相似,我們假設訓練集中的各個樣本都是互相獨立的,那麼這些樣本對于y=y(i)同時出現的聯合機率:

機器學習學習筆記(10)----softmax回歸

 (7)

問題轉換成L(w)的最大值,對(7)式兩端取對數:

機器學習學習筆記(10)----softmax回歸

(8)

類似logistic回歸模型,可以定義損失函數:

J(w) = -(1/m)l(w)    (9)

把(8)代入到(9)式,得到softmax的損失函數的公式:

機器學習學習筆記(10)----softmax回歸

(10)

對于損失函數求最小值和對數似然函數求出最大值實際上是等價的,後面的工作就是求J(w)的梯度了。

機器學習學習筆記(10)----softmax回歸

(11)

同樣,這個損失函數的最小值沒有解析解。

是以我們需要用批量梯度下降優化方法通過每次把所有的樣本作為輸入,通過疊代計算來獲得最優的wr參數。

對于随機梯度下降優化方法,可以抽取公式(11)的i=k時的值,得梯度公式:

機器學習學習筆記(10)----softmax回歸

(12)

參考資料:

《Python機器學習算法:原理,實作與案例》

繼續閱讀