1dc0ec4e5d2a4ee789f09985c4a29b71.png
過擬合(Overfitting)
過擬合指的是模型在訓(xùn)練數(shù)據(jù)上擬合得太好屯断,以至于它開始捕捉數(shù)據(jù)中的噪聲而非潛在的規(guī)律草讶。換句話說,過擬合的模型對訓(xùn)練數(shù)據(jù)過于敏感,包括那些不規(guī)則的犀变、隨機的或錯誤的變動。因此弟灼,雖然這樣的模型在訓(xùn)練集上的表現(xiàn)可能很好嗽上,但它在新的、未見過的數(shù)據(jù)上的泛化能力通常很差伊约。
正則化(Regularization)
為了避免過擬合姚淆,我們可以使用正則化技術(shù)。正則化涉及向模型中添加一個懲罰項屡律,該懲罰項對模型的復(fù)雜度進(jìn)行懲罰腌逢。這種懲罰通常是通過將模型參數(shù)的某種范數(shù)(例如L1范數(shù)或L2范數(shù))加到損失函數(shù)中來實現(xiàn)的。這迫使模型在最小化訓(xùn)練誤差的同時超埋,保持參數(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]美 萬托布拉斯 (VanderPlas, Jake).Python數(shù)據(jù)科學(xué)手冊[M].人民郵電出版社,2018.