CS231學習(2)-理解softmax分類器

CS231學習(2)-理解softmax分類器

Softmax分類器是邏輯回歸分類器(LR)面對多分類任務的一般化變形,softmax計算簡單,結果容易理解,在機器學習和卷積神經網路中應用很廣。

  1. Softmax定義

假設有一個數組 V ,總共有 T 個元素, V_{i}V 中的第 i 個元素,那麼這個元素的Softmax值是:

公式一:Softmax函數

也可以理解為是該元素 V_{i} 的指數,與所有元素指數和的比值。

舉一個在CS231n課程里的例子:在對圖像進行分類時,將每一張圖像的像素作為輸入 x_{i} ,通過線性得分函數 f(x_{i},omega,b)=omegacdot x_{i}+b 獲得分類的原始得分,在此假設有3個類別,得分為[1,-2,0],那麼使用Softmax計算過程如下:

[ 1,-2,0 ] Rightarrow [ e^{1} , e^{-2} , e^{0} ] Rightarrow [ 1.65,0.73,1 ] Rightarrow [ 0.55,0.12,0.33 ]

很明顯,屬於第一類的概率為0.55最大,可能性也最大。

2. Softmax loss

公式二:Softmax loss函數

公式三:Softmax loss函數的簡寫

其中:

S_{i} 是Softmax的輸出向量S的第i個值,表示的是這個樣本屬於第i個類別的概率。將公式一帶入公式三可得:

公式四

y_{i} 前有求和符號, j 的範圍是類別1到類別數T,因此 y 是一個1*T的向量,裡面的T個值,而且只有1個值是1,真實標籤對應的位置的那個數值是1,其他都是0。所以公式四有一個更簡單的形式:

公式五

3. corss entropy

交叉熵(Cross Entropy)是Shannon資訊理論中一個重要概念,主要用來度量兩個概率分布間的差異性信息。比如在真實分布 p 和估計分布 q 之間的交叉熵定義為:

Softmax分類器的作用是:最小化在估計分類概率和真實分布之間的交叉熵。

  • 真實分布:所有概率密度都分布在正確的類別上,簡單說就是已經知道的正確標籤。比如 p =[0,0,0,........,1,0,0......]在 y_{i} 上僅有一個1,其他位置元素為0。
  • 估計分類概率: S_{i}

所以最終的到Softmax的交叉熵損失函數如下:

同公式四

參考文獻

[1]CS231n Convolutional Neural Networks for Visual Recognition


推薦閱讀:

1.機器學習演算法應用---數據預處理
機器學習專欄目錄
R-CNN、SPP-Net、Fast R-CNN、Faster R-CNN總結
使用Keras進行深度學習:(六)GRU講解及實踐

TAG:深度學習DeepLearning | 機器學習 |