机器学习-L1、L2正则化详解

本文详细介绍了模型正则化的概念,重点讲解了L1和L2正则化,包括它们如何防止过拟合。L1正则化通过L1范数产生稀疏解,有助于特征选择;L2正则化利用L2范数使模型更加平滑,降低复杂度。通过实例展示了L1正则化的LASSO回归和L2正则化的岭回归在sklearn中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

1、 什么是模型正则化

模型正则化(Regularization),对学习算法的修改,限制参数的大小,减少泛化误差而不是训练误差。我们在构造机器学习模型时,最终目的是让模型在面对新数据的时候,可以有很好的表现。当你用比较复杂的模型比如神经网络,去拟合数据时,很容易出现过拟合现象(训练集表现很好,测试集表现较差),这会导致模型的泛化能力下降,这时候,我们就需要使用正则化,降低模型的复杂度。

正则化的策略包括:约束和惩罚被设计为编码特定类型的先验知识 偏好简单模型 其他形式的正则化,如:集成的方法,即结合多个假说解释训练数据

在实践中,过于复杂的模型不一定包含数据的真实的生成过程,甚至也不包括近似过程,这意味着控制模型的复杂程度不是一个很好的方法,或者说不能很好的找到合适的模型的方法。实践中发现的最好的拟合模型通常是一个适当正则化的大型模型。

模型产生过拟合的现象表现为:在训练集上误差较小,而在测试集上误差较大。
并且之所以产生过拟合现象是由于训练数据中存在一定的噪音,而我们为了尽可能的做到拟合每一个样本点(包括噪音),往往就会使用复杂的模型。最终使得训练出来的模型很大程度上受到了噪音数据的影响,例如真实的样本数据可能更符合一条直线,但是由于个别噪音的影响使得训练出来的是一条弯曲的曲线,从而使得模型在测试集上表现糟糕。因此,我们可以将这一过程看作是糟糕的训练集导致了糟糕的泛化误差。但仅仅从过拟合的表现形式来看糟糕的测试集(噪音多)也能导致糟糕的泛化误差。接下来,本篇文章就分别从这两个角度来介绍一下正则化(regularization) 方法中最常用的[公式]正则化是如何解决这个问题的。
在这里插入图片描述
如图所示,左右两边红色曲线为原始目标函数,蓝色曲线为加了[公式]正则化后的目标函数。可以看出红色曲线的极值均发生了改变,也就是产生极值的极值点均发生了改变,且不约而同的都更靠近原点了。

再来看一张等高线的投影图:在这里插入图片描述
在这里插入图片描述

数据分布图
在这里插入图片描述
模型过拟合
在这里插入图片描述
在拟合完之后,就是非常明显的过拟合的效果,即目标函数为了尽可能地去拟合数据,减小模型和样本的误差,使得曲线变得很陡峭,在数学上就表示为线性方程前面的系数很大。

2、L1正则(L1范数)

L1正则化,就是在目标函数中加了L1范数这一项。使用L1正则化的模型叫做LASSO回归。

2.1 L1正则化与稀疏性
我们说,LASSO回归的全称是:Least Absolute Shrinkage and Selection Operator Regression.

这里面有一个特征选择的部分,或者说L1正则化可以使得参数稀疏化,即得到的参数是一个稀疏矩阵。

所谓稀疏性,说白了就是模型的很多参数是0。通常机器学习中特征数量很多,例如文本处理时,如果将一个词组(term)作为一个特征,那么特征数量会达到上万个(bigram)。在预测或分类时,那么多特征显然难以选择,但是如果代入这些特征得到的模型是一个稀疏模型,很多参数是0,表示只有少数特征对这个模型有贡献,绝大部分特征是没有贡献的,即使去掉对模型也没有什么影响,此时我们就可以只关注系数是非零值的特征。

这相当于对模型进行了一次特征选择,只留下一些比较重要的特征,提高模型的泛化能力,降低过拟合的可能。

因此L1正则化会产生系数模型,好处是应用的

  • 特征比较小
  • 模型更简单&#
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值