本站原创文章,转载请说明来自《老饼讲解-机器学习》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