前言
在之前的關於迴歸問題的討論中,筆者主要給出了一般原始的線性迴歸模型(主要以最小二乘法形式進行的)以及其它兩種主流的線性迴歸模型的補充內容,它們主要是爲了解決樣本之間存在線性相關性的問題,包括嶺迴歸和LASSO迴歸。
一般而言,對於多分類問題,我們希望能將樣本的採樣值約束在一定範圍之內,最爲常用的如[0,1]之間,這就產生了所謂歸一化的需求,就是本文討論的目標。在下面的章節中,我們着重於此類方法,主要包括經常被使用的Softmax和Logistic迴歸。
Softmax迴歸
按照老規矩,對於N個樣本,我們記作,而樣本需要被劃分爲c個類別,如前所述我們需要把樣本的取值歸一化到[0,1]區間,那麼定義每個樣本歸屬某個分類i的概率爲:
上式就是我們熟悉的所謂Softmax表達式。
需要說明的一點是,爲了統一起見,在上式中筆者將偏置也用w.0來表示,而不是以往習慣使用的b,這種表示方法可能在下面的推導中會比較方便。
那麼如果對於所有樣本而言,我們肯定希望使這個概率越大越好,故這裏又要使用最大似然法來求解,故我們要求取的目標函數就是:
其中,uik的取值範圍僅在{0,1}之中(即分類是硬劃分的),而其之和爲1,它就是一個樣本k屬於類別i的歸屬度矩陣,而且是One-Hot-Vector。
爲了便於計算我們對公式2取對數,如下:
對於上式我們可以使用梯度下降法進行求解,那麼關於wi的偏導數爲:
而關於偏置的偏導數則如下式定義:
對於公式4和公式5而言,它們也沒有閉合解(因爲是多元函數的非線性方程),只能使用牛頓-拉菲森方法(Newton-Raphson),關於此方法的具體內容,讀者可參考相關介紹,但其思想也基本是利用泰勒公式進行展開推導。
但需要注意的是,原本公式4和5已經是一階偏導數形式,而牛頓-拉菲森方法還需要對相關目標函數進行求導,故遞推公式會涉及到如下幾個目標函數的二階偏導數,爲清晰起見現羅列如下:
在上述二階偏導的求解中需要注意當對類j的計算時,需要把原公式(即公式4和5)的分子部分作爲常數來看待。
故可以得到在Softmax方法中,參數更新的方法(基於牛頓-拉菲森方法)爲:
但這裏有個問題,因爲對於樣本而言,如果劃分爲c類,那麼其實只要有c-1組參數即可(可以想象對於而分類問題,我們也只要有1個參數向量即可),故結果存在冗餘,即可能出現了無窮多解,那麼我們只能在其中找一個最簡單的,公式變形如下:
定義複雜度:
Logistic迴歸
與Softmax類似,Logistic迴歸(簡稱LR)也是一種常用的線性迴歸模型,而且在很多電商網站的推薦模型中LR算法是最爲常見的,而且其公式和推導過程幾乎也與前者如出一轍,只不過唯一不同點就是,對於第c類的輸出是由其它c-1類來表示的(故這裏與Softmax不同,沒有那些冗餘的解),我們有如下公式,當時,有:
公式16看上去有點像Sigmoid函數。
於是對於每一個樣本而言我們試圖使其乘積的概率最大,故與Softmax類似的我們有(針對公式15):
我們可以對上式使用梯度下降法進行求解,那麼關於參數wi的偏導數就爲:
可以看出其實上述公式與上面所推導的Softmax相關參數的偏導公式幾乎沒什麼兩樣,當然其求解方法也就沒有什麼不同,而我們爲了得到wi和wi0的值,也需要計算如下幾個二階偏導數:
那麼對於公式18,我們也需要定義海森矩陣,如下(注意其維度和Softmax的略爲不同):
而對於海森矩陣中的每個元素而言,其定義則完全和上節中的相應公式一樣,爲節省篇幅,這裏不再列出,其參數更新迭代的方式也完全相同,也不再贅述。