CS231學習(2)-理解softmax分類器
Softmax分類器是邏輯回歸分類器(LR)面對多分類任務的一般化變形,softmax計算簡單,結果容易理解,在機器學習和卷積神經網路中應用很廣。
- Softmax定義
假設有一個數組 ,總共有 個元素, 是 中的第 個元素,那麼這個元素的Softmax值是:
也可以理解為是該元素 的指數,與所有元素指數和的比值。
舉一個在CS231n課程里的例子:在對圖像進行分類時,將每一張圖像的像素作為輸入 ,通過線性得分函數 獲得分類的原始得分,在此假設有3個類別,得分為[1,-2,0],那麼使用Softmax計算過程如下:
[ ] [ , , ] [ ] [ ]
很明顯,屬於第一類的概率為0.55最大,可能性也最大。
2. Softmax loss
其中:
是Softmax的輸出向量S的第i個值,表示的是這個樣本屬於第i個類別的概率。將公式一帶入公式三可得:
前有求和符號, 的範圍是類別1到類別數T,因此 是一個1*T的向量,裡面的T個值,而且只有1個值是1,真實標籤對應的位置的那個數值是1,其他都是0。所以公式四有一個更簡單的形式:
3. corss entropy
交叉熵(Cross Entropy)是Shannon資訊理論中一個重要概念,主要用來度量兩個概率分布間的差異性信息。比如在真實分布 和估計分布 之間的交叉熵定義為:
Softmax分類器的作用是:最小化在估計分類概率和真實分布之間的交叉熵。
- 真實分布:所有概率密度都分布在正確的類別上,簡單說就是已經知道的正確標籤。比如 =[0,0,0,........,1,0,0......]在 上僅有一個1,其他位置元素為0。
- 估計分類概率:
所以最終的到Softmax的交叉熵損失函數如下:
參考文獻
[1]CS231n Convolutional Neural Networks for Visual Recognition
推薦閱讀:
※1.機器學習演算法應用---數據預處理
※機器學習專欄目錄
※R-CNN、SPP-Net、Fast R-CNN、Faster R-CNN總結
※使用Keras進行深度學習:(六)GRU講解及實踐
TAG:深度學習DeepLearning | 機器學習 |