正则化:解决模型过拟合的手段,本质就是减小模型参数取值,从而使模型更简单。常用范数如下:
使用最多的是L2范数正则项,因此加入正则项的损失函数变为:
使用梯度下降法的权重调整公式:
推导后得到:
其中是超参数(在Python中,已经存在lambda的关键字,因此为该参数命名时应注意避免和关键字重复),它的值越大,则参数w就越小,于是模型就越简单,从而不容易过拟合。下图是tanh的函数图像,以该函数作为激活函数,可以发现:
以二分类为例,越简单的模型越接近直线(存在欠拟合),越复杂的模型越接近曲线(存在过拟合),给损失函数加入正则项,在反向传播的过程中,梯度下降法使参数w更小,那就更小,于是
就越接近0,也就是红色部分,在tanh图像中,趋于0的部分图像趋于线性(红色部分),从而使模型更加趋于线性,从而减少过拟合
L1范数的正则项与L2范数的正则项的区别是:L1范数的正则项可以使权重矩阵变成稀疏矩阵(存在大量的0),也就是减少网络中某些不起作用的神经元,因此也可以使网络更加简单。
L2正则化的缺点:需要多次训练模型,尝试不同的λ的值,选择效果最优的λ,需要花费大量的时间成本。