精华内容
下载资源
问答
  • 参数调优有哪些方法

    千次阅读 2019-07-29 20:35:40
    一是目标函数,即算法需要最大/最小的目标二是搜索范围,一般通过上限和下限来确定;三是算法的其他参数,如搜索步长。 1、网格搜索 网格搜索可能是最简单、应用最广泛的超参数搜索算法,它通过查找搜索范围内的...

    概述:

    为了进行超参数调优,我们一般会采用网格搜索、随机搜索、贝叶斯优化等算法。在具体介绍算法之前,需要明确超参数搜索算法一般包括哪几个要素。一是目标函数,即算法需要最大化/最小化的目标;二是搜索范围,一般通过上限和下限来确定;三是算法的其他参数,如搜索步长。

    1、网格搜索

    网格搜索可能是最简单、应用最广泛的超参数搜索算法,它通过查找搜索范围内的所有的点来确定最优值。如果采用较大的搜索范围以及较小的步长,网格搜索有很大概率找到全局最优值。然而,这种搜索方案十分消耗计算资源和时间,特别是需要调优的超参数比较多的时候。因此,在实际应用中,网格搜索法一般会先使用较广的搜索范围和较大的步长,来寻找全局最优值可能的位置;然后会逐渐缩小搜索范围和步长,来寻找更精确的最优值。这种操作方案可以降低所需的时间和计算量,但由于目标函数一般是非凸的,所以很可能会错过全局最优值。

    2、随机搜索

    随机搜索的思想与网格搜索比较相似,只是不再测试上界和下界之间的所有值,而是在搜索范围中随机选取样本点。它的理论依据是,如果样本点集足够大,那么通过随机采样也能大概率地找到全局最优值,或其近似值。随机搜索一般会比网格搜索要快一些,但是和网格搜索的快速版一样,它的结果也是没法保证的。

    3、贝叶斯优化算法

    贝叶斯优化算法在寻找最优最值参数时,采用了与网格搜索、随机搜索完全不同的方法。网格搜索和随机搜索在测试一个新点时,会忽略前一个点的信息;而贝叶斯优化算法则充分利用了之前的信息。贝叶斯优化算法通过对目标函数形状进行学习,找到使目标函数向全局最优值提升的参数。具体来说,它学习目标函数形状的方法是,首先根据先验分布,假设一个搜集函数;然后,每一次使用新的采样点来测试目标函数时,利用这个信息来更新目标函数的先验分布;最后,算法测试由后验分布给出的全局最值最可能出现的位置的点。对于贝叶斯优化算法,有一个需要注意的地方,一旦找到了一个局部最优值,它会在该区域不断采样,所以很容易陷入局部最优值。为了弥补这个缺陷,贝叶斯优化算法会在探索和利用之间找到一个平衡点,“探索”就是在还未取样的区域获取采样点;而“利用”则是根据后验分布在最可能出现全局最值的区域进行采样。

    参考来源:《百面机器学习》诸葛越著,第2章第6节。

    展开全文
  • 1.1正则化方法参数范数惩罚(Parameter Norm Penalties)基本思想:在代价函数中加入正则项,常用的L1正则项和L2正则项。L2正则项:L1正则项:L1和L2正则化的区别图1 L1正则化和L2正则化彩色线就是优化过程中遇到的...

    正则化

    对学习算法进行修改,旨在减少泛化误差,防止过拟合。

    1.1正则化方法

    参数范数惩罚(Parameter Norm Penalties)

    基本思想:在代价函数中加入正则项,常用的有L1正则项和L2正则项。L2正则项:L1正则项:

    L1和L2正则化的区别图1 L1正则化和L2正则化

    彩色线就是优化过程中遇到的等高线,一圈代表一个目标函数值,圆心就是样本观测值(假设一个样本),半径就是误差值,受限条件就是黑色边界(就是正则化那部分),二者相交处,才是最优参数。

    左图中这个顶点的值是(w1,w2)=(0,w)。可以直观想象,因为L1函数有很多『突出的角』(二维情况下四个,多维情况下更多),没有加正则项的损失函数与这些角接触的机率会远大于与L1其它部位接触的机率,而在这些角上,会有很多权值等于0,这就是L1可以产生稀疏模型的原因,进而可以用于特征选择。

    右图中二维平面下L2正则化的函数图形是个圆,与方形相比,被磨去了棱角。因此没有加正则项的损失函数与L相交时使得w1或w2等于零的机率小了许多,这就是L2正则化不具有稀疏性的原因。

    数据集增强(Dataset Augmentation)

    在不同领域对应不同的方法:

    在对象识别领域常用的方法是将图片进行旋转、缩放等变换,图片变换的前提是通过变换不能改变图片所属类别,例如手写数字识别,类别6和9进行旋转后改变正确类别。

    在语音识别领域中对输入数据添加随机噪声。噪声注入可以对输入添加噪声,也可以对隐藏层或者输出层添加噪声。

    提前终止(Early Stopping)

    返回使验证集误差最低的参数设置可以获得更好的模型。在每次验证集误差有所改善后,存储模型参数的副本。当验证集误差在事先指定的循环内没有进一步改善时,算法终止。

    很多控制模型容量的超参数在验证集上都是U型性能曲线,在提前终止的情况下,我们通过拟合训练集的步数来控制模型的有效容量。

    Dropout

    Dropout训练的集成包括所有从基本的基础网络中去除非单元形成的子网络,我们可以将一些单元的输出乘零就可以有效的删除一个单元。

    训练层面:训练网络的每个单元都要增加一道概率流程。

    Dropout有助于防止过拟合,这是由于运用了dropout的训练过程,相当于训练了很多个只有半数隐层单元的神经网络,每一个这样的半数网络都可以给出一个分类结果,这些分类结果有些正确,有些错误。

    随着训练的进行,大部分半数网络都可以给出正确的分类结果,那么少数的错误分类结果就不会对最终结果造成大的影响。

    1.2 正则化方法比较

    参数范数惩罚:需要大量的训练确定超参数

    数据集增强:获得大量训练样本的代价太大

    提前终止:extra training结果有可能存在无法达到early stopping训练结果的情况

    Dropout:在小型网络中,训练速度较慢

    展开全文
  • 参数有哪些调优方法

    千次阅读 2019-03-23 16:10:02
    为了进行超参数调优,我们一般会采用网格搜索,随机搜索,贝叶斯优化等算法。 在具体介绍算法之前,需要明确超参数搜索算法一般包括哪几个要素。一时目标函数,即算法需要最大。最小的目标。二十搜索范围,一般...

    为了进行超参数调优,我们一般会采用网格搜索,随机搜索,贝叶斯优化等算法。

    在具体介绍算法之前,需要明确超参数搜索算法一般包括哪几个要素。一时目标函数,即算法需要最大化。最小化的目标。二十搜索范围,一般通过上限和下限来确定。三十算法的其他参数,如搜索步长。

    网格搜索:

    网格搜索可能是最简单,应用最广泛的超参数搜索算法,他通过查找搜索范围内的所以的点来确定最优值。如果采用较大的搜索范围及较小的步长,网格搜索很大概率找到全局最优值。然而这种搜索方案十分消耗计算资源和时间,特别是需要调优的超参数比较多的时候。

    因此在实际应用过程中,网格搜索法一般会先使用较广的搜索范围和较大的步长,来找到全局最优值可能的位置;然后再缩小搜索范围和步长,来寻找更精确的最优值。这种操作方案可以降低所需的时间和计算量,但由于目标函数一般是非凸的,所以很可能会错过全局最优值。

     

    随机搜索

    随机搜索的思想与网络搜索比较相似,只是不再测试上界和下界之间所有值,而是在搜索范围内随机选取样本点。他的理论依据是,如果样本点集足够大,那么通过随机采样也能大概率地找到全局最优值或近似值。随机搜索一般会比网络搜索要快一些,但是和网格搜索快速版一样,他的结果是没有办法保证的。

     

    贝叶斯优化算法

    贝叶斯优化算法在寻找最优和最值参数时。采用了与网格搜索和随机搜索完全不同的方法。网格搜素和随机搜索在测试一个新点时,会忽略前一个点的信息,而贝叶斯优化算法则充分利用了之前的信息。贝叶斯优化算法通过对目标函数形状进行学习,找到使目标函数向全局最优值提升的参数。

    具体来说,他学习目标函数的方法是,首先根据先验分布,假设一个搜索函数;然后,每一次使用心得采样点来测试目标函数时,利用这个信息来更新目标函数的先验分布;最后,算法测试油后验分布给出的全局最值可能出现的位置的点。对于贝叶斯优化算法,有一个需要注意的是,一旦找到可一个局部最优值,他会在该区域不断采样,所以很容易陷入局部最优值。为了弥补这个缺点,贝叶斯算法会在探索和利用之间找到一个平衡点,探索就是在还未取样的区域获取采样点,而利用则更急后验分布在最可能出现的全局最值区域进行采样、。

    展开全文
  • 介绍一下深度学习网络,如何工作的,有哪些参数,结果如何优化(实际上想问哪些优化器),参数如何初始,平时如何调参,调哪些参数? 前面我们说了RNN具有时间"记忆"的功能, 那么它是怎么实现所谓的"记忆"的呢? ...

    介绍一下深度学习网络,如何工作的,有哪些参数,结果如何优化(实际上想问哪些优化器),参数如何初始化,平时如何调参,调哪些参数?
    优化器的使用:
    在机器学习与深度学习中,主要应用于梯度下降。比如:传统的优化器主要结合数据集,通过变化单次循环所采用的数据量的大小来对梯度下降进行控制;非传统的优化器则进一步结合数据集的特点和模型的训练时间,以不同的形式变化梯度下降的学习率。
    常见的优化器
    SGD、BGD、MBGD、Momentum、NAG、Adagrad、RMSprop、Adam
    梯度下降的原理:
    θn+1=θn−η▽θJ(θ)
    其中η为学习率;θn为更新前的参数;θn+1为更新后的参数;▽θJ(θ)是当前参数的导数。
    1.SGD(Stochastic Gradient Descent )
    SGD随机梯度下降参数更新原则:单条数据就可对参数进行一次更新。
    优点:参数更新速度快。
    缺点:由于每次参数更新时采用的数据量很小,造成梯度更新时震荡幅度大,但大多数情况都是向着梯度减小的方向。

    2.BGD(Batch Gradient Descent )
    BGD批量梯度下降参数更新原则:所有数据都参与参数的每一次更新。
    优点:由于每次参数更新时采用的数据量很大,梯度更新时很平滑。
    缺点:由于每次参数更新时采用的数据量很大,造成参数更新速度慢。

    通常可以将超参数分为三类:网络参数、优化参数、正则化参数。
    ​ 网络参数:可指网络层与层之间的交互方式(相加、相乘或者串接等)、卷积核数量和卷积核尺寸、网络层数(也称深度)和激活函数等。
    ​ 优化参数:一般指学习率(learning rate)、批样本数量(batch size)、不同优化器的参数以及部分损失函数的可调参数。
    ​ 正则化:权重衰减系数,丢弃法比率(dropout)

    前面我们说了RNN具有时间"记忆"的功能, 那么它是怎么实现所谓的"记忆"的呢?
    在这里插入图片描述
    如图1所示, 我们可以看到RNN层级结构较之于CNN来说比较简单, 它主要有输入层,Hidden Layer, 输出层组成.

    并且会发现在Hidden Layer 有一个箭头表示数据的循环更新, 这个就是实现时间记忆功能的方法.

    如果到这里你还是没有搞懂RNN到底是什么意思,那么请继续往下看!
    在这里插入图片描述
    如图2所示为Hidden Layer的层级展开图. t-1, t, t+1表示时间序列. X表示输入的样本. St表示样本在时间t处的的记忆,St = f(WSt-1 +UXt). W表示输入的权重, U表示此刻输入的样本的权重, V表示输出的样本权重.

    在t =1时刻, 一般初始化输入S0=0, 随机初始化W,U,V, 进行下面的公式计算:
    在这里插入图片描述
    其中,f和g均为激活函数. 其中f可以是tanh,relu,sigmoid等激活函数,g通常是softmax也可以是其他。

    时间就向前推进,此时的状态s1作为时刻1的记忆状态将参与下一个时刻的预测活动,也就是:

    在这里插入图片描述
    以此类推, 可以得到最终的输出值为:
    在这里插入图片描述
    2) RNN的反向传播
    前面我们介绍了RNN的前向传播的方式, 那么RNN的权重参数W,U,V都是怎么更新的呢?

    每一次的输出值Ot都会产生一个误差值Et, 则总的误差可以表示为:.

    则损失函数可以使用交叉熵损失函数也可以使用平方误差损失函数.

    由于每一步的输出不仅仅依赖当前步的网络,并且还需要前若干步网络的状态,那么这种BP改版的算法叫做Backpropagation Through Time(BPTT) , 也就是将输出端的误差值反向传递,运用梯度下降法进行更新.(不熟悉BP的可以参考这里)

    也就是要求参数的梯度:

    在这里插入图片描述

    首先我们求解W的更新方法, 由前面的W的更新可以看出它是每个时刻的偏差的偏导数之和.

    文章目录

    超参数概念
    什么是超参数,参数和超参数的区别?
    神经网络中包含哪些超参数?
    为什么要进行超参数调优?
    超参数的重要性顺序
    部分超参数如何影响模型性能?
    部分超参数合适的范围
    网络训练中的超参调整策略
    如何调试模型?
    为什么要做学习率调整?

    超参数概念
    什么是超参数,参数和超参数的区别?

    ​ 区分两者最大的一点就是是否通过数据来进行调整,模型参数通常是有数据来驱动调整,超参数则不需要数据来驱动,而是在训练前或者训练中人为的进行调整的参数。例如卷积核的具体核参数就是指模型参数,这是有数据驱动的。而学习率则是人为来进行调整的超参数。这里需要注意的是,通常情况下卷积核数量、卷积核尺寸这些也是超参数,注意与卷积核的核参数区分。
    神经网络中包含哪些超参数?

    通常可以将超参数分为三类:网络参数、优化参数、正则化参数。

    ​ 网络参数:可指网络层与层之间的交互方式(相加、相乘或者串接等)、卷积核数量和卷积核尺寸、网络层数(也称深度)和激活函数等。

    ​ 优化参数:一般指学习率(learning rate)、批样本数量(batch size)、不同优化器的参数以及部分损失函数的可调参数。

    ​ 正则化:权重衰减系数,丢弃法比率(dropout)
    为什么要进行超参数调优?

    ​ 本质上,这是模型优化寻找最优解和正则项之间的关系。网络模型优化调整的目的是为了寻找到全局最优解(或者相比更好的局部最优解),而正则项又希望模型尽量拟合到最优。两者通常情况下,存在一定的对立,但两者的目标是一致的,即最小化期望风险。模型优化希望最小化经验风险,而容易陷入过拟合,正则项用来约束模型复杂度。所以如何平衡两者之间的关系,得到最优或者较优的解就是超参数调整优化的目的。
    超参数的重要性顺序

    首先, 学习率,损失函数上的可调参数。在网络参数、优化参数、正则化参数中最重要的超参数可能就是学习率了。学习率直接控制着训练中网络梯度更新的量级,直接影响着模型的有效容限能力;损失函数上的可调参数,这些参数通常情况下需要结合实际的损失函数来调整,大部分情况下这些参数也能很直接的影响到模型的的有效容限能力。这些损失一般可分成三类,第一类辅助损失结合常见的损失函数,起到辅助优化特征表达的作用。例如度量学习中的Center loss,通常结合交叉熵损失伴随一个权重完成一些特定的任务。这种情况下一般建议辅助损失值不高于或者不低于交叉熵损失值的两个数量级;第二类,多任务模型的多个损失函数,每个损失函数之间或独立或相关,用于各自任务,这种情况取决于任务之间本身的相关性,目前笔者并没有一个普适的经验由于提供参考;第三类,独立损失函数,这类损失通常会在特定的任务有显著性的效果。例如RetinaNet中的focal loss,其中的参数γ,α,对最终的效果会产生较大的影响。这类损失通常论文中会给出特定的建议值。

    其次,批样本数量,动量优化器(Gradient Descent with Momentum)的动量参数β。批样本决定了数量梯度下降的方向。过小的批数量,极端情况下,例如batch size为1,即每个样本都去修正一次梯度方向,样本之间的差异越大越难以收敛。若网络中存在批归一化(batchnorm),batch size过小则更难以收敛,甚至垮掉。这是因为数据样本越少,统计量越不具有代表性,噪声也相应的增加。而过大的batch size,会使得梯度方向基本稳定,容易陷入局部最优解,降低精度。一般参考范围会取在[1:1024]之间,当然这个不是绝对的,需要结合具体场景和样本情况;动量衰减参数β是计算梯度的指数加权平均数,并利用该值来更新参数,设置为 0.9 是一个常见且效果不错的选择;

    最后,Adam优化器的超参数、权重衰减系数、丢弃法比率(dropout)和网络参数。在这里说明下,这些参数重要性放在最后并不等价于这些参数不重要。而是表示这些参数在大部分实践中不建议过多尝试,例如Adam优化器中的β1,β2,ϵ,常设为 0.9、0.999、10−8就会有不错的表现。权重衰减系数通常会有个建议值,例如0.0005 ,使用建议值即可,不必过多尝试。dropout通常会在全连接层之间使用防止过拟合,建议比率控制在[0.2,0.5]之间。使用dropout时需要特别注意两点:一、在RNN中,如果直接放在memory cell中,循环会放大噪声,扰乱学习。一般会建议放在输入和输出层;二、不建议dropout后直接跟上batchnorm,dropout很可能影响batchnorm计算统计量,导致方差偏移,这种情况下会使得推理阶段出现模型完全垮掉的极端情况;网络参数通常也属于超参数的范围内,通常情况下增加网络层数能增加模型的容限能力,但模型真正有效的容限能力还和样本数量和质量、层之间的关系等有关,所以一般情况下会选择先固定网络层数,调优到一定阶段或者有大量的硬件资源支持可以在网络深度上进行进一步调整。
    

    部分超参数如何影响模型性能?
    超参数 如何影响模型容量 原因 注意事项
    学习率 调至最优,提升有效容量 过高或者过低的学习率,都会由于优化失败而导致降低模型有效容限
    学习率最优点,在训练的不同时间点都可能变化,所以需要一套有效的学习率衰减策略
    损失函数部分超参数 调至最优,提升有效容量 损失函数超参数大部分情况都会可能影响优化,不合适的超参数会使即便是对目标优化非常合适的损失函数同样难以优化模型,降低模型有效容限。 对于部分损失函数超参数其变化会对结果十分敏感,而有些则并不会太影响。在调整时,建议参考论文的推荐值,并在该推荐值数量级上进行最大最小值调试该参数对结果的影响。

    批样本数量 过大过小,容易降低有效容量 大部分情况下,选择适合自身硬件容量的批样本数量,并不会对模型容限造成。 在一些特殊的目标函数的设计中,如何选择样本是很可能影响到模型的有效容限的,例如度量学习(metric learning)中的N-pair loss。这类损失因为需要样本的多样性,可能会依赖于批样本数量。

    丢弃法 比率降低会提升模型的容量 较少的丢弃参数意味着模型参数量的提升,参数间适应性提升,模型容量提升,但不一定能提升模型有效容限

    权重衰减系数 调至最优,提升有效容量 权重衰减可以有效的起到限制参数变化的幅度,起到一定的正则作用
    优化器动量 调至最优,可能提升有效容量 动量参数通常用来加快训练,同时更容易跳出极值点,避免陷入局部最优解。
    模型深度 同条件下,深度增加,模型容量提升 同条件,下增加深度意味着模型具有更多的参数,更强的拟合能力。 同条件下,深度越深意味着参数越多,需要的时间和硬件资源也越高。
    卷积核尺寸 尺寸增加,模型容量提升 增加卷积核尺寸意味着参数量的增加,同条件下,模型参数也相应的增加。
    部分超参数合适的范围
    超参数 建议范围 注意事项
    初始学习率 SGD: [1e-2, 1e-1]
    momentum: [1e-3, 1e-2]
    Adagrad: [1e-3, 1e-2]
    Adadelta: [1e-2, 1e-1]
    RMSprop: [1e-3, 1e-2]
    Adam: [1e-3, 1e-2]
    Adamax: [1e-3, 1e-2]
    Nadam: [1e-3, 1e-2] 这些范围通常是指从头开始训练的情况。若是微调,初始学习率可在降低一到两个数量级。
    损失函数部分超参数 多个损失函数之间,损失值之间尽量相近,不建议超过或者低于两个数量级 这是指多个损失组合的情况,不一定完全正确。单个损失超参数需结合实际情况。
    批样本数量 [1:1024] 当批样本数量过大(大于6000)或者等于1时,需要注意学习策略或者内部归一化方式的调整。
    丢弃法比率 [0, 0.5]
    权重衰减系数 [0, 1e-4]
    卷积核尺寸 [7x7],[5x5],[3x3],[1x1], [7x1,1x7]
    网络训练中的超参调整策略
    如何调试模型?

    在讨论如何调试模型之前,我们先来纠正一个误区。通常理解如何调试模型的时候,我们想到一系列优秀的神经网络模型以及调试技巧。但这里需要指出的是数据才是模型的根本,如果有一批质量优秀的数据,或者说你能将数据质量处理的很好的时候,往往比挑选或者设计模型的收益来的更大。那在这之后才是模型的设计和挑选以及训练技巧上的事情。

    1、探索和清洗数据。探索数据集是设计算法之前最为重要的一步,以图像分类为例,我们需要重点知道给定的数据集样本类别和各类别样本数量是否平衡,图像之间是否存在跨域问题(例如网上爬取的图像通常质量各异,存在噪声)。若是类别数远远超过类别样本数(比如类别10000,每个类别却只有10张图像),那通常的方法可能效果并不显著,这时候few-shot learning或者对数据集做进一步增强可能是你比较不错的选择。再如目标检测,待检测目标在数据集中的尺度范围是对检测器的性能有很大影响的部分。因此重点是检测大目标还是小目标、目标是否密集完全取决于数据集本身。所以,探索和进一步清洗数据集一直都是深度学习中最重要的一步。这是很多新手通常会忽略的一点。

    2、探索模型结果。探索模型的结果,通常是需要对模型在验证集上的性能进行进一步的分析,这是如何进一步提升模型性能很重要的步骤。将模型在训练集和验证集都进行结果的验证和可视化,可直观的分析出模型是否存在较大偏差以及结果的正确性。以图像分类为例,若类别间样本数量很不平衡时,我们需要重点关注少样本类别在验证集的结果是否和训练集的出入较大,对出错类别可进一步进行模型数值分析以及可视化结果分析,进一步确认模型的行为。

    3、监控训练和验证误差。首先很多情况下,我们忽略代码的规范性和算法撰写正确性验证,这点上容易产生致命的影响。在训练和验证都存在问题时,首先请确认自己的代码是否正确。其次,根据训练和验证误差进一步追踪模型的拟合状态。若训练数据集很小,此时监控误差则显得格外重要。确定了模型的拟合状态对进一步调整学习率的策略的选择或者其他有效超参数的选择则会更得心应手。
    为什么要做学习率调整?

    ​ 学习率可以说是模型训练最为重要的超参数。通常情况下,一个或者一组优秀的学习率既能加速模型的训练,又能得到一个较优甚至最优的精度。过大或者过小的学习率会直接影响到模型的收敛。我们知道,当模型训练到一定程度的时候,损失将不再减少,这时候模型的一阶梯度接近零,对应Hessian 矩阵通常是两种情况,一、正定,即所有特征值均为正,此时通常可以得到一个局部极小值,若这个局部极小值接近全局最小则模型已经能得到不错的性能了,但若差距很大,则模型性能还有待于提升,通常情况下后者在训练初最常见。二,特征值有正有负,此时模型很可能陷入了鞍点,若陷入鞍点,模型性能表现就很差。以上两种情况在训练初期以及中期,此时若仍然以固定的学习率,会使模型陷入左右来回的震荡或者鞍点,无法继续优化。所以,学习率衰减或者增大能帮助模型有效的减少震荡或者逃离鞍点。
    ————————————————
    版权声明:本文为CSDN博主「vector_xfy」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/xu_fu_yong/article/details/96102999
    ————————————————
    版权声明:本文为CSDN博主「笨拙的石头」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qq_32241189/article/details/80461635
    ————————————————
    版权声明:本文为CSDN博主「笨拙的石头」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qq_32241189/article/details/80461635
    ————————————————
    版权声明:本文为CSDN博主「笨拙的石头」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qq_32241189/article/details/80461635

    展开全文
  • 本文主要介绍pytorch中CNN模型有哪些常用参数初始化方法,以及如何实现网络层的初始化。 一、常用的初始化方法 import torch.nn as nn import torch weights = torch.empty(2, 2) # 1.用均匀分布的值填充输入...
  • 书写:构造方法需要与其所在类完全相同的名字,无返回值无返回值类型如:class Example{public Example(){}}在初始对象时,构造方法系统自动调用,构造方法无法手动调用构造方法可以同名,区分看参数个数,类型,顺序,...
  • 特殊方法(特殊成员):这类方法名字特殊,特殊用途,会自动调用。...1、__init__():一般用来初始类的参数,大家习惯叫做【构造方法】使用情况:最多使用,一般的类都会使用代码如下:classPe...
  • 静态方法无需传入任何参数;类方法传入的第一个参数必须是class本身cls;静态方法与类方法一旦被调用,内存地址即确定。通过类调用和通过实例对象调用的结果完全一样。直接上代码:# coding:utf-8class Apple:def ...
  • 好程序员特训营是国内高端IT教育品牌,颠覆传统...从导师选用到学员筛选,从课程双P线并行到教学半军事管理,将先进的教育方法、前沿的课程体系落地。相信很多初学JavaScript的小伙伴们都有用到document.write()...
  • 1、对于连接的SQL语句要过滤SQL关键字 2、使用参数化查询 转载于:https://www.cnblogs.com/yuzc/p/8877500.html
  • 这是最简单的方式,Spring IoC容器即能使用默认空构造器也能使用有参数构造器两种方式创建Bean。 第2种:使用静态工厂方式实例Bean 使用这种方式除了指定必须的class属性,还要指定factory-method属性来指定...
  • 比如,我们经常会读取txt获取一些信息,用来参数化操作。当然不局限于这些,关于文件读写方面的知识很多,说一天可能都说不完,但是我们今天呢?主要跟大家分享的是python的文件读写中一些比较实用、我们经常用的...
  • 注:参数化有三种方式 1、格式为txt 2、格式为csv 3、randomstring 随机生成 方法一:randomstring 随机生成 注:此方法缺点就是随机容易生成重复数据 步骤一: 创建http请求 步骤二:添加函数对话框 步骤三:把...
  • JSP共有以下9个内置的对象:  request 用户端请求,此请求会包含来自GET/POST请求的参数  response 网页传回用户端的回应 ...该对象用于存取servlet实例的初始化参数。  page表示从该页面产生的一个servlet实例
  • 遥感提取植被指数的方法有哪些?植被指数大概可以分为三类:第一类为简单植被指数,基本为各种光谱波段的组合,不包含光谱信息外的其他因素,如比值植被指数(RVI)、差值植被指数(DVI)和归一植被指数(NDVI); 第二类...
  • 参数化设计有哪些实现方式呢?下面为我们将为大家简单介绍SOLIDWORKS中参数化设计的几种方法。【什么是参数化设计】1.它是一种设计的方式,将设计规范到由产品结构的顶层传递至相关次层级的一种设计方式。2.它是一种...
  • 归一化方法

    千次阅读 2018-09-29 20:26:05
    归一化方法 过拟合两种解决方式: 1.丢弃一些不能帮助我们正确预测的特征。采用的方法如下: 手工选择保留哪些特征。 使用一些模型选择算法来帮忙降维。(例如PCA等)` 2.归一化处理 保留所有的特征,但是减少...
  • 无参方法有那几个组成部分? 调用无参方法的两种形式是什么? 第一种:同一个类中的方法调用 直接用方法名 show(); 第二种:不同类中的方法调用 -->对象实例 -->对象名.show(); 方法的放回值...
  • 参数化设计有哪些实现方式呢?下面为我们将为大家简单介绍SOLIDWORKS中参数化设计的几种方法。 【什么是参数化设计】 1.它是一种设计的方式,将设计规范到由产品结构的顶层传递至相关次层级的一种设计方式。 2....
  • 文章目录1. 类1.1 类的创建1.2 类的调用1.3 属性和方法的调用 ...第二种是描述事物能做什么,有哪些行为和作用。如吃饭用筷子,会讲汉语。 在编程世界中我们管第一种特征叫属性,第二种特征叫方法。 Pytho
  • 参数化设计有哪些实现方式呢?下面为我们将为大家简单介绍SOLIDWORKS中参数化设计的几种方法。【什么是参数化设计】1.它是一种设计的方式,将设计规范到由产品结构的顶层传递至相关次层级的一种设计方式。2.它是一种...
  • 方法为:plt.plot(x ,y , format_string , **kwargs)x 和 y 分别表示 x轴和 y轴数据,列表或数组,x轴可选format_string 表示控制曲线的格式字符串,可选**kwargs 表示2组或更多组参数同时,可以...
  • es6 有哪些拓展

    2020-08-25 18:52:45
    es6 有哪些拓展 1.新增了块级作用域(let,const) 2.提供了定义类的语法糖(class) 3.新增了一种基本数据类型(Symbol) 4.新增了变量的解构赋值 5.函数参数允许设置默认值,引入了 rest 参数,新增了箭头函数 6.数组新增...
  • 这篇文章不涉及Lambda表达式的具体使用,只谈谈我对其的一些理解。不一定对,如有偏颇,望指正。行为参数化/策略模式Java是一门面向对象的语言。奉行一切皆对象,需要什么就把这个...我们也不知道这个方法有哪些可...
  • 过拟合 过拟合是模型的偏差小而方差大,即模型在训练集上拟合得很好...对于模型参数的处理方法,采用L1, L2正则化和dropout 的方法(正则化方法有哪些?) 对于训练方法,采用Early stopping。 采用bagging的方法 其...
  • 准备有哪些

    2012-02-10 11:55:14
    我的小体会 :) 做项目前的要求 1,明确项目的第一个目标是什么样的(项目的作用是什么) ...3,把方法参数统一 :arrow: (团队合作的时候很重要) 如果参数不统一,当各自把自己的那个类写了之后,多...
  • 在传统的写法中,sql查询语句在程序中拼接,防注入(加斜杠)是在php中处理的,然后就发语句发送到mysql中,mysql其实没有太好的办法对传进来的语句判断哪些是正常的,哪些是恶意的,所以直接查询的方法被注入的...
  • ServletConfig接口 这个接口表示:servlet的...1.接口中的方法有哪些? 1)String getServletName();获取当前servlet的名字==<servlet-name>对应的文本信息-->web.xml 2)Servlet getServletContex...
  • 泛型中的通配符有哪些?有什么区别和作用?自定义泛型类、泛型方法、泛型参数编写一段泛型程序来实现LRU缓存?1. 什么是泛型​ 泛型 指的是可以将类型作为参数进行传递,其本质上就是类型参数化。比如:我们平时定义一...
  • ①正则是机器学习中最常见的过拟合解决方法,在损失函数中加入正则项来惩罚模型的参数,以此来降低模型的复杂度,常见的添加正则项的正则技术L1,L2正则。 ②剪枝是决策树中一种控制过拟合的方法,我们...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 681
精华内容 272
关键字:

参数化方法有哪些