LR多分類推廣 - Softmax回歸*


   LR是一個傳統的二分類模型,它也可以用於多分類任務,其基本思想是:將多分類任務拆分成若干個二分類任務,然后對每個二分類任務訓練一個模型,最后將多個模型的結果進行集成以獲得最終的分類結果。一般來說,可以采取的拆分策略有:

one vs one策略

  假設我們有N個類別,該策略基本思想就是不同類別兩兩之間訓練一個分類器,這時我們一共會訓練出種不同的分類器。在預測時,我們將樣本提交給所有的分類器,一共會獲得N(N-1)個結果,最終結果通過投票產生。

one vs all策略

  該策略基本思想就是將第i種類型的所有樣本作為正例,將剩下的所有樣本作為負例,進行訓練得到一個分類器。這樣我們就一共可以得到N個分類器。在預測時,我們將樣本提交給所有的分類器,一共會獲得N個結果,我們選擇其中概率值最大的那個作為最終分類結果。

   

 softmax回歸

  softmax是LR在多分類的推廣。與LR一樣,同屬於廣義線性模型。什么是Softmax函數?假設我們有一個數組A,表示的是數組A中的第i個元素,那么這個元素的Softmax值就是

            

也就是說,是該元素的指數,與所有元素指數和的比值。那么 softmax回歸模型的假設函數又是怎么樣的呢?

          

由上式很明顯可以得出,假設函數的分母其實就是對概率分布進行了歸一化,使得所有類別的概率之和為1;也可以看出LR其實就是K=2時的Softmax。在參數獲得上,我們可以采用one vs all策略獲得K個不同的訓練數據集進行訓練,進而針對每一類別都會得到一組參數向量。當測試樣本特征向量輸入時,我們先用假設函數針對每一個類別估算出概率值。因此我們的假設函數將要輸出一個K維的向量(向量元素和為1)來表示K個類別的估計概率,我們選擇其中得分最大的類別作為該輸入的預測類別。Softmax看起來和one vs all 的LR很像,它們最大的不同在與Softmax得到的K個類別的得分和為1,而one vs all的LR並不是。

softmax的代價函數

  類似於LR,其似然函數我們采用對數似然,故:

    

加入正則項的損失函數為:

    

此處的為符號函數。對於其參數的求解過程,我們依然采用梯度下降法。

softmax的梯度的求解

  正則化項的求導很簡單,就等於,下面我們主要討論沒有加正則項的損失函數的梯度求解,即

      

的導數(梯度)。為了使得求解過程看起來簡便、易於理解,我們僅僅只對於一個樣本(x,y)情況(SGD)進行討論,

    

此時,我們令

    

可以得到

    

故:

所以,正則化之后的損失函數的梯度為

    

然后通過梯度下降法最小化 \textstyle J(\theta),我們就能實現一個可用的 softmax 回歸模型了。

多分類LR與Softmax回歸

  有了多分類的處理方法,那么我們什么時候該用多分類LR?什么時候要用softmax呢?

總的來說,若待分類的類別互斥,我們就使用Softmax方法;若待分類的類別有相交,我們則要選用多分類LR,然后投票表決。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM