通俗理解正则化提高模型泛化性

正则化是指在损失函数上添加奖惩来使得模型具有更高的泛化性。

这是L1正则化:

这是L2正则化:

解释一下这俩公式这是什么意思:

MSE就理解为方差(其实叫均方误差mean aquare error,无妨叫什么无所谓),所有的回归方程(包括神经网络)都是求一个回归方程使得方差最小。这里的\theta指参数,在线性回归方程里面就是斜率\omega和偏置项b

我们通过拆解神经网络来解释为什么正则化以后模型泛化性提升:

首先我们得理解什么是神经网络:

神经网络是一个由很多个激活函数叠加、复合而成的多元复合函数(每个参数是一个维度),训练一个神经网络其实就是对这个复合函数进行回归。

神经网络入门:通俗理解“激活函数”是如何让神经网络工作的-CSDN博客(为了解释这篇博客,我专门写了上一篇博客解释什么是神经网络。)

既然神经网络就是一个复合函数,那么不难理解提高模型的泛化性就是提高回归以后的复合函数的平滑度。

训练神经网络就是最小化代价函数,拟合回归曲线的过程。我们假设这里的代价函数已经修正为经过L2正则化以后的J(\theta )。不难理解,要求训练过程中J(\theta )最小,那么很多参数\theta _i就会不可避免地趋于0。这些参数\theta _i趋于0以后整个复合函数会趋于平滑吗?让我们研究一下

先从实践看一下,这是一个训练两层神经网络得到的二分类的回归曲线(代价函数没有正则化):

这是它的参数

人工调参了一下(超小声hhh),现在整体参数的绝对值都比之前小很多,依然可以进行分类(阈值大概为0.6)。整体曲线也比以往平滑了很多。

再结合理论分析一下,为什么参数更趋于0,更平滑。

这是一个sigmoid函数(当然其它的激活函数也同理)

\sigma (x)=\frac{1}{1 + \exp(\omega x + b)}

从sigmoid来看,当参数\omega ,b趋于0,\sigma (x)会稳定在\frac{1}{2}左右,非线性的作用减少,线性的作用增多,从直观上就体现为用更多的线性部分代替非线性部分,从而复合函数就会更加平滑,模型泛化性更高。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值