中文文檔: http://sklearn.apachecn.org/cn/0.19.0/tutorial/basic/tutorial.html
英文文檔: http://sklearn.apachecn.org/en/0.19.0/tutorial/basic/tutorial.html
官方文檔: http://scikit-learn.org/0.19/
GitHub: https://github.com/apachecn/scikit-learn-doc-zh(覺得不錯麻煩給個 Star,我們一直在努力)
貢獻者: https://github.com/apachecn/scikit-learn-doc-zh#貢獻者
關於我們: http://www.apachecn.org/organization/209.html
1.3. 內核嶺迴歸
Kernel ridge regression (KRR) (內核嶺迴歸)[M2012]_ 由 使用內核方法的 :ref:`ridge_regression`(嶺迴歸)(使用 l2 正則化的最小二乘法)所組成。因此,它所學習到的在空間中不同的線性函數是由不同的內核和數據所導致的。對於非線性的內核,它與原始空間中的非線性函數相對應。
由 KernelRidge
學習的模型的形式與支持向量迴歸( SVR
)
是一樣的。但是他們使用不同的損失函數:內核嶺迴歸(KRR)使用 squared error loss (平方誤差損失函數)而 support vector regression (支持向量迴歸)(SVR)使用 -insensitive
loss ( ε-不敏感損失 ),兩者都使用 l2 regularization (l2 正則化)。與 SVR
相反,擬合 KernelRidge
可以以
closed-form (封閉形式)完成,對於中型數據集通常更快。另一方面,學習的模型是非稀疏的,因此比 SVR 慢, 在預測時間,SVR 學習了:math:epsilon > 0 的稀疏模型。
下圖比較了人造數據集上的 KernelRidge
和 SVR
的區別,它由一個正弦目標函數和每五個數據點產生一個強噪聲組成。圖中分別繪製了由 KernelRidge
和 SVR
學習到的迴歸曲線。兩者都使用網格搜索優化了
RBF 內核的 complexity/regularization (複雜性/正則化)和 bandwidth (帶寬)。它們的 learned functions (學習函數)非常相似;但是,擬合 KernelRidge
大約比擬合 SVR
快七倍(都使用
grid-search ( 網格搜索 ) )。然而,由於 SVR 只學習了一個稀疏模型,所以 SVR 預測 10 萬個目標值比使用 KernelRidge 快三倍以上。SVR 只使用了百分之三十的數據點做爲支撐向量。
下圖顯示不同大小訓練集的 KernelRidge
和 SVR
的
fitting (擬合)和 prediction (預測)時間。 對於中型訓練集(小於 1000 個樣本),擬合 KernelRidge
比 SVR
快;
然而,對於更大的訓練集 SVR
通常更好。 關於預測時間,由於學習的稀疏解,SVR
對於所有不同大小的訓練集都比 KernelRidge
快。
注意,稀疏度和預測時間取決於 SVR
的參數 和 ; 將對應於密集模型。
參考:
[M2012] | “Machine Learning: A Probabilistic Perspective” Murphy, K. P. - chapter 14.4.3, pp. 492-493, The MIT Press, 2012 |
中文文檔: http://sklearn.apachecn.org/cn/0.19.0/tutorial/basic/tutorial.html
英文文檔: http://sklearn.apachecn.org/en/0.19.0/tutorial/basic/tutorial.html
官方文檔: http://scikit-learn.org/0.19/
GitHub: https://github.com/apachecn/scikit-learn-doc-zh(覺得不錯麻煩給個 Star,我們一直在努力)
貢獻者: https://github.com/apachecn/scikit-learn-doc-zh#貢獻者
關於我們: http://www.apachecn.org/organization/209.html
有興趣的大佬們也可以和我們一起來維護,持續更新中 。。。
機器學習交流羣: 629470233