核心嶺回歸(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
ε>
0 的稀疏模型。
下圖比較了人造資料集上的kernelridge
和svr
的區別,它由乙個正弦目標函式和每五個資料點產生乙個強雜訊組成。圖中分別繪製了由kernelridge
和svr
學習到的回歸曲線。兩者都使用網格搜尋優化了rbf
核心的複雜性/正則化(complexity/regularization )和頻寬(bandwidth)。它們的學習函式(learned functions) 非常相似;但是,擬合kernelridge
大約比擬合svr
快七倍(都使用網格搜尋(grid-search))。然而,由於svr
只學習了乙個稀疏模型,所以svr
** 10 萬個目標值比使用kernelridge
快三倍以上。svr
只使用了大約 1/3 的資料點做為支撐向量。
下圖顯示不同大小訓練集的kernelridge
和svr
的擬合(fitting)和**(prediction) 時間。 對於中型訓練集(小於 1000 個樣本),擬合kernelridge
比svr
快;然而,對於更大的訓練集svr
通常更好。 關於**時間,由於學習的稀疏解,svr
對於所有不同大小的訓練集都比kernelridge
快。 注意,稀疏度和**時間取決於svr
的引數 ε
\varepsilon
ε 和 c;ε
=0c;\varepsilon=0
c;ε=
0 將對應於密集模型。
示例: 核心嶺回歸與svr的對比參考: 「machine learning: a probabilistic perspective」 murphy, k. p. - chapter 14.4.3, pp. 492-493, the mit press, 2012
機器學習 監督學習 (回歸)嶺回歸
1 嶺回歸 標準方程法 import numpy as np from numpy import genfromtxt import matplotlib.pyplot as plt 讀入資料 data genfromtxt r longley.csv delimiter 切分資料 x data d...
線性回歸 監督學習
1 線性回歸的可行行基礎及資料形式 輸入資料都是帶著標稱的資料 其中x時特徵向量,y為結果 2 線性回歸解決的問題 相比與前面的感知機模型輸出空間為乙個二元的分類空間,線性回歸輸出空間是全體實數,以銀行審評信用卡為例 在感知機模型中,輸出結果是 3 線性回歸的hypothesis 相比與感知機模型在...
監督學習1 線性回歸
可以認為是多項式回歸的乙個特例吧,最高次冪是1的多項式回歸。可以有多個引數或者叫維度。所有的課程都很熱衷於用房價來展示,看來國內外都不可避免。也有用蟲子與溫度關係表示 這裡,x x 是屬於r1 role presentation style position relative r1r 1的向量,只有...