正则化如何抑制过拟合(未证明kkt)

大前提是解决凸函数最值问题(因为凸函数局部最优等于全局最优的性质,可以让我们找到极值点就相当于找到最值点,而梯度下降正正就是帮助我们找极小值,也就是利用梯度下降就能找到凸函数的最小值)

本文没有证明kkt,只是作为结论使用

问题背景

想要限制权重参数数目以此抑制过拟合,我们可以从两个思路去想,

一是直接限制权重参数中为0的数目,这样就相当于限制了有效权重参数的数目,这其实是L0<=m,但L0范数为非凸函数,可惜解不得,

二是使部分权重参数尽量地小,最好趋于0,相当于用L2范数<=m(L1也行)实现,这个可以实现

为啥构造拉格朗日函数进行梯度下降就能找到符合点呢

下面以L2范数为例子

那么现在我们相当于为原本无约束的loss函数增加了约束条件(L2范数<=m)

含有不等式约束求最小值利用一下拉格朗日乘数法构造一下函数即可

(记住,拉格朗日乘数法其实是帮助我们利用那kkt必要条件方程组的,而梯度下降本质是让函数求各个变量偏导然后拼起来得出梯度这玩意,然后沿着梯度方向,向着极小值点前进,那现在由于我们是对拉格朗日函数进行梯度下降,自然也需要对其中各个变量也就是权重参数求偏导,正巧,咱们构造拉格朗日函数就是为了令拉格朗日函数对各个权重求偏导等于0然后得到那些既满足不等式约束又是极值点的点,当然了,你这么多的权重参数,肯定很难解,所以我们利用梯度下降尽可能地一步步地逼近,在梯度不断下降的时候让各个权重参数的偏导趋于0,所以梯度下降的过程也是在寻找尽可能满足不等式约束的极值点或附近的点)

(记得把不等式看成 L2范数-m<=0 )

就是直接在loss函数后面加上 α *(L2范数-m)
由于α是超参数,即人为给定的,kkt条件

扫描二维码关注公众号,回复: 12874289 查看本文章

加上正则项咋就能够惩罚别人了?

以权重w1为例子
新loss对权重w1求偏导后会比原来loss对该权重求偏导多一个λw1
那么在学习的时候(α为学习率,一般在0到1之间)
也就是从w=w-α*dL/dw1
变成了w1=w1-α *(dL/dw1+λw1)=w1-α * dL/dw1-α * λw1
又因为w1必然大于0
而λw1也必然大于0

于是新w1必然会被减少,如果你λ还要大一点,那减少得更多了(看你还敢不敢变大)
也就是相较于w-α*dL/dw1
w1-α * dL/dw1-α * λw1肯定小一点,这就达到让权重参数变小的功能了

所以最终呈现的效果就是权重参数比较小

不出意外的话我这篇文章有很多错误,目前水平不够,只能暂时这样理解了,希望大家帮助指正

猜你喜欢

转载自blog.csdn.net/weixin_45670020/article/details/114484929
今日推荐