L2正则化的线性模型——岭回归

1.岭回归的介绍:

岭回归也是回归分析中常用的线性模型,它实际上是一种改良的最小二乘法。

2.岭回归的原理:

岭回归实际上是一种能够避免过拟合的线性模型。在岭回归中,模型会保留所有的特征变了,但是会减小特征变量的系数值,让特征变量对预测结果的影响变小,在岭回归中是通过改变其alpha参数来控制减小特征变量系数的程度。而这种通过保留全部特征变量,只是降低特征变量的系数值来避免过拟合的方法,我们称之为L2正则化。

3.岭回归的实战:

from sklearn.datasets import load_diabetes
from sklearn.model_selection import train_test_split
#载入糖尿病情数据集
X,y=load_diabetes().data,load_diabetes().target
X_train,X_test,y_train,y_test=train_test_split(X,y,random_state=1)
#导入岭回归
from sklearn.linear_model import Ridge
#使用岭回归对数据进行拟合
ridge=Ridge().fit(X_train,y_train)
print('训练集得分:{}'.format(ridge.score(X_train,y_train)))
print('测试集得分:{}'.format(ridge.score(X_test,y_test)))

请添加图片描述
结果分析:
使用岭回归后,训练数据集的得分比线性回归中的要稍微低调一些,而测试数据集的得分却高了一些,这和我们的预期基本是一致的。在线性回归中,我们的模型出现了轻微的过拟合,但是由于岭回归是一个相对受限的模型,所以我们发生过拟合的可能性大大降低了。可以说,复杂度越低的模型,在训练数据集上的表现越差,但是其泛化能力会更好。如果我们更在意模型在泛化方面的表现,那么我们就应该选择岭回归模型,而不是线性回归模型。

4.岭回归的参数调节:

岭回归是在模型的简单性(使系数趋近于0)和它在训练集上的性能之间取得平衡的一种模型。用户可以使用alpha参数控制模型更加简单性还是在训练集上的性能更高。在刚刚的案例中,我们使用的alpha为默认参数——1.
ps:alpha的取值并没有一定之规。alpha的最佳设置取决于我们使用的特定数据集。增加alpha的值会降低特征变量的系数,使其趋近于0,从而降低在训练集的性能,但更有助于泛化。
下面我们再看一个例子:

from sklearn.datasets import load_diabetes
from sklearn.model_selection import train_test_split
#载入糖尿病情数据集
X,y=load_diabetes().data,load_diabetes().target
X_train,X_test,y_train,y_test=train_test_split(X,y,random_state=1)
#导入岭回归
from sklearn.linear_model import Ridge
#使用岭回归对数据进行拟合
ridge=Ridge(alpha=10).fit(X_train,y_train)
print('训练集得分:{}'.format(ridge.score(X_train,y_train)))
print('测试集得分:{}'.format(ridge.score(X_test,y_test)))

请添加图片描述
结果分析:
在刚刚的例子中,我们提高了alpha参数的值为10,发现模型的得分大大的降低了,然而有意思是,测试集与训练集得分的差异变小了。这说明,如果我们的模型出现了过拟合,那么我们可以通过提高alpha的值来降低过拟合的程度。
同样,降低alpha的值会让系数的限制变得不那么严格,如果我们用一个非常小的alpha值,那么系统的限制几乎可以忽略不计,得到的结果也会非常的接近线性回归。

ps:随着数据量的增加,线性回归在训练数据集上的得分是下降的,这说明随着数据增加,线性回归模型就越不容易产生过拟合的现象,或者说越难记住这些数据。

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值