zoukankan      html  css  js  c++  java
  • 深度学习中的正则化(一)

    • 本文首发自公众号:RAIS,点击直接关注。

    前言

    本系列文章为《Deep Learning》读书笔记,可以参看原书一起阅读,效果更佳。本文我们聊一聊深度学习中的正则化。

    深度学习中的正则化

    一般来说,深度学习所要做的事情是用已有的训练集训练一个网络模型,然后针对新的数据给出预测,我们期望我们的模型在训练集和测试集上都有良好的表现,但是有的时候两者不可兼得。一种情况是在训练集上表现很好,在测试集上表现不好或表现一般;另一种情况是在训练集上表现不好或表现一般,在测试集上表现很好。相比较而言我们更倾向于后者,因为这是我们训练模型的目的。

    为什么会出现这种情况,难道不是应该训练集上表现的越好在测试集上表现越好吗?不是的,我们在前面的文章中分析过,过度的拟合一个训练集往往会放大哪些没有那么重要的向量或因素,过拟合会导致泛化能力的下降,正则化就是为了减小测试误差的,虽然有的时候可能会以增大训练误差为代价,但是这是值得的,这些策略统称为正则化。下面给出一个简单的非严谨的正则化定义:

    正则化:减小泛化误差而不是训练误差所做的对算法的修改

    我们经常会对估计进行正则化,估计的正则化采取的方式是以偏差的增大来换取方差的减小,尤其是显著的减小方差而较小的增大偏差往往是我们追求的目标。接下来我们就分别分析介绍一下正则化的策略。

    正则化的策略

    参数范数惩罚

    [widetilde{J}(θ; X, y) = J(θ; X, y) + αΩ(θ), α∈[0, ∞) ]

    α 是惩罚参数,当 α 为 0 时代表没有惩罚;Ω 是范数惩罚项;J 为目标。神经网络中,参数包括每一层的仿射变换的权重和偏置,我们只对权重做惩罚。

    L2 正则化(权重衰减)

    感知有较高方差输入,与输出目标协方差较小的特征的权重会收缩。

    [目标函数:widetilde{J}(θ; X, y) = J(θ; X, y) + frac{α}{2}w^Tw,Ω(θ)=frac{1}{2}||w||^2_2 \ 梯度: abla_wwidetilde{J}(θ;X,y)=αw+ abla_wJ(θ;X,y) \ 单步梯度下降更新权重:wleftarrow w-epsilon(αw+ abla_wJ(θ;X,y)) ]

    L1 正则化

    [目标函数:widetilde{J}(θ; X, y) = J(θ; X, y) + α||w||_1 \ 梯度: abla_wwidetilde{J}(θ;X,y)=αsign(w)+ abla_wJ(θ;X,y) ]

    总结

    本文描述了正则化策略中最常见的一种,参数范数惩罚,并介绍了 L2 和 L1 两种最常见的范数惩罚策略。

    • 本文首发自公众号:RAIS,点击直接关注。
  • 相关阅读:
    C#枚举(一)使用总结以及扩展类分享
    .NET使用DinkToPdf将HTML转成PDF
    .NET使用MailKit进行邮件处理
    socket+django
    mysql 修改编码格式
    django中Model表的反向查询
    浅谈 session 会话的原理
    浅谈 django Models中的跨表
    django Models 常用的字段和参数
    encoding/xml
  • 原文地址:https://www.cnblogs.com/renyuzhuo/p/13340174.html
Copyright © 2011-2022 走看看