正则化方法

参考https://blog.csdn.net/liujiandu101/article/details/55103831

参数惩罚:

  在损失函数中加入L1,L2范数惩罚项,或使用可以将L1和L2结合起来的ElasticNet回归。

  其中L1正则可同时起到特征选择的作用:当L1正则在参数w比较小的情况下,能够直接缩减至0.因此可以起到特征选择的作用,该技术也称之为 LASSO。

  L2也可称为岭回归(Ridge)

  一般对偏置项不加约束。主要原因是偏置项一般需要较少的数据就能精确的拟合。如果添加约束常常会导致欠拟合。

 

数据集扩充:

  搜集更多数据

  防止过拟合最有效的方法是增加训练集合,训练集合越大过拟合概率越小。数据集合扩充是一个省时有效的方法,但是在不同领域方法不太通用。 
  1. 在目标识别领域常用的方法是将图片进行旋转、缩放等(图片变换的前提是通过变换不能改变图片所属类别,例如手写数字识别,类别6和9进行旋转后容易改变类目) 
  2. 语音识别中对输入数据添加随机噪声 
  3. NLP中常用思路是进行近义词替换 
  4. 噪声注入,可以对输入添加噪声,也可以对隐藏层或者输出层添加噪声。例如对于softmax 分类问题可以通过 Label Smoothing技术添加噪声。

 

DropOut 

  Dropout在训练过程中,随机的丢弃一部分输入,此时丢弃部分对应的参数不会更新。相当于Dropout是一个集成方法,将所有子网络结果进行合并,通过随机丢弃输入可以得到各种子网络。

  优点:比上述其他正则化方法更有效;计算复杂度低,实现简单,可用于其他非深度学习模型;训练过程中的随机过程不是充分条件也不是必要条件,可以构造不变的屏蔽参数,也能得到足够好的解。

  缺点:训练数据较少时,效果不好。

 

提前停止

  在模型训练过程中经常出现随着不断迭代,训练误差不断减少,但是验证误差减少后开始增长。 
  提前停止(Early Stopping)的策略是:在验证误差不在提升后,提前结束训练;而不是一直等待验证误差到最小值。

  提前停止策略使用起来非常方便,不需要改变原有损失函数,简单而且执行效率高。

  但是它需要一个额外的空间来备份一份参数。

  提前停止策略可以和其他正则化策略一起使用。

  提前停止策略确定训练迭代次数后,有两种策略来充分利用训练数据,一是将全量训练数据一起训练一定迭代次数;二是迭代训练流程直到训练误差小于提前停止策略的验证误差。

  对于二次优化目标和线性模型,提前停止策略相当于L2正则化。

 

集成化方法:

  bagging,boosting(不确定,因为boosting减小偏差,应该是欠拟合的解决方案?)

  Bagging的策略很多,例如不同初始化方法、不同mini batch选择方法、不同的超参数选择方法;

  (Boosting,通过改变样本权重来训练不同模型。)

 

半监督学习:

  适用于训练集很小,监督学习得到的模型效果不能满足需求的情况。

 

posted @ 2018-04-17 15:02  FluffyLu  阅读(146)  评论(0编辑  收藏  举报