關於機器學習中基於對數線性迴歸模型的討論

前言

  在之前的關於迴歸問題的討論中,筆者主要給出了一般原始的線性迴歸模型(主要以最小二乘法形式進行的)以及其它兩種主流的線性迴歸模型的補充內容,它們主要是爲了解決樣本之間存在線性相關性的問題,包括嶺迴歸和LASSO迴歸。

  一般而言,對於多分類問題,我們希望能將樣本的採樣值約束在一定範圍之內,最爲常用的如[0,1]之間,這就產生了所謂歸一化的需求,就是本文討論的目標。在下面的章節中,我們着重於此類方法,主要包括經常被使用的SoftmaxLogistic迴歸。

Softmax迴歸

  按照老規矩,對於N個樣本,我們記作spacer.gif,而樣本需要被劃分爲c個類別,如前所述我們需要把樣本的取值歸一化到[0,1]區間,那麼定義每個樣本歸屬某個分類i的概率爲:

wKiom1nlTQ-gk01yAAAT4tvpZ-k981.png-wh_50


   上式就是我們熟悉的所謂Softmax表達式。

  需要說明的一點是,爲了統一起見,在上式中筆者將偏置也用w.0來表示,而不是以往習慣使用的b,這種表示方法可能在下面的推導中會比較方便。

             那麼如果對於所有樣本而言,我們肯定希望使這個概率越大越好,故這裏又要使用最大似然法來求解,故我們要求取的目標函數就是:

wKioL1nlSpLgF3WgAAAOV5zO-dw289.png-wh_50


   其中,uik的取值範圍僅在{0,1}之中(即分類是硬劃分的),而其之和爲1,它就是一個樣本k屬於類別i的歸屬度矩陣,而且是One-Hot-Vector

 

             爲了便於計算我們對公式2取對數,如下:

wKiom1nlTXOBQHEpAAATrJHydn0054.png-wh_50

   對於上式我們可以使用梯度下降法進行求解,那麼關於wi的偏導數爲:

wKioL1nlSujCxvYeAAAiKWjnrpw383.png-wh_50

   而關於偏置的偏導數則如下式定義:

wKiom1nlTcfhIczlAAAQAXBZ3vc300.png-wh_50


   對於公式4和公式5而言,它們也沒有閉合解(因爲是多元函數的非線性方程),只能使用牛頓-拉菲森方法(Newton-Raphson),關於此方法的具體內容,讀者可參考相關介紹,但其思想也基本是利用泰勒公式進行展開推導。

            但需要注意的是,原本公式45已經是一階偏導數形式,而牛頓-拉菲森方法還需要對相關目標函數進行求導,故遞推公式會涉及到如下幾個目標函數的二階偏導數,爲清晰起見現羅列如下:

wKioL1nlS0Ki0eHaAAAvsI2qcaw813.png-wh_50

   在上述二階偏導的求解中需要注意當對類j的計算時,需要把原公式(即公式45)的分子部分作爲常數來看待。

wKioL1nlS4Wz9ErQAACPWuWpX-o651.png-wh_50


   故可以得到在Softmax方法中,參數更新的方法(基於牛頓-拉菲森方法)爲:

wKiom1nlTmjRjUiUAAAMBYpt49w767.png-wh_50


   但這裏有個問題,因爲對於樣本而言,如果劃分爲c類,那麼其實只要有c-1組參數即可(可以想象對於而分類問題,我們也只要有1個參數向量即可),故結果存在冗餘,即可能出現了無窮多解,那麼我們只能在其中找一個最簡單的,公式變形如下:

         定義複雜度:

wKiom1nlTpSzWxWKAABfNi5Lz9g242.png-wh_50

Logistic迴歸

         Softmax類似,Logistic迴歸(簡稱LR)也是一種常用的線性迴歸模型,而且在很多電商網站的推薦模型中LR算法是最爲常見的,而且其公式和推導過程幾乎也與前者如出一轍,只不過唯一不同點就是,對於第c類的輸出是由其它c-1類來表示的(故這裏與Softmax不同,沒有那些冗餘的解),我們有如下公式,當spacer.gif時,有:

wKioL1nlTA3hqbZyAAA4qnaWIUY474.png-wh_50

   公式16看上去有點像Sigmoid函數。

         於是對於每一個樣本而言我們試圖使其乘積的概率最大,故與Softmax類似的我們有(針對公式15):

wKioL1nlTD_wPSuZAAAVgxTjCa0166.png-wh_50

   我們可以對上式使用梯度下降法進行求解,那麼關於參數wi的偏導數就爲:

wKiom1nlTz6y-rTyAABL1uYTw8s637.png-wh_50

   可以看出其實上述公式與上面所推導的Softmax相關參數的偏導公式幾乎沒什麼兩樣,當然其求解方法也就沒有什麼不同,而我們爲了得到wiwi0的值,也需要計算如下幾個二階偏導數:

wKioL1nlTKzAyfu7AAAxxT18yys060.png-wh_50

   那麼對於公式18,我們也需要定義海森矩陣,如下(注意其維度和Softmax的略爲不同):

wKiom1nlT4SiFsBUAAAUAr0yRlQ669.png-wh_50

   而對於海森矩陣中的每個元素而言,其定義則完全和上節中的相應公式一樣,爲節省篇幅,這裏不再列出,其參數更新迭代的方式也完全相同,也不再贅述。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章