正则化

虽然一直知道正则化是用于避免网络过拟合,可是不是很清楚为什么可以避免过拟合,昨天通过通过公式才看懂究竟是为什么。今天做一个小总结。
在论文中,正则化用“regularization”表示,翻译成中文应该是规则化。规则化是规则什么呢?规则的是我们学习提取到的特征。
在学习的过程中,有些时候会出现过拟合的情况,就是对于训练集和验证集有着优秀的拟合预测能力,但是对于测试集或未见过的样本,拟合预测能力很差,我们说泛化能力较差,出现了过拟合的情况。针对过拟合这种测试误差,通常的解决方法有提前停止训练,增强数据集,使用集成学习,L1,L2正则化,使用dropout层,使用BN层等等方式。
正则化就是针对特征,针对模型的一种限制算法。拟合能力越强,说明到学习的特征越多,w参数数量越多,模型越复杂。
博客https://charlesliuyx.github.io/2017/10/03/%E3%80%90%E7%9B%B4%E8%A7%82%E8%AF%A6%E8%A7%A3%E3%80%91%E4%BB%80%E4%B9%88%E6%98%AF%E6%AD%A3%E5%88%99%E5%8C%96/
给出了详细的数学说明,我这里做一个简单的说明
博客中给出的正则化公式为正则化
前项为模型,后项为加入的限制条件,也就是正则项的惩罚函数,实际上还有好多例如:
正则化
正则化
还用第一个式子做说明,我们想要这个式子的值最小,就是损失函数最小。然后引入了正则项后使得整体值增加了。M是模型的阶次,也就是w的数量,是学习到的特征的数量,那么相应的学习到的特征越多,加和项越多,损失函数就不可能小,于是在这里达到了一个限制平衡。
L1和L2正则化就是当q=1,1=2时的情况,它的图是这样的:
正则化
这两种正则化方式,限制了w的大小,从另一个方面讲是将w的值缩小,那么一些不重要的特征被减小到0或者可以被忽略时,模型的复杂度就被降低了,自然就避免了过拟合的情况。L2正则化实现了权值衰减;L1正则化可以产生稀疏权重参数矩阵。
至于两种算法的推导,博客https://www.cnblogs.com/yxwkf/p/5268577.html中讲的很明白了,就是求导,改变了权值的更新公式。为了完整性,这里截图说明。
正则化
正则化