【转】对正则化的理解

版权声明

本文为CSDN博主「王嗣钧」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wsj998689aa/article/details/39547771
————————————————

上学的时候,就一直很好奇,模式识别理论中,常提到的正则化到底是干什么的?渐渐地,听到的多了,看到的多了,再加上平时做东西都会或多或少的接触,有了一些新的理解。

  1. 正则化的目的:防止过拟合!

  2. 正则化的本质:约束(限制)要优化的参数。

关于第1点,过拟合指的是给定一堆数据,这堆数据带有噪声,利用模型去拟合这堆数据,可能会把噪声数据也给拟合了,这点很致命,

  • 一方面会造成模型比较复杂(想想看,本来 一次函数 能够拟合的数据,现在由于数据带有噪声,导致要用 五次函数来拟合,多复杂!),
  • 另一方面,模型的泛化性能太差了(本来是一次函数生成的数据,结果由于噪声的干扰,得到的模型是五次的),遇到了新的数据让你测试,你所得到的过拟合的模型,正确率是很差的。

关于第2点,本来解空间是全部区域,但通过正则化添加了一些约束,使得解空间变小了,甚至在个别正则化方式下,解变得稀疏了。这一点不得不提到一个图,相信我们都经常看到这个图,但貌似还没有一个特别清晰的解释,这里我尝试解释一下,图如下:
在这里插入图片描述
这里的 w 1 w_1 w1 w 2 w_2 w2 都是模型的参数,要优化的目标参数,那个红色边框包含的区域,其实就是解空间,正如上面所说,这个时候,解空间“缩小了”,你只能在这个缩小了的空间中,寻找使得目标函数最小的 w 1 w_1 w1 w 2 w_2 w2。由于采用了 L2 范数 正则化项的缘故,左边图的解空间是圆的。右边的是个四边形,是由于采用了 L1 范数 作为正则化项的缘故,大家可以在纸上画画,L2 构成的区域一定是个圆,L1构成的区域一定是个四边形。

再看看那蓝色的圆圈,再次提醒大家,这个坐标轴和特征(数据)没关系,它完全是参数的坐标系,每一个圆圈上,可以取无数个 w 1 w_1 w1 w 2 w_2 w2,这些 w 1 w_1 w1 w 2 w_2 w2 有个共同的特点,用它们计算的目标函数值是相等的!那个蓝色的圆心,就是实际最优参数,但是由于我们对解空间做了限制,所以最优解只能在“缩小的”解空间中产生。

蓝色的圈圈一圈又一圈,代表着参数 w 1 w_1 w1 w 2 w_2 w2 在不停的变化,并且是在解空间中进行变化(这点注意,图上面没有画出来,估计画出来就不好看了),直到脱离了解空间,也就得到了图上面的那个 w*,这便是目标函数的最优参数

对比一下左右两幅图的 w*,我们明显可以发现,右图的 w* 的 w 1 w_1 w1分量是0,有没有感受到一丝丝凉意?稀疏解诞生了!是的,这就是我们想要的稀疏解,我们想要的简单模型。


还记得模式识别中的剃刀原理不?倾向于简单的模型来处理问题,避免采用复杂的。

这里必须要强调的是,这两幅图只是一个例子而已,没有说采用 L1范数就一定能够得到稀疏解,完全有可能蓝色的圈圈和四边形(右图)的一边相交,得到的就不是稀疏解了,这要看蓝色圈圈的圆心在哪里。

此外,正则化其实和“带约束的目标函数”等价的,二者可以互相转换。关于这一点,我试着给出公式进行解释:

针对上图(左图),可以建立数学模型如下:
在这里插入图片描述
通过熟悉的拉格朗日乘子法(注意这个方法的名字),可以变为如下形式:
在这里插入图片描述
看到没,这两个等价公式说明了,正则化的本质就是,给优化参数一定约束,所以,正则化与加限制约束,只是变换了一个样子而已。

此外,我们注意,正则化因子,也就是里面的那个 λ \lambda λ,如果它变大了,说明目标函数的作用变小了,正则化项的作用变大了,对参数的限制能力加强了,这会使得参数的变化不那么剧烈(仅对如上数学模型),直接的好处就是避免模型过拟合。反之,自己想想看吧。。。

个人感觉,“正则化”这几个字叫的实在是太抽象了,会吓唬到人,其实真没啥。如果改成“限制化”或者是“约束化”,岂不是更好?

决定使用哪种损失函数?
如果异常值表示的反常现象对于业务非常重要,且应当被检测到,那么我们就应当使用MSE。另一方面,如果我们认为异常值仅表示损坏数据而已,那么我们应当选择MAE作为损失函数。

注:L1和L2损失分别是MAE和MSE的别名。

L1损失对异常值更鲁棒,但它的导数是不连续的,从而让它无法有效的求解。L2损失对异常值很敏感,但会求出更稳定和更接近的解(通过将导数设为0)。

这两者存在的问题: 可能会出现两种损失函数都无法给出理想预测值的情况。

例如,如果我们的数据中 90% 的观测值的目标真值为150, 剩余10%的目标值在0-30之间。那么存在MAE损失的模型可能会预测全部观测值的目标值为150,而忽略了那10%的异常情况,因为它会试图趋向于中间值。

在同一种情况下,使用MSE损失的模型会给出大量值范围在0到30之间的预测值,因为它会偏向于异常值。在很多业务情况中,这两种结果都不够理想。

MSE vs MAE (L2损失 vs L1损失)

您提出的问题涉及到正则化在机器学习中的应用,特别是L2正则化(也称为岭回归或权重衰减)。我会逐一解释您的疑问:

疑问

1. 正则化为什么使损失无法达到真正的极小值点?

正则化的目的是在模型的复杂度(例如权重的大小)和预测误差之间找到一个平衡点。没有正则化的模型可能完美地拟合训练数据,但这种完美拟合通常伴随着过拟合的风险,即模型在未见过的新数据上表现不佳。

当引入L2正则化时,损失函数包括两部分:原始的损失函数(如平方误差)和正则化项(权重的L2范数)。这会导致模型在训练数据上的表现略有下降,但通常会提高模型在新数据上的泛化能力。因此,虽然损失可能无法达到未正则化时的极小值点,但在实际应用中,提高泛化能力更为重要。

2. L2范式正则化中圆的半径是多大?

在L2正则化中,通常会有一个正则化参数(通常表示为λ或α),它决定了正则化项对总损失的贡献程度。这个参数实际上就像是决定“圆”的半径大小。正则化参数的值不是固定的,需要通过交叉验证等方法来确定。

  • 如果正则化参数很大,表示强调权重的小范围,这个“圆”较小,模型会更加简单,但可能欠拟合。
  • 如果正则化参数较小,表示允许权重有较大的范围,这个“圆”较大,模型会更复杂,但可能过拟合。

选择合适的正则化参数是模型调优的一个重要方面。通常,这个参数的选择是基于模型在验证集上的表现。

参考链接

[1] 回归损失函数: L1和L2比较 2019.5;

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值