【用戶指南|監督學習】1.3-內核嶺迴歸

文章目錄

內核嶺迴歸(Kernel ridge regression-KRR) 由使用內核方法的嶺迴歸(使用 l2 正則化的最小二乘法)所組成。因此,它所擬合到的在空間中不同的線性函數是由不同的內核和數據所導致的。對於非線性的內核,它與原始空間中的非線性函數相對應。

KernelRidge 學習的模型的形式與支持向量迴歸(SVR是一樣的。但是他們使用不同的損失函數: 內核嶺迴歸(KRR)使用平方誤差損失函數(squared error loss) 而支持向量迴歸(support vector regression)(SVR)使用 ε\varepsilon-insensitive loss ( ε\varepsilon-不敏感損失 ),兩者都使用 l2 正則化。與SVR 相反,擬合 KernelRidge 可以以封閉形式(closed-form) 完成,對於中型數據集通常更快。另一方面,學習的模型是非稀疏的,因此比 SVR 慢。在預測時間內,SVR 擬合的是 ε>0\varepsilon>0 的稀疏模型。

下圖比較了人造數據集上的 KernelRidgeSVR 的區別,它由一個正弦目標函數和每五個數據點產生一個強噪聲組成。圖中分別繪製了由 KernelRidgeSVR 學習到的迴歸曲線。兩者都使用網格搜索優化了 RBF 內核的複雜性/正則化(complexity/regularization )和帶寬(bandwidth)。它們的學習函數(learned functions) 非常相似;但是,擬合 KernelRidge 大約比擬合 SVR 快七倍(都使用網格搜索(grid-search))。然而,由於 SVR 只學習了一個稀疏模型,所以 SVR 預測 10 萬個目標值比使用 KernelRidge 快三倍以上。SVR 只使用了大約 1/3 的數據點做爲支撐向量。

在這裏插入圖片描述

下圖顯示不同大小訓練集的 KernelRidgeSVR擬合(fitting)和預測(prediction) 時間。 對於中型訓練集(小於 1000 個樣本),擬合 KernelRidgeSVR 快;然而,對於更大的訓練集 SVR 通常更好。 關於預測時間,由於學習的稀疏解,SVR 對於所有不同大小的訓練集都比 KernelRidge 快。 注意,稀疏度和預測時間取決於 SVR 的參數 ε\varepsilonC;ε=0C;\varepsilon=0 將對應於密集模型。

在這裏插入圖片描述

示例: 內核嶺迴歸與SVR的對比

參考: “Machine Learning: A Probabilistic Perspective” Murphy, K. P. - chapter 14.4.3, pp. 492-493, The MIT Press, 2012

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