过拟合(Overfitting)
过拟合指的是模型在训练数据上拟合得太好,以至于它开始捕捉数据中的噪声而非潜在的规律。换句话说,过拟合的模型对训练数据过于敏感,包括那些不规则的、随机的或错误的变动。因此,虽然这样的模型在训练集上的表现可能很好,但它在新的、未见过的数据上的泛化能力通常很差。
正则化(Regularization)
为了避免过拟合,我们可以使用正则化技术。正则化涉及向模型中添加一个惩罚项,该惩罚项对模型的复杂度进行惩罚。这种惩罚通常是通过将模型参数的某种范数(例如L1范数或L2范数)加到损失函数中来实现的。这迫使模型在最小化训练误差的同时,保持参数值较小或稀疏。
- 岭回归(L2范数)
from sklearn.linear_model import Ridge
model = make_pipeline(GaussianFeatures(30),Ridge(alpha=0.1))
basis_plot(model)
- Lasso正则化(L1范数)
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数据科学手册[M].人民邮电出版社,2018.