本站原创文章,转载请说明来自《老饼讲解-机器学习》www.bbbdata.com
正则化是一个解决过拟合较为有效的方法
它主要通过在损失函数中加入系数的惩罚项的方式,来抑制模型系数过大,
本文讲解什么是正则化,和介绍常用的正则化公式
本节介绍正则化的概念,并通过举例具体说明什么是正则化
什么是正则化
机器学习中的正则化在狭义上往往是指:
在模型的损失函数中加入正则项来惩罚模型过大的系数,从而避免模型过拟合
例如,线性函数最原始的损失函数为:
加入二范正则项的损失函数变为:
这样做的好处是,过大的会让损失函数变得非常大,
在最小化损失函数时,自然就不会取到得大
为什么正则化能防止模型过拟合
为什么正则化能防止模型过拟合?
这主要是因为系数过大时模型往往都是过拟合的
系数过大模型容易过拟合的主要原因有如下:
👉 系数过大会使模型不稳定
👉 过大的系数往往违背真实规则
以线性回归模型举例,当中的W过大时
很容易造成模型的不稳定
例如 y = 10000*x1+10*x2+3 , x1的系数非常大,
导致x1微小的变化都会引起y的极大变化,从而导致模型不稳定,
违反实际规则
现实的业务规则,一般不会出现y与x1成10000倍这么极端关系
所以系数过大时往往是违反背后业务真实规则的,
即模型没有如实反映变量与因变量的关系
在误差允许范围内,我们不希望出现极大的系数,
或者说,极大的系数本身就是一个数据误导,而非实际规则
本节列举一些常用的正则化函数
最常用的正则项
最常用的正则项
最常用的正则项是二范平方,即系数的平方和:
✍️PASS:之所以最常用,是因为平方项比较方便求导
第二常用正则项
第二常用的正则项是一范正则项,如下:
p范数正则项
p范数通用公式:
L0范数:
即系数中非0系数的个数
L1范数:
即系数绝对值之和
L2范数:
即系数平方和再开根号
PASS:平方和往往用二范数的平方表示,即:
总的来说,正则化的目的就是避免模型过拟合,增强模型的泛化能力~
End