zoukankan      html  css  js  c++  java
  • paddle07-paddle.regularizer正则化

    paddle.regularizer

    • 1.paddle.regularizer.L1Decay(coeff=0.0) L1Decay实现L1权重衰减正则化,用于模型训练,使得权重矩阵稀疏
      该类生成的实例对象,需要设置在 ParamAttr 或者 optimizer (例如 Momentum )中,在 ParamAttr 中设置时,只对该 网络层中的可训练参数生效;在 optimizer 中设置时,会对所有的可训练参数生效;如果同时设置,在 ParamAttr 中设置的优先级会高于在 optimizer 中的设置,即,对于一个可训练的参数,如果在 ParamAttr 中定义了正则化,那么会忽略 optimizer 中的正则化;否则会使用 ``optimizer``中的 正则化。  
      
      参数: coeff (float) – L1正则化系数,默认值为0.0  
      
      * Example1: set Regularizer in optimizer
      from paddle.regularizer import L1Decay
      linear = paddle.nn.Linear(10, 10)
      inp = paddle.rand(shape=[10, 10], dtype="float32")
      out = linear(inp)
      loss = paddle.mean(out)
      momentum = paddle.optimizer.Momentum(
          learning_rate=0.1,
          parameters=linear.parameters(),
          weight_decay=L1Decay(0.0001))
      back = out.backward()
      momentum.step()
      momentum.clear_grad()
      
      *  Example2: set Regularizer in parameters
      # Set L1 regularization in parameters.
      # Global regularizer does not take effect on my_conv2d for this case.
      from paddle.nn import Conv2D
      from paddle import ParamAttr
      from paddle.regularizer import L2Decay
      
      my_conv2d = Conv2D(
                      in_channels=10,
                      out_channels=10,
                      kernel_size=1,
                      stride=1,
                      padding=0,
                      weight_attr=ParamAttr(regularizer=L2Decay(coeff=0.01)),
                      bias_attr=False)
      
    • 2.paddle.regularizer.L2Decay(coeff=0.0) L2Decay实现L2权重衰减正则化,用于模型训练,有助于防止模型对训练数据过拟合
      同 L1
      
  • 相关阅读:
    我理解的朴素贝叶斯模型
    P2P贷款全攻略,贷前、贷中、贷后工作事项解析
    Jupyter Notebook 快速入门
    R语言|数据特征分析
    R语言︱处理缺失数据&&异常值检验、离群点分析、异常值处理
    mysql explain执行计划详解
    R语言中的回归诊断-- car包
    一行代码搞定 R 语言模型输出!(使用 stargazer 包)
    基于R语言的时间序列指数模型
    基于R语言的ARIMA模型
  • 原文地址:https://www.cnblogs.com/zhangtao-0001/p/14734853.html
Copyright © 2011-2022 走看看