關於多分類
我們常見的邏輯回歸、SVM等常用於解決二分類問題,對於多分類問題,比如識別手寫數字,它就需要10個分類,同樣也可以用邏輯回歸或SVM,只是需要多個二分類來組成多分類,但這里討論另外一種方式來解決多分類——SoftMax。
SoftMax模型
Softmax回歸模型是logistic回歸模型在多分類問題上的推廣,當分類數為2的時候會退化為Logistic分類。.在多分類問題中,類標簽 可以取兩個以上的值。 Softmax回歸模型對於諸如MNIST手寫數字分類等問題是很有用的,該問題的目的是辨識10個不同的單個數字。Softmax回歸是有監督的。

,,由於logistic回歸是針對二分類問題的,因此類標記
。
假設函數如下:

訓練模型參數 ,使其能夠最小化代價函數:

對於給定的測試輸入 ,用假設函數針對每一個類別
估算出概率值
,即,估計
的每一種分類結果出現的概率。假設函數將要輸出 一個
維的向量來表示這
個估計的概率值。假設函數
形式如下:


代價函數

上述公式是logistic回歸代價函數的推廣。logistic回歸代價函數可以改為:
Softmax代價函數與logistic 代價函數在形式上非常類似,只是在Softmax損失函數中對類標記的 個可能值進行了累加。注意在Softmax回歸中將
分類為類別
的概率為:
一般使用梯度下降優化算法來最小化代價函數,而其中會涉及到偏導數,即,則對求偏導,得到代價函數對參數權重的梯度就可以優化了。
例子
從下圖看,神經網絡中包含了輸入層,然后通過兩個特征層處理,最后通過softmax分析器就能得到不同條件下的概率,這里需要分成三個類別,最終會得到y=0、y=1、y=2的概率值。
繼續看下面的圖,三個輸入通過softmax后得到一個數組[0.05 , 0.10 , 0.85],這就是soft的功能。
計算過程直接看下圖,其中即為,三個輸入的值分別為3、1、-3,的值為20、2.7、0.05,再分別除以累加和得到最終的概率值,0.88、0.12、0。
可以看到它有多個值,所有值加起來剛好等於1,每個輸出都映射到了0到1區間,可以看成是概率問題。
為多個輸入,訓練其實就是為了逼近最佳的。
使用場景
在多分類場景中可以用softmax也可以用多個二分類器組合成多分類,比如多個邏輯分類器或SVM分類器等等。該使用softmax還是組合分類器,主要看分類的類別是否互斥,如果互斥則用softmax,如果不是互斥的則使用組合分類器。
參考文獻:
https://www.cnblogs.com/hellcat/p/7220536.html?utm_source=itdadao&utm_medium=referral