本文是機器學習技法系列文章的第五篇。介紹了 Kernel Logistic Regression (KLR)的推導過程,以及折葉損失函數。
文章目錄
Kernel Logistic Regression
上節課學習了 Soft-Margin SVM,相比於 Hard-Margin SVM,其允許錯誤的分類樣本點存在,不要求分隔超平面一定嚴格可分,借鑑Pocket算法,通過在目標函數中引入參數 ,來表示更注重足夠寬的邊界還是更注重最小化分類錯誤樣本點的誤差的權衡。通過推導,發現Soft-Margin SVM與Hard-Margin SVM 的目標函數其實很像,唯一的區別就是 Soft-Margin SVM 的拉格朗日乘子 的上界爲 。本節課更進一步,將Soft-Margin SVM中學習的Kernel拓展到其他問題上,比如 Kernel Logistic Regression 。
5.1 SoftMargin SVM as Regularized Model
首先複習一下前四講所學的內容,從一開始的Hard-Margin SVM 開始,爲了減少算法複雜度,通過對偶問題,將 空間的維度 從目標函數中去掉;爲了降低過擬合風險,想辦法提高 SVM 對錯誤的容忍度,從而進一步推出了 Soft-Margin SVM,同時,還推倒了其對偶問題。可以發現 Soft-Margin SVM 與 Hard-Margin SVM 的唯一區別是拉格朗日乘子 多了上界 。那麼 Soft-Margin SVM 是如何推導的呢,簡單回顧一下:
用 表示分類錯誤樣本點的誤差,即到邊界的距離,如果沒有分類錯誤的樣本點,則 。然後將有條件的最優化問題轉換爲對偶問題求解。
下面從另一個角度考慮,給定一組 ,對於任意的樣本可以算出其是否是分類錯誤的樣本點,如果是分類錯誤的樣本點,則 ,如果分類正確,則 。由此,可以得到 ,將該式帶入到 Soft-Margin SVM的目標函數得到:
通過這樣的轉化,可以將參數 去掉,把分類錯誤的樣本點的誤差轉化爲一個最大化問題。其實該形式與L2正則化問題的目標函數很相似:
看到這裏,好像SVM就是一個特殊的正則化問題,那麼爲什麼不能直接使用求解正則化的步驟求解呢?原因如下:
- 無條件約束的最優化問題無法通過二次規劃求解,所以無法轉化爲對偶問題,也無法使用Kernel。
- max() 函數中的項並不一定是處處可導的,所以很難用微分去解。
有約束的正則化,硬邊界SVM,L2正則化,軟邊界SVM的目標函數如下:
可以看出,large margin 其實就相當於更小的超平面,也等價於 L2正則化中小的 ;使用特別的誤差 表示軟邊界SVM中分類錯誤樣本點的誤差。Soft-Margin SVM 中的參數 與正則化中的參數 相對應,其關係爲:較大的 相當於較小 ,相當於對目標函數中的參數做了更小的約束。
通過以上對比易知,其實 SVM 就相當於一個正則化算法,可以將其擴展到更多學習算法。
習題1:
5.2 SVM versus Logistic Regression
Soft-Margin SVM 的無條件形式如下:
令上式中的 ,則可轉換爲:
二分類的誤差 和 Soft-Margin SVM的分類誤差 的誤差曲線分別如上圖所示。其中 爲 的上界。更一般地,通常將 稱爲折葉損失函數(Hinge Error Measure),它是一個Convex函數,在最優化問題中容易求解。接下來對比縮放後的邏輯迴歸的損失函數 :
通過上式,不難發現,存在以下關係:
對比之前所學的線性二分類模型,其優化方法,優缺點如下:
- PLA算法的優點是對於線性可分的情形表現很好;缺點是如果輸入空間不是線性可分,則需要藉助平Pocket算法,但往往表現也不是很好。
- 正則化邏輯迴歸往往使用梯度下降或者隨機梯度下降求解。其優點是容易優化,並且有正則化限制特徵空間的維度,使得其不宜過擬合,從而調泛化能力;其缺點是損失函數上界 條件過於鬆弛,不利於最優化求解。
- 軟邊界支持向量機使用二次規劃求解;其優點是容易優化,並且有理論保證,缺點同邏輯迴歸。
由以上對比易知,求解了 regularized logistic regression 問題相當於求解了 Soft-Margin SVM 問題。那麼反過來成立嗎?下一小節介紹這個問題。
習題2:
5.3 SVM for Soft Binary Classification
首先看一下怎麼樣把 SVM 用於 Soft 二元分類問題。
- 第一個想法是使用 SVM 的到最好的參數 ,然後直接代入邏輯迴歸的假設函數中求解。這種方法借鑑了兩類算法的相似性,優點適用於一般情況;缺點是形式過於簡單,沒有結合二者的優點。
- 第二個方法是將SVM求解參數作爲邏輯迴歸的初始化參數,然後是會用梯度下降或隨機梯度下降迭代求解,然後求解最佳的假設函數矩g。這種方法看起來好像沒什麼問題,但實際上相比原來的邏輯迴歸更復雜了。
接下來考慮如何將邏輯迴歸和SVM的優勢結合起來,更好的解決二分類問題。首先構造假設函數:
其中 A 表示縮放因子,B表示平移因子。如果 參數對於假設函數比較好,則A應該是>0的;如果 參數比較好,則B ≈ 0。現在帶入到邏輯迴歸問題的目標函數中構造新的邏輯迴歸問題:
相當於從多維到一維的轉換。該問題有兩個階段,第一個階段用SVM求解參數,將這個求解過程當做空間轉換,轉換到 空間;第二個階段做邏輯迴歸,其間還會有諸如正則化這樣的抑制過擬合策略。這種方法稱爲 。該算法的僞代碼如下:
因爲引入了係數A和B,所以導致這種 soft binary classifier 得到的結果與SVM classifier 得到的結果可能不一樣。該方法效果更好,可以用邏輯迴歸的求解方法,比如梯度下降或者隨機梯度下降等等,但因爲實際上只有兩個參數A和B,可以使用一些更簡單的方法。
習題3:
5.4 Kernel Logistic Regression
上一小節中是使用 Kernel SVM 在轉換後的 空間求解近似解;現在打算在 空間中直接使用 邏輯迴歸求解,應該如何做呢?回顧SVM的做法,先轉換爲對偶問題,其次通過二次規劃,最後只需要最小化參數的內積,然後結合Kernel求解。但是邏輯迴歸的目標函數中是log形式的,看起來沒有諸如二次式這樣的多項式,所以沒辦法使用Kernel求解二次規劃問題。Kernel的核心思想是將 空間的內積運算轉換爲 空間中易於計算的函數。內積運算需要在訓練和預測過程中使用,準確地說是 與 的內積。那麼,如果現在可以將 表示成一堆 的線性組合 ,就可以將 與 的內積運算表示成 Kernel的形式。所以,最佳的 是一堆 的線性組合,這是求解問題的關鍵。
其實 SVM,PLA,邏輯迴歸都可以將 表示成 的線性組合的形式。在SVM中,組合的係數 就是對偶問題的解;PLA中,組合係數 是通過不斷地修正錯誤得到;使用梯度下降優化的邏輯迴歸也有這樣的性質,組合係數 表示隨機梯度下降算法中的移動步幅。這樣,就可以將這些算法與 Kernel 聯繫起來,在 空間中求解。那麼什麼時候最佳的 可以通過 表達出來呢?
假設要解決的是帶L2正則化的線性問題,通過求解該目標函數,求解得到的最佳的 一定可以表示爲 的線性組合。 其證明過程如下:
假設存在最佳解 (權重向量),將其拆解爲兩個部分,第一個部分 表示可以用 表現出來的部分, 表示垂直於 空間的部分。如果最佳的 可以被 表現出來,我們希望的是第二部分 。使用反證法證明。考慮 的特性,如果 存在,會發生什麼。我們知道,兩向量相乘,也等於用分量表示的兩向量相乘。 兩垂直向量相乘(內積)等於零,則可推導出上式1成立,然後計算最佳解 ,可以退出公式2成立,但是此時說明 要比求解出的最佳的 要好,因爲最小化目標函數中更小,這與已知是矛盾的,所以得證。因此,也就到到:任何L2正則化線性模型都可以使用Kernel!
既然 可以用 表示,也可以引入Kernel,那麼直接求解組合係數 即可。也就轉化成了無條件的最優化問題,可以使用梯度下降相關算法求解。這樣,與之前求解邏輯迴歸的方法沒有什麼不一樣。
可以換一種思路理解這種算法的核心思想:
之前講過Kernel其實就一種相似性,可將Kernel當做對輸入樣本的轉換;可以將 當做轉換空間後,原來 空間中權重 。將 進一步簡化爲 ,相當於做正則化,其中 表示類似縮放等的轉換。這就是 Kernel Linear Regression模型。
其中, 大部分都不爲零,這不同於SVM中的參數 ,這是需要注意的點。
習題4:
Summary
本節課介紹了 Kernel Linear Regression(KLR)。一開始先把 Soft-Margin SVM 解釋爲一個與 Regression有關的模型,其實做的就是 L2正則化,對應一個特別的誤差函數 ,也就是折葉損失函數。那麼SVM與邏輯迴歸是則麼結合起來的呢?如果有求出最佳的參數 ,可以通過二階段的訓練方式,將問題轉化爲Soft-Binary Classification,如果要在 空間求解邏輯迴歸,可以將最佳的權重向量 表示成分量的形式,然後通過求解組合係數 求解,也就是KLR,但是因爲大多數不爲零,所以計算量會很大。
下節課介紹 Kernel 解決一般的迴歸問題。