zoukankan      html  css  js  c++  java
  • 《深度学习》笔记-正则化

    算法效果不仅很大程度上受影响于假设空间的函数数量,也取决于这些函数数量的具体形式。

    控制算法性能的两种方式:1.允许使用的函数数量,2.这些函数的数量。

    正则化是指修改学习算法,使其降低泛化误差而非训练误差。


     正则化以偏差的增加换取方差的减少,一个有效的正则化是有利的“交易”,能够显著减少方差而不过度增加偏差。

    1.参数范数惩罚

    正则化方法通过对目标函数J添加一个参数范数惩罚Ω(Θ),限制模型的学习能力。

    选择不同的Ω,会偏好不同的解。

    L2参数正则化

    L1参数正则化

    2.作为约束的范数惩罚

    3.正则化与欠约束问题

    4.数据增强

    让机器泛化的更好的最好方法是使用更多的数据进行训练,解决方法:创建假数据并添加到训练集中。

    5.噪声鲁棒性

    方式:a.向输入添加方差极小的噪声等价于对权重施加范数惩罚

    b.将噪声增加至权重。可以解释为:关于权重的贝叶斯推断的随机实现,贝叶斯学习过程将权重视为不确定的,并且通过概率分布表示这种不确定性,向权重添加噪声是反映这种不确定性的一种实用的随机方法。

    6.半监督学习

    7.多任务学习

    通过合并几个样例来提高泛化的一种方式。

    不同的监督任务共享相同的输入X,以及详细一些不同的中间层表示。能学习共同的因素池。

    8.提前终止

    当训练有足够的表示能力甚至会过拟合的大模型时,训练误差会随着时间的推移逐渐降低但验证集误差会再次上升。

    我们需要返回使验证集误差最低的参数设置。

    提前终止需要验证集,这意味着某些训练数据不能馈送到模型。

    9.参数绑定和参数共享

    正则化一个模型的参数,使其接近另一个无监督模式下训练的模型的参数。

    10.稀疏表示

    权重衰减直接惩罚模型参数,另外一种策略是惩罚神经网络中的激活单元,稀疏化激活单元。

    11.Bagging和其他集成方法

    Bagging是通过结合几个模型降低泛化误差之间的技术,主要思想:分别训练几个不同的模型,然后让所有模型表决测试样例的输出。

    模型平均(model averaging)奏效的原因是不同的模型通常不会在测试集上产生完全相同的误差。

    12.Dropout

    集成大量深层神经网络的实用的Bagging方法。

    在Dropout的情况下,所有模型共享参数,其中每个模型继承父神经网络参数的不同子集。

    13.对抗训练

    通过对抗训练减少原有独立同分布的测试集的错误率。

    14.切面距离、正切传播和流形正切分类器

     

  • 相关阅读:
    hadoop集群安装
    struts2官方 中文教程 系列十四:主题Theme
    struts2官方 中文教程 系列十三:利用通配符选择方法
    struts2官方 中文教程 系列十二:控制标签
    struts2官方 中文教程 系列十一:使用XML进行表单验证
    struts2官方 中文教程 系列十:Form标签
    struts2官方 中文教程 系列九:Debugging Struts
    struts2官方 中文教程 系列八:异常处理
    struts2官方 中文教程 系列七:消息资源文件
    struts2官方 中文教程 系列六:表单验证
  • 原文地址:https://www.cnblogs.com/wangzhenghua/p/11947093.html
Copyright © 2011-2022 走看看