在学习L2正则化的时候得到的一点心得体会,作为学习笔记,仅供参考。
个人理解,凡是可以减少过拟合的方法都可以称为正则化。
在深度学习中,L2正则(L1也可类似)是将权重w减小,对权重进行了惩罚,那么这是如何做到的?
这里我们假设原损失函数为:
权重更新如下式所示,公式中w是权重,是学习率:
现在给原损失函数添加L2正则化,首先知道L2是欧式距离,2范数,那么可得:
是添加正则化后的损失函数,是引入的正则化系数,为引入的L2正则项。
其中还可以写成(用矩阵表示)。那么上式就可以变为如下所示:
由于要对w求导,所以最后一项求导前面会产生一个系数2,为了简化运算,可将系数写成。
则可以写为:
则现在的权重更新为:
现在可以与原来的权重更新相比,可以看出在第一项对权重进行了缩减。那么为什么权重的衰减又可以防止过拟合呢?或是为什么加一些惩罚项就可以防止过拟合呢?其实可以这样理解(个人的一些看法),如果我们把损失函数通过泰勒展开,那么我们会得到很多的高次项,而也正是因为这些高次项,所以容易导致过拟合,那么我们就可以对高次项进行惩罚,让它尽可能的小或者对整体的贡献尽可能的小,如此一来就可以防止过拟合啦。