1. 程式人生 > >softmax分類器推導

softmax分類器推導

    softmax函式在機器學習中是常用的多分類器,特別是在卷積神經網路中,最後的一層經常都是使用softmax分類器進行多類別分類任務。雖然softmax看上去相對比較簡單,但是其實其中蘊含的數學推導還是比較複雜的,特別是對於數學不太好的同學。這篇文章主要就是結合自己學習《神經網路與深度學習》的一些筆記和體會。其中很多公式部分參考了《神經網路與深度學習》,如有不恰當的地方,歡迎批評指正。     softmax函式是logistic函式的一般形式,是將分類問題轉化為概率問題,其實說白了,就是求解統計所有可能的概率,然後概率最大的即認為為該類別。首先直接建立多類線性分類器。假設 {1· · · , C}共 個類別,首先定義C個判別函式。                                                          這裡W為類 c的權重向量。
    這樣,對於空間中的一個點x,如果存在類別c,對於所有的其他類別˜(wT c ̸c都滿足fc(xf˜(x
),那麼x屬於類別 c。相應的分類函式可以表示為:                                                                              當 = 2 時,就是Logistics二類分類器,                                                              SoftMax迴歸是Logistic迴歸的多類推廣。
  多類線性分類函式的引數 
w有很多種優化演算法。這裡我們介紹一種常用的學習演算法: SoftMax 迴歸。在SoftMax迴歸中,機器學習模型預測目標為每一個類別的後驗概率。這就需要用到
softmax函式。   利用 softmax函式,我們定義目標類別 c的後驗概率為:
                                                             對於樣本(x, y),輸出目標 {1· · · , C},我們用 維的one-hot向量 y來表示輸出目標。對於類別 c                                                                  這裡, I()是指示函式。    同時,我們將公式3.59重新定義一下,直接輸出 維向量
                                                                        
  其中, = [w1· · · wC]是 個類對應權重向量組成的矩陣。 ˆ 的第 c維的值是第 c類的預測後驗概率。其中, ˆ = Tx,為 softmax函式的輸入向量。
  給定 給樣本(x(i)y(i))≤ ≤ N,我們使用交叉熵損失函式,模型在訓練集的風險函式為:                                                                取樣梯度下降法,我們要計算 (W)關於 的梯度。首先,我們列下要用到的公式。   1. softmax函式的導數為                                                              

    下面講述的是關於softmax的導數求法,對於 個標量 x1· · · , xK, softmax函式定義為
                                                      這樣,我們可以將 個變數 x1· · · , x轉換為一個分佈: z1· · · , zK,滿足 

                                                             當 softmax函式的輸入為 維向量 x 
                                                            其中, = [1· · · 1]K×是 維的全1向量