1. 程式人生 > >關於Softmax函式

關於Softmax函式

定義評分函式:    

                                       

我們定義歸一化概率:

                         

將(1)式和(2)式整合以下,我們有:

其中m表示資料xde 維度, n代表輸出分類資料z的維度,即:分類的種類數。

2.SoftMax

    上述表示式還缺點東西,因為我們想要的預測比分儘可能的高,但得分函式是線性的,其增長幅度有限,為了在不影響其單調性的情況下,使得得分更顯著,因此我們修改為如下表達式:

                             

我們將其全部寫在一起為:

softmax函式輸出的是一個n維向量,表示n個分類的不同概率,假如一個函式的輸出為:[0.1, 0.3, 0.6],其真實值為:[0, 1, 0]

那我們該如何定義損失函式呢?可能以第一時間會想到

J(\Theta ) = (0.1 - 0)^{^{2}} + (0.3 - 1)^{^{2}} + (0.6 - 0)^{^{2}}

但是實際上我們多算了一些誤差,因為sum(f(x)) == 1, 其中一個值變化會導致所有值的變化,因此我們的正確誤差項寫法應該是:

J(\Theta ) = (0.3 - 1)^{^{2}}

我們可定義一個表示式:

softmax 損失函式定義為:

softmax函式梯度計算公式:

 

           

其中: