神经网络可能会存在过拟合,那么建议你首先对模型进行正则化处理。虽然使用更多的训练数据是肯定可以解决过拟合问题的,但问题是我们无法获得更多训练数据,即使能获取也太贵了。所以正则化是首选方案。
正则化方法有很多。L2正则化就是其中一种常见的方法。它的实现主要分为两步。第一步,就是在成本函数后面加点“尾巴”;第二步就是在计算偏导数的时候加点“尾巴”。我们以逻辑回归为例来实现L2正则化,求成本函数J的最小值,
J=1m∑i=0mL(y′i,yi)J=\frac{1}{m}\sum_{i=0}^mL(y'^i,y^i)J=m1∑i=0mL(y′i,yi)
下式是加了L2正则化尾巴的成本函数。
J=1m∑i=0mL(y′i,yi)+λ2m∣∣w∣∣2J=\frac{1}{m}\sum_{i=0}^mL(y'^i,y^i)+\frac{\lambda}{2m}||w||^2J=m1∑