神经网络的过拟合(Over fitting) 是神经网络学习的难点, 常规的解决方案是增加学习的样本数, 但是训练样本的搜集往往比较困难,而且样本数增加, 学习成本也随之提高. 另一个比较简单的方法来减少过拟合就是Regularization.
Regularization 的方法有多种:
L2 Regularization
修改代价函数(C)为:
C=−1n∑xj[yjlnalj+(1−yj)ln(1−alj)]+12n∑ww2L1 Regularization
修改代价函数为:
C=−1n∑xj[yjlnalj+(1−yj)ln(1−alj)]+12n∑w|w|- Dropout
Dropout的训练方法有些奇异, 每次做Back-propagation的时候, 随即删除隐藏层中一半的神经元, 迭代多次后得到网络参数.
为什么Reggularization 可以减轻过拟合(over-fitting)呢? 这个问题大概难以回答吧, 也许从Occam’s Razor 可以得到一些启发, Occam’s Razor 的描述如下:
Entities should not be multiplied unnecessary(如无必要,勿增实体)
Regularization就是试图降低网络的复杂度吧。
神经网络的过拟合可通过Regularization缓解,包括L2正则化(修改代价函数为C=−1n∑xj[yjlnalj+(1−yj)ln(1−alj)]+12n∑ww2)、L1正则化(C=−1n∑xj[yjlnalj+(1−yj)ln(1−alj)]+12n∑w|w|)和Dropout方法。Dropout在每次训练时随机删除一半隐藏层神经元。Regularization降低网络复杂度,遵循Occam's Razor原则。
4456

被折叠的 条评论
为什么被折叠?



