ML-邏輯迴歸-Softmax-交叉熵(小航)

透明的胡蘿蔔發表於2019-02-27

在分類問題中,

交叉熵的本質就是【對數】似然函式的最大化

邏輯迴歸的損失函式的本質就是【對數】似然函式的最大化

最大似然估計講解: https://www.jianshu.com/p/191c029ad369

參考統計學習方法筆記 P79


softmax 

通過Softmax迴歸,將logistic的預測二分類的概率的問題推廣到了n分類的概率的問題。通過公式 

softmax損失函式-交叉熵

Loss = -\sum_{i}y_{i}lna_{i}        (y代表我們的真實值,a代表我們softmax求出的值)

舉例十分類:對使用softmax進行mnist資料集的多分類任務時,我們使用交叉熵作為損失函式

y_{1} = [0,1,0,0,0,0,0,0,0,0]   (真實值為數字“1”,one-hot編碼)

a_{1}=[0.2,0.7,0,0,0,0,0,0,0,0.1](預測值是70%的概率是數字“1”,這個a值是由softmax得到的)

求解Loss = -(0*ln0.2+1*ln0.7+0*ln0+0*ln0+...)  式1

cross_entropy = -tf.reduce_sum(y_ * tf.log(y_conv))

邏輯迴歸模型

單分類邏輯迴歸模型:

邏輯迴歸損失函式:

舉例二分類:判斷數字是0還是1(交叉熵計算)

y_{1} =[1,0] (真實值為數字“0”,採用one-hot編碼)

a_{1} = [0.9,0.1](預測數字是“0”的概率是90%)

Loss = -(1*ln0.9+0*ln0.1)   式2

舉例二分類:判斷數字是0還是1,且計算是0的概率為0.9(邏輯迴歸損失函式計算)

Loss = -(0*ln0.9+1*ln0.9)  式3

發現式2與式3一樣,所以邏輯迴歸的損失函式與交叉熵一樣

多分類邏輯迴歸模型:

設 Y ∈ {1,2,..K},則多項式邏輯斯蒂迴歸模型為:

統計學習方法

已知觀測的資料屬於二項邏輯斯蒂迴歸模型,求模型的引數

邏輯迴歸是一個判別模型,直接計算條件概率分佈P(Y|X)

我們最終求的就是P(Y=1|X;theta)  即在給定X的條件下,Y是正例的概率

  • P(Y=1|X;theta) = g(theta0 + theta1x1 + theta2x2 + ... +thetanxn)
  • P(Y=0|X;theta) = 1 - P(Y=1|X;theta)  

最大似然估計的使用場景:已知觀測的資料屬於某種模型,求模型的引數

計算模型(求引數)

  • 使用最大似然估計,似然函式就是每個觀測資料的概率密度函式的成績
  • 使用最大似然估計,引出最小化損失函式
  • 最小化損失函式,引出梯度下降,求模型引數

吳恩達教學邏輯迴歸

相關文章