https://www.toutiao.com/a6700336339163808267/
Regularization:在现有Features不变情况下,降低部分不重要Features的影响力。这个方法有助于有很多Features且每个Features都有贡献的Neural Network避免Overfitting。
Regularization不是新鲜的词,我这里主要记录其在神经网络中的应用。
复杂模型的overfitting问题
第一次听Regularization的时候,总会和正则表达联系在一起,如
@Star Folding
所说,Regularization就是向你的模型加入某些规则,加入先验,缩小解空间,减小求出错误解的可能性。而正则化这个词,的确让初学者不知道这个是什么。原理是这样的:
在cost function后面加一个惩罚项(对某些参数做限制),如果一个权重太大,将导致Cost过大,因此在反向传播后就会对这个权重进行惩罚,使保持在一个较小的值。
常见的是L1 Regularization 和 L2 Regularization
原谅我还是得用李宏毅老师的PPT
在用L1 Regularization后的Cost function经过微分后
用L1 Regularization的话,相当于每次在更新权重的时候,如果原来的
是正的,就减去上图划线的项,如果是负的,就加上划线的项,于此一来就相当于每次更新都在减小权重。
在用L2 Regularization后的Cost function经过微分后
也就是对于L2 Regularization,相当于每次在权重更新的时候,都先将上一次的权重先乘
,类似于0.999之类的,所以每次都会越来越靠近0(但不会真的都变成0,因为还有后面的微分)。
这样每次都减一点减一点的方式,就是Weight Decay了。
最后,来看一个在Regression中的Regularization视频,讲得不错。
Regularization
参考资料:
[1]:Machine Learning學習日記 — Coursera篇 (Week 3.4):The Problem of Overfitting, Cost Function, Regularized Linear Regression, Regularized Logistic Regression
[2]:机器学习中常常提到的正则化到底是什么意思?
[3]:Difference between L1 and L2 regularization, implementation and visualization in Tensorflow
[4]:https://murphymind.blogspot.com/2017/05/machine.learning.regularization.html