天天看點

機器學習之Softmax回歸模型定義

Softmax在機器學習中有非常廣泛的應用,但是剛剛接觸機器學習的人可能對Softmax的特點以及好處并不了解,其實你了解了以後就會發現,Softmax計算簡單,效果顯著,非常好用。

我們先來直覺看一下,Softmax究竟是什麼意思

我們知道max,假如說我有兩個數,a和b,并且a>b,如果取max,那麼就直接取a,沒有第二種可能

但有的時候我不想這樣,因為這樣會造成分值小的那個饑餓。是以我希望分值大的那一項經常取到,分值小的那一項也偶爾可以取到,那麼我用softmax就可以了 

現在還是a和b,a>b,如果我們取按照softmax來計算取a和b的機率,那a的softmax值大于b的,是以a會經常取到,而b也會偶爾取到,機率跟它們本來的大小有關。是以說不是max,而是 Soft max,那各自的機率究竟是多少呢,我們下面就來具體看一下

定義

假設我們有一個數組V,Vi表示V中的第i個元素,那麼這個元素的Softmax值就是 

機器學習之Softmax回歸模型定義

也就是說,是該元素的指數值,與所有元素指數值和的比值

這個定義可以說非常的直覺,當然除了直覺樸素好了解以外,它還有更多的優點

1.計算與标注樣本的差距

在神經網絡的計算當中,我們經常需要計算按照神經網絡的正向傳播計算的分數S1,按照正确标注計算的分數S2,之間的差距,計算Loss,才能應用反向傳播。Loss定義為交叉熵

機器學習之Softmax回歸模型定義

取log裡面的值就是這組資料正确分類的Softmax值,它占的比重越大,這個樣本的Loss也就越小,這種定義符合我們的要求

2.計算上非常非常的友善

當我們對分類的Loss進行改進的時候,我們要通過梯度下降,每次優化一個step大小的梯度

我們定義選到yi的機率是

機器學習之Softmax回歸模型定義

然後我們求Loss對每個權重矩陣的偏導,應用到了鍊式法則

機器學習之Softmax回歸模型定義

詳細過程

機器學習之Softmax回歸模型定義

最後結果的形式非常的簡單,隻要将算出來的機率的向量對應的真正結果的那一維減1,就可以了

舉個例子,通過若幹層的計算,最後得到的某個訓練樣本的向量的分數是[ 1, 5, 3 ], 

那麼機率分别就是

[e1e1+e3+e5,e5e1+e3+e5,e3e1+e3+e5]=[0.015,0.866,0.117]