
1dc0ec4e5d2a4ee789f09985c4a29b71.png
過(guò)擬合(Overfitting)
過(guò)擬合指的是模型在訓(xùn)練數(shù)據(jù)上擬合得太好,以至于它開始捕捉數(shù)據(jù)中的噪聲而非潛在的規(guī)律。換句話說(shuō),過(guò)擬合的模型對(duì)訓(xùn)練數(shù)據(jù)過(guò)于敏感,包括那些不規(guī)則的、隨機(jī)的或錯(cuò)誤的變動(dòng)。因此,雖然這樣的模型在訓(xùn)練集上的表現(xiàn)可能很好,但它在新的、未見過(guò)的數(shù)據(jù)上的泛化能力通常很差。
正則化(Regularization)
為了避免過(guò)擬合,我們可以使用正則化技術(shù)。正則化涉及向模型中添加一個(gè)懲罰項(xiàng),該懲罰項(xiàng)對(duì)模型的復(fù)雜度進(jìn)行懲罰。這種懲罰通常是通過(guò)將模型參數(shù)的某種范數(shù)(例如L1范數(shù)或L2范數(shù))加到損失函數(shù)中來(lái)實(shí)現(xiàn)的。這迫使模型在最小化訓(xùn)練誤差的同時(shí),保持參數(shù)值較小或稀疏。
- 嶺回歸(L2范數(shù))
from sklearn.linear_model import Ridge
model = make_pipeline(GaussianFeatures(30),Ridge(alpha=0.1))
basis_plot(model)
- Lasso正則化(L1范數(shù))
from sklearn.linear_model import Lasso
model = make_pipeline(GaussianFeatures(30),Lasso(alpha=0.001))
basis_plot(model,title='Lasso Regression')
參考:
[1]美 萬(wàn)托布拉斯 (VanderPlas, Jake).Python數(shù)據(jù)科學(xué)手冊(cè)[M].人民郵電出版社,2018.