c#怎么拟合函数得到参数_为啥正则化能抑制过拟合

正则化是抑制模型过拟合的重要方法。它的原理到底是啥,今天我来分析一下。

首先,以线性回归为例,没有正则化的情况,它的损失函数是平方损失函数。

7ad3bd10a5d42146bf73308a1e1cfd5d.png

损失是越小越好,如果拟合函数h越复杂,就越可能把损失拟合到0。那么很显然,就会发生过拟合。

defd26458f399be5c1ccf23e3bc3e729.png

熟悉吧,我们的模型因为太逼近训练样本,反而损失了泛化能力,这个对于模型是致命的哦。

那么怎么从损失函数的角度解决这个问题呢,这就要请出正则化方法,也就是在损失函数中加入另一个由模型参数构造的函数来抑制过于逼近的问题

以L2正则方法为例,我们加入了L2_function=lambda*theta的平方项。

19ff32ac57c05b3f2beff3212e2b31c7.png

要理解这个L2,我们先看一下不用正则项时,损失函数的优化过程。以仅有两个参数为例。

8c1cb6ae5e52eb9ee63aa3966f0272d1.png

损失函数为了到达最优解,theta1和2是沿着梯度下降的方向,向全局最优点(碗底)进发。

为了避免过拟合,也就是说,平方差项不是想拼命变小吗,我给你加一个函数,你越变小,我越变大

5054c95db2a9d726e98fcb68a9fdf9d4.png

左下方以原点为心的圆就是L2正则的函数空间。这时,优化方法的目标就变成了这两者同时兼顾的问题,也就是说,在这两个函数空间的交汇处(切点),损失最低。直观上说,正则就是不让theta过分的大。

这时候就好解释L1正则,L1正则的函数形状是菱形。

1a9f70117aa016416253812cb4033b3e.png

那么,切点如果靠近某些theta的轴,也就是说,其他正交的theta会趋向于0。这也就是为什么L1有特征选择的能力。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值