正则化方法:L1和L2 regularization、数据集扩增、dropout

正则化方法:防止过拟合,提高泛化能力

避免过拟合的方法有很多:Early stopping、数据集扩增(Data augmentation)、正则化(Regularization)包括L1、L2(L2 regularization也叫weight decay),dropout。

L2 regularization(权重衰减)

L2正则化就是在代价函数后面再加上一个正则化项:

L2正则化项:所有参数w的平方的和,除以训练集的样本大小n

L1 regularization

在原始的代价函数后面加上一个L1正则化项,即所有权重w的绝对值的和,乘以λ/n(这里不像L2正则化项那样,需要再乘以1/2)

Dropout

L1、L2正则化是通过修改代价函数来实现的,而Dropout则是通过修改神经网络本身来实现的,它是在训练网络时用的一种技巧(trike)

随机地“删除”一些的隐层单元,视它们为不存在

数据集扩增(data augmentation)

可以在原始数据上做些改动,得到更多的数据

以图片数据集举例,可以做各种变换,如:

将原始图片旋转一个小角度

添加随机噪声

一些有弹性的畸变(elastic distortions),论文《Best practices for convolutional neural networks applied to visual document analysis》对MNIST做了各种变种扩增。

截取(crop)原始图片的一部分。比如DeepID中,从一副人脸图中,截取出了100个小patch作为训练数据,极大地增加了数据集。感兴趣的可以看《Deep learning face representation from predicting 10,000 classes》.

posted @ 2018-12-23 15:25  学海无涯苦作舟_书山有路勤为径  阅读(142)  评论(0编辑  收藏  举报