深度學習系列——1、Softmax迴歸

邏輯迴歸可生成介於0和1之間的小數。例如,某電子郵件分類器的邏輯迴歸輸出值爲0.8,表明電子郵件是垃圾郵件的概率爲80%,不是垃圾郵件的概率爲20%。很明顯,這封電子郵件是垃圾郵件與不是垃圾郵件的概率之和爲1。
在處理多元分類中,Softmax將邏輯迴歸的思想延伸到多類別領域。
在多類別問題中,Softmax爲每個類別分配一個小數形式的概率,介於0到1之間,並且這些概率的和必須是1。

Softmax 層實際上是通過Softmax方程來實現,把y的值經過運算,映射到多分類問題中屬於每個類別的概率值:
其計算公式如下:
pi=e(yi)k=1ceykp_i=\frac{e^{(y_i)}}{\sum_{k=1}^ce^{y_k}}

這裏的yky_k指的是所有的類別

交叉熵
H(p,q)=xp(x)log(q(x))H(p,q)=-\sum_xp(x)log(q(x))
刻畫的是兩個概率分佈之間的距離,p代表正確答案,q代表的是預測值,交叉熵越小,兩個概率的分佈約接近,損失越低。對於機器學習中的多分類問題,通常用交叉熵做爲損失函數。

下面來看一個交叉熵計算的例子:

假設有一個3分類問題,某個樣例的正確答案是(1,0,0),即它屬於第一個類別。甲模型經過softmax迴歸之後的預測答案是(0.5,0.2,0.3),乙模型經過softmax迴歸之後的預測答案是(0.7,0.1,0.2)。它們倆哪一個模型預測的更好一些呢(更接近正確答案)?

通過下面交叉熵的計算可以看到,乙模型的預測更好:

1

於是,多分類的損失函數爲:
Loss=1ni=1nyilog(y^i)Loss=-\frac 1 n \sum_{i=1}^ny_ilog(\hat y_i)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章