精华内容
下载资源
问答
  • 正则化惩罚项,L1L1L1和L2L2L2正则 Regularize penalty items L1L1L1 and L2L2L2 为什么要引入正则化惩罚项? 在训练数据不够多时,或者过度训练模型(overtrainingovertrainingovertraining)时,常常会导致过拟合...

    正则化惩罚项,L1L1L2L2正则

    Regularize penalty items L1L1 and L2L2

    为什么要引入正则化惩罚项?

    在训练数据不够多时,或者过度训练模型(overtrainingovertraining)时,常常会导致过拟合(overfittingoverfitting)。正则化方法即为在此时向原始模型引入额外信息,以便防止过拟合和提高模型泛化性能的一类方法的统称,这就引入了正则化惩罚项。在实际中,最好的拟合模型(从最小化泛化误差的意义上来说)是一个适当正则化的模型。

    L1L1正则

    L1L1参数正则化通过向目标函数添加一个正则项Ω(θ)=w1=iwiΩ(\theta)=||w||_1 =\sum_{i}|w_i|

    同时通过缩放惩罚项ΩΩ的正超参数α\alpha来控制L1L1权重衰减的强度,那么正则化的目标函数为

    f(w;X,y)=αw1+J(w;X,y)f(w;X,y) = \alpha|w_1|+J(w;X,y)

    对应的梯度就变为

    wf(w;X,y)=αsign(w)+wJ(w;X,y)\bigtriangledown _wf(w;X,y) = \alpha sign(w)+\bigtriangledown _wJ(w;X,y)

    其中sign(w)sign(w)只是简单地取ww的正负号,当w0w\ge0时,sign(w)=wsign(w) = w,当w<0w<0sign(w)=wsign(w)=-w

    L1L1范数的作用

    • 稀疏参数,进行特征选择。L1L1范数是指向量中各个元素绝对值之和。它是L0L0范数的最优凸近似。任何规则化的算子,如果他在wi=0w_i=0的地方不可微,并且可以分解为一个”求和“的形式,那么这个规则化算子就可以实现稀疏。wwL1L1范数是绝对值,w|w|w=0w=0处是不可微的,这就实现了稀疏。一般来说,XX的大部分元素也就是特征都是和最终的输出结果没有关系或者不提供任何信息的,在最小化目标函数即损失函数的时候考虑这些额外的特征值虽然可以获得更小的训练误差,但是在预测新样本的时候也会被考虑到,这样就干扰了对结果的预测。将参数稀疏化之后就可以完成特征自动选择的任务,它会学习地去掉这些没有信息的特征,也就是把这些特征对于的权重置0.
    • 稀疏参数,使得模型更容易解释。当一个模型的参数很多时候,例如,y=w1x1+w2x2+......+w1000x1000y = w_1x_1+w_2x_2+......+w_{1000}x_{1000},那么当我们想解释这1000个特征因素对结果的影响时候无疑是很困难的。但是假如通过学习,最后得到的参数只有很少几个,例如只有5个非零特征,那么我们就有理由相信,这些对应的特征对结果的影响是决定性的。那么此时再解释这个模型中的5个特征因素对结果的影响时就容易多了。例如:医生解释病人患病的原因,西瓜最后是好瓜还是坏瓜。

    L2L2正则

    L2L2参数正则化通过向目标函数添加一个正则项Ω(θ)=12w2\begin{aligned}Ω(\theta) = \frac{1}{2}|w|^2\end{aligned},使得权重更接近原点,L2L2的参数正则化方法也叫作权重衰减,同时也可以通过缩放惩罚项的正超参数α\alpha来控制L2L2权重衰减的强度,那么正则化的目标函数为

    f(w;X,y)=12wTw+J(w;X,y)\begin{aligned}f(w;X,y) = \frac{1}{2}w^Tw + J(w;X,y)\end{aligned}

    对应的梯度就变为

    wf(w;X,y)=αw+wJ(w;X,y)\bigtriangledown_wf(w;X,y) = \alpha w + \bigtriangledown _wJ(w;X,y)

    那么使用梯度下降更新权重

    w=wlearning_rate(wf(w;X,y))=wlearning_rate(αw+wJ(w;X,y))=(1learning_rateα)wlearning_ratewJ(w;X,y)w' = w - learning\_rate(\bigtriangledown _wf(w;X,y)) = w - learning\_rate(\alpha w + \bigtriangledown _wJ(w;X,y))\\= (1-learning\_rate \alpha)w - learning\_rate\bigtriangledown _wJ(w;X,y)

    可以看到加入权重衰减后,在每步执行梯度更新之前先进行收缩权重,将权重向量乘以一个常数α\alpha,因为αlearning_rate\alpha,learning\_rate都是大于00的数,因此相对于不加正则化的模型,正则化之后的模型权重在每次更新之后的值要更小。

    L2L2范数的作用

    • 权值衰减,改善机器学习的过拟合。过拟合就是模型训练时候的误差很小,但是在测试的时候误差很大,泛化能力很弱,对于新样本适应能力很差。就像学生学习和考试,平时只是背诵知识,固定题型,没有学会解决问题的一般能力,考试时候很差。
    • L2L2范数是指向量各元素的平方和然后求平方根。我们可以给L2L2范数的规则项乘以一个系数α\alpha,使得每个权重都很小,都接近于0,但是与L1L1范数不同,它不会让它等于0。越小的参数模型越简单,越简单的模型则越不容易产生过拟合。可以理解为因为限制了参数很小,实际上就是限制了多项式某些分量的影响很小,这样就相当于减少参数个数。

    L1L1L2L2的区别

    L2正则化 L1正则化
    计算效率高(因为有解析解) 在非稀疏情形下计算效率低
    非稀疏输出 稀疏输出
    无特征选择 内置特征选择
    二次下降 一次下降
    • 就计算效率而言

    L1L1范数没有一个解析解,但是L2L2范数有。这就允许L2L2范数在计算上能够高效的计算。然而,L1L1范数的解具有稀疏性,这就使得它可以使用稀疏算法,以使得计算更加的高效。

    • 就稀疏性而言

    稀疏性指的是一个举证或向量中只有少数的项是非0的。L1L1的范数具备产生许多0或非常小的系数和少量大的系数

    • 就特征选择而言

    L1L1范数可以用来提取有用信息,即那些有用的特征,而L2L2范数并不具备。

    • 就下降速度而言
      在这里插入图片描述
      将权值参数传递给L1L1或者L2L2代价函数时,模型就会尝试最小化这些权值参数。而这些最小化更新权值参数的过程就像是一个下坡的过程,但是这个坡的坡度是不一样的,L1L1是按照绝对值的坡下降的,而L2L2是按二次函数的坡下降的。显然L1L1的下降速度要比L2L2的下降速度快,所以会非常快的降到0。
    展开全文
  • 最后,我们进行后续调查,以从心理(即内在动机与外在动机和自尊与自尊)和经济(即风险规避)角度了解所观察到调节作用的潜在机制,并对这些因素进行额外回归分析工作人员行为模式,以调查演出工作人员何时...
  • penalty term的作用就是把约束优化问题转化为非受限优化问题。 罚函数的基本思想是构造辅助函数,把原来的约束问题转化为求辅助函数极小化的无约束问题。 机器学习为什么需要正则 我们经常看到,标准损失函数...

    正则项(惩罚项)

    正则项(惩罚项)的本质

    惩罚因子(penalty term)与损失函数(loss function)

    penalty term和loss function看起来很相似,但其实二者完全不同。
    惩罚因子:
    penalty term的作用就是把约束优化问题转化为非受限优化问题。
    罚函数的基本思想是构造辅助函数,把原来的约束问题转化为求辅助函数极小化的无约束问题。

    在这里插入图片描述

    机器学习为什么需要正则项

    我们经常看到,标准损失函数通常由两项组成,数据损失项和惩罚项,并将惩罚项乘以超参数λ,用来平衡这两项。
    这是为什么呢?

    如果我们只告诉分类器需要拟合训练集的话,可能会导致分类器的行为反常——过拟合,它会尝试完美分类所有的训练数据点。
    在这里插入图片描述
    事实上,如果出现了新的数据点,过拟合的分类器表现就会非常糟糕,我们更倾向于以下这条绿色直线所表示的分类器。
    在这里插入图片描述
    这里涉及到的就是机器学习中一个非常重要的基础问题——正则化。

    为了得到这条绿色直线代表的分类器,我们需要为损失函数增加一个附加的项(正则项),鼓励模型以某种方式选择更简单的W,此处的“简单”取决于任务的规模和模型的种类。

    常见惩罚项:参数范数惩罚、稀疏表征、噪声、早停、dropout等

    深度学习 — 优化入门六(正则化、参数范数惩罚L0、L1、L2、Dropout)

    正则化与矩阵范数:L0范数,L1范数,核范数(很好地解释了采用某种范数作为正则项的好处,以及各种范数的本质区别)

    参数范数惩罚

    机器学习中常使用的正则化措施是去限制模型的能力,最常用的方法就是L0,L1和L2范数惩罚。深度学习优化器中所用的权重衰减,通常就是L2范数惩罚。

    L0范数惩罚

    从不为零的参数出发进行限制,即将不等于0的个数限制在一定的范围内以此达到限制模型的目的,而这种方法就称为L0范数惩罚。
    在这里插入图片描述
    在这里插入图片描述

    L1范数惩罚(参数稀疏性惩罚)

    上面我们是使用参数不为零的个数做约束条件,这里改变的是要求参数数值的总和限制在某个范围内即参数的总和要小于某个值,这种对参数总和的限制就被称为L1范数惩罚,也称为参数稀疏性惩罚
    在这里插入图片描述

    既然L0可以实现稀疏,为什么不用L0,而要用L1呢?
    个人理解一是因为L0范数很难优化求解(NP难问题),二是L1范数是L0范数的最优凸近似,而且它比L0范数要容易优化求解。

    为什么要稀疏?让我们的参数稀疏有什么好处呢?这里扯两点:
    1)特征选择(Feature Selection)(并且特征选择能带来更好的泛化能力):
    大家对稀疏规则化趋之若鹜的一个关键原因在于它能实现特征的自动选择。一般来说,xi的大部分元素(也就是特征)都是和最终的输出yi没有关系或者不提供任何信息的,在最小化目标函数的时候考虑xi这些额外的特征,虽然可以获得更小的训练误差,但在预测新的样本时,这些没用的信息反而会被考虑,从而干扰了对正确yi的预测。稀疏规则化算子的引入就是为了完成特征自动选择的光荣使命,它会学习地去掉这些没有信息的特征,也就是把这些特征对应的权重置为0。
    2)可解释性(Interpretability):
    另一个青睐于稀疏的理由是,模型更容易解释。例如患某种病的概率是y,然后我们收集到的数据x是1000维的,也就是我们需要寻找这1000种因素到底是怎么影响患上这种病的概率的。假设我们这个是个回归模型:y=w1x1+w2x2+…+w1000x1000+b(当然了,为了让y限定在[0,1]的范围,一般还得加个Logistic函数)。通过学习,如果最后学习到的w就只有很少的非零元素,例如只有5个非零的wi,那么我们就有理由相信,这些对应的特征在患病分析上面提供的信息是巨大的,决策性的。也就是说,患不患这种病只和这5个因素有关,那医生就好分析多了。但如果1000个wi都非0,医生面对这1000种因素,累觉不爱。

    L2范数惩罚:

    L1范数惩罚虽然可以应用,同时把问题变为求极值的问题,但是还是不完美,因为约束条件带有绝对值,这在数学中不好处理,最简单的方法和损失函数一样就是加入平方项就避免正负抵消问题,这就是L2范数惩罚,也是我们非常熟悉的权重衰减惩罚:
    在这里插入图片描述

    为什么L1-regularization 能产生稀疏性,而L2-regularization 不能稀疏性,只能正则化。
    我们让L2范数的规则项||W||2最小,可以使得W的每个元素都很小,都接近于0,但与L1范数不同,它不会让它等于0,而是接近于0,这里是有很大的区别的哦。
    因此,一句话总结就是:L1会趋向于产生少量的特征,而其他的特征都是0,而L2会选择更多的特征,这些特征都会接近于0。
    L1在特征选择时候非常有用,而L2就只是一种规则化而已。

    L2的好处:
    1)学习理论的角度:
    从学习理论的角度来说,L2范数可以防止过拟合,提升模型的泛化能力。(越小的参数说明模 型越简单,越简单的模型则越不容易产生过拟合现象。为什么越小的参数说明模型越简单?我也不懂,我的理解是:限制了参数很小,实际上就限制了多项式某些分量的影响很小)
    2)优化计算的角度:
    从优化或者数值计算的角度来说,L2范数有助于处理 condition number不好的情况下矩阵求逆很困难的问题。

    l1正则与l2正则的特点是什么,各有什么优势?

    l1正则与l2正则的特点是什么,各有什么优势?

    大家一般用 L2 损失函数而不用 L1 损失函数的原因就是:因为计算方便!可以直接求导获得取最小值时各个参数的取值。
    此外还有一点,用 L2 一定只有一条最好的预测线,L1 则因为其性质可能存在多个最优解。(更多关于L1 L2 损失函数参考索引5)
    当然 L1 损失函数难道就没有什么好处了吗,也是有的,那就是鲁棒性 (Robust) 更强,对异常值更不敏感。

    如果数据损失项使用L1 Norm,很明显,L1 Norm对outlier没有L2 Norm那么敏感;如果正则化损失项使用L1的话,那么使学习到的参数倾向于稀疏,使用L2 Norm则没有这种倾向。
    实践中,根据Quaro的data scientist Xavier Amatriain 的经验,实际应用过程中,L1 nrom几乎没有比L2 norm表现好的时候,优先使用L2 norm是比较好的选择。
    链接:https://www.zhihu.com/question/26485586/answer/89215997

    核范数(奇异值系数化)

    核范数||W||*是指矩阵奇异值的和,英文称呼叫Nuclear Norm。这个相对于上面火热的L1和L2来说,可能大家就会陌生点。那它是干嘛用的呢?霸气登场:约束Low-Rank(低秩)
    我们先来回忆下线性代数里面"秩"到底是啥?举个简单的例子吧:
    在这里插入图片描述
    对上面的线性方程组,第一个方程和第二个方程有不同的解,而第2个方程和第3个方程的解完全相同。从这个意义上说,第3个方程是"多余"的,因为它没有带来任何的信息量,把它去掉,所得的方程组与原来的方程组同解。为了从方程组中去掉多余的方程,自然就导出了"矩阵的秩"这一概念。

    还记得我们怎么手工求矩阵的秩吗?为了求矩阵A的秩,我们是通过矩阵初等变换把A化为阶梯型矩阵,若该阶梯型矩阵有r个非零行,那A的秩rank(A)就等于r。回到上面线性方程组来说吧,因为线性方程组可以用矩阵描述嘛。秩就表示了有多少个有用的方程了。上面的方程组有3个方程,实际上只有2个是有用的,一个是多余的,所以对应的矩阵的秩就是2了。
    从物理意义上讲,矩阵的秩度量的就是矩阵的行列之间的相关性。如果矩阵的各行或列是线性无关的,矩阵就是满秩的,也就是秩等于行数。

    约束低秩只是约束rank(w)呀,和我们这节的核范数有什么关系呢?
    他们的关系和L0与L1的关系一样。因为rank()是非凸的,在优化问题里面很难求解,那么就需要寻找它的凸近似来近似它了。对,你没猜错,rank(w)的凸近似就是核范数||W||*

    核范数的用途:

    (1)低秩矩阵,特征降维,鲁棒性PCA:
    既然秩可以度量相关性,而矩阵的相关性实际上有带有了矩阵的结构信息。如果矩阵之间各行的相关性很强,那么就表示这个矩阵实际可以投影到更低维的线性子空间,也就是用几个向量就可以完全表达了,它就是低秩的。所以我们总结的一点就是:如果矩阵表达的是结构性信息,例如图像、用户-推荐表等等,那么这个矩阵各行之间存在这一定的相关性,那这个矩阵一般就是低秩的。
    如果X是一个m行n列的数值矩阵,rank(X)是X的秩,假如rank (X)远小于m和n,则我们称X是低秩矩阵。低秩矩阵每行或每列都可以用其他的行或列线性表出,可见它包含大量的冗余信息。利用这种冗余信息,可以对缺失数据进行恢复,也可以对数据进行特征提取。
    另外的见解:将系数的稀疏性,拓展到矩阵奇异值的稀疏性上,就从L1范数变成了核范数。

    Candes等人提出了Robust PCA,通过对矩阵施加奇异值的稀疏性(从l1变成了nuclear norm)来自动学得降维的维数,同时还能对原始矩阵去噪(可以看我写的另一个答案如何理解矩阵的「秩」? - 过拟合的回答)。这也引出了另一个新思路:一般来说数据矩阵可能存在野点,即少部分行被污染了,因此可以求取某个行稀疏的野点矩阵,来“净化”原始矩阵。这里稀疏性就是施加在待求解的野点矩阵上。
    链接:https://www.zhihu.com/question/26602796/answer/36470745

    与经典PCA一样,Robust PCA(鲁棒主成分分析)本质上也是寻找数据在低维空间上的最佳投影问题。当观测数据较大时,PCA无法给出理想的结果,而Robust PCA能够从较大的且稀疏噪声污染的观测数据中恢复出本质上低秩的数据。Robust PCA考虑的是这样一个问题:一般的数据矩阵D包含结构信息,也包含噪声。那么可以将这个矩阵分解为两个矩阵相加:D = A + E,A是低秩的(由于内部有一定的结构信息造成各行或列间是线性相关的),E是稀疏的(含有噪声,则是稀疏的),则Robust PCA可以写成以下的优化问题:
    在这里插入图片描述
    摘自:正则化与矩阵范数:L0范数,L1范数,核范数
    此外,可以参考和学习的网文:(1)PCA 与 Robust PCA区别 (2)张量(三):张量鲁棒主成分分析(TRPCA)(3)https://github.com/nwbirnie/rpca/blob/master/rpca.py(RPCA代码)

    (2)秩最大化与多样性:
    核范数是矩阵秩的凸逼近
    矩阵秩越大,则多样性越好
    神经网络的输出是一个矩阵[B x C](其中,B是batchsize,C是类别数,采用了one-hot编码),输出矩阵的秩越大,则表示样本之间是独立的(矩阵的行之间独立,不能归于同一类),独立则说明有好的多样性。
    详见:2020-CVPR oral Towards Discriminability and Diversity: Batch Nuclear-norm Maximization under Label Insufficient Situations
    (3)Frobenius范数最大化与判别性
    核范数是Frobenius范数的上界
    Frobenius范数越大,则判别性越好(即预测出来的样本越接近one-hot编码,也即信息熵越小)。
    详见:2020-CVPR oral Towards Discriminability and Diversity: Batch Nuclear-norm Maximization under Label Insufficient Situations

    参数共享与参数绑定

    目前为止,我们讨论的正则化措施都是通过限制模型参数的方法来限制模型的能力,但这种通用的限制太过宽泛。
    卷积操作,其实就是参数共享。参数共享使得卷积网络极大地降低了参数的规模,是另一种形式的参数惩罚项。

    在神经网络的隐藏层或参数中注入噪声

    对于某些模型,注入噪声也相当于对参数进行范数惩罚。通常而言,注入噪声要比简单地收缩参数更有效,尤其是将噪声注入到隐藏层中。而隐藏层注入噪声是一个重要的主题,我们将在差算法中重点介绍,该方法也可以看作是通过加入噪声重构新输入的一种正则化策略。
    除了在隐藏层输入中注入噪声,在权重(参数)中注入噪声也是一种有效的正则化措施。这种方法在某种程度上可以等价地解释为传统的范数惩罚,该方法鼓励参数找到一个参数空间,而该空间对于微小的参数变化所引起的输出变化的影响很小。换而言之,就是将模型送进了一个对于微小变化不敏感的区域,我们不仅找到了最小值,我们还找到了一个宽扁的最小值区域

    稀疏表征(表征稀疏性惩罚)

    参考:
    (1)深度学习 — 优化入门六(正则化、参数范数惩罚L0、L1、L2、Dropout)
    (2)稀疏表达的意义在于?为什么稀疏表达得到广泛的应用?
    (3)稀疏表示去噪的理解

    在上面参数范数惩罚中,我们通过直接限制可用参数规模,如L1,L2参数惩罚,来限制模型的能力,从而降低过拟合风险。
    接下来,我们介绍一种通过作用在神经网络激活单元的惩罚策略,来提高隐藏层的稀疏性,该方法可算作是一种间接的模型参数惩罚。

    生物进化的一个重要趋势就是尽可能地节约能源,而我们的大脑也符合节能的原则大脑。中每个神经元都连接着成千上万的神经元,但其实大部分神经元都是处于抑制状态,只有少部分的神经元接受刺激会处于激活状态,因此我们需要将特定的信息交给特定的神经元进行处理。受此启发,我们就期望使用某种惩罚措施来抑制大部分神经元。当信息输入进神经网络时,只有关键部分神经元才能够处于激活状态,这就是稀疏表征(稀疏表示)
    我们已经讨论过凵范数如何致使参数稀疏化,这就意着大多 数都为零或接近于零,而表征稀疏化描述的其实就是隐藏层的输出大多数为零或接近零
    为了简明地阐述这些区别我们以一个线性回归为例,如下图所示,是一个参数稀疏化的线性回归模型:一个是使用稀疏表征的线性回归。
    在这里插入图片描述

    虽然表征正则化与参数正则化(一个使得输出稀疏,一个使得参数稀疏)有些区别,但幸运的是它们都使用相同的机理来实现。如下式所示,表征范数惩罚也是通过在代价函数中一项添加惩罚表征项 来实现表征稀疏化
    在这里插入图片描述
    表征惩罚的具体计算方法:

    • 方法一:使用和L1惩罚相同的方式:Ω\Omega (h)= h=hi\left\| h \right\| =\sum\left| h_i \right|
    • 方法二:KL散度(KLdivergence),又称相对熵(RelativeEntropy)也是一种十分常用的方法(稀疏自编码器就是用的KL散度)。

    稀疏自编码器 & 表征稀疏惩罚项

    自编码器基本原理

    自动编码器的作用之稀疏编码
    在这里插入图片描述
    如上图,我们将input输入一个encoder编码器,就会得到一个code,这个code也就是输入的一个表示,那么我们怎么知道这个code表示的就是input呢?
    我们加一个decoder解码器,这时候decoder就会输出一个信息,那么如果输出的这个信息和一开始的输入信号input是很像的(理想情况下就是一样的),那很明显,我们就有理由相信这个code是靠谱的。所以,我们就通过调整encoder和decoder的参数,使得重构误差最小,这时候我们就得到了输入input信号的第一个表示了,也就是编码code了。
    因为是无标签数据,所以误差的来源就是直接重构后与原输入相比得到

    (1)逐层训练
    自编码器的训练方法:通过编码器产生特征,然后训练下一层,这样逐层训练。

    首选训练一个只有一层的编码器。
    在这里插入图片描述

    那上面我们就得到第一层的code,我们的重构误差最小让我们相信这个code就是原输入信号的良好表达了,或者牵强点说,它和原信号是一模一样的(表达不一样,反映的是一个东西)。

    那第二层和第一层的训练方式就没有差别了,我们将第一层输出的code当成第二层的输入信号,同样最小化重构误差,就会得到第二层的参数,并且得到第二层输入的code,也就是原输入信息的第二个表达了。
    在这里插入图片描述

    其他层就同样的方法炮制就行了(训练这一层,前面层的参数都是固定的,并且他们的decoder已经没用了,都不需要了)。
    (2)有监督微调:

    经过上面的方法,我们就可以得到很多层了。至于需要多少层(或者深度需要多少,这个目前本身就没有一个科学的评价方法)需要自己试验调了。每一层都会得到原始输入的不同的表达。当然了,我们觉得它是越抽象越好了,就像人的视觉系统一样。

    到这里,这个AutoEncoder还不能用来分类数据,因为它还没有学习如何去连结一个输入和一个类。它只是学会了如何去重构或者复现它的输入而已。或者说,它只是学习获得了一个可以良好代表输入的特征,这个特征可以最大程度上代表原输入信号。

    那么,为了实现分类,我们就可以在AutoEncoder的最顶的编码层添加一个分类器(例如罗杰斯特回归、SVM等),然后通过标准的多层神经网络的监督训练方法(梯度下降法)去训练

    也就是说,这时候,我们需要将最后层的特征code输入到最后的分类器,通过有标签样本,通过监督学习进行微调,这也分两种:

    • 只调整分类器
    • 微调整个编码器+分类器
    稀疏自编码器

    当然,我们还可以继续加上一些约束条件得到新的Deep Learning方法,如:如果在AutoEncoder的基础上加上 L1 的正则限制(L1主要是约束每一层中的节点中大部分都要为0,只有少数不为0,这就是Sparse名字的来源),我们就可以得到Sparse AutoEncoder法。
    在这里插入图片描述
    上面公式中:h是编码

    如上图,其实就是限制每次得到的表达code尽量稀疏。因为稀疏的表达往往比其他的表达要有效(人脑好像也是这样的,某个输入只是刺激某些神经元,其他的大部分的神经元是受到抑制的)。

    KL散度诱导稀疏—稀疏自编码器的损失函数中的稀疏惩罚项

    先来看一下稀疏自编码器的完整损失函数:
    在这里插入图片描述
    损失函数分为三项:

    • 第一项是普通的损失函数,用来指示输入输出的相似度,使得重构误差小;
    • 第二项是表征稀疏惩罚项,诱导隐层中的激活值向量稀疏。可以用L1范数,也可以用KL散度(大多用KL散度);
    • 第三项是防止过拟合而添加的正则化项是权重衰减项!

    为什么稀疏自编码器的正则项选用了相对熵(KL散度)的函数?
    在这里插入图片描述

    如果事先设定某个较小的值 ρ\rho^*,那么稀疏性度量就可以采用两个概率分布 ρj\rho_jρ\rho^* 之间的差异来表示。

    下面看一个github上的实例:Sparse Autoencoders (Sparsity constraint is imposed here by using a KL-Divergence penalty. The FashionMNIST dataset was used for this implementation.)
    在这里插入图片描述
    在这里插入图片描述
    github项目:Semi Supervised Learning Using Sparse Autoencoder(稀疏自编码器与半监督)
    github项目:Crosswise Sparse Autoencoder(稀疏自编码器与医疗图像,相关paper:Sparse autoencoder for unsupervised nucleus detection and representation in histopathology images

    噪声与数据扩充

    数据扩充

    在机器学习中,想要降低泛化错误率最好的方法是训练更多的数据,但在现实中,数据总是有限的,并且还需要大量的成本。那么问题就来了,更多的数据使得模型性能更好,但我们又没有更多的数据,那该怎么办呢?其中一个有用而高效的方法就是生成伪造数据(fakedata),然后将这些数据添加到训练集中进行数据扩充(DataAugmentation)。虽然听上去似乎在教大家“造假”,但对于某些机器学习任务而言,创造新的伪造数据是非常合理的。
    在分类任务中,分类器需要使用复杂高维的输入数据X以及数据所对应的类标进行关联学习。这也意味着,分类器面临的主要任务是从各种变化的数据中获得某种稳定分布的不变性。既然平移,旋转后的图像都是同一个对象,那么在训练数据中扭曲一定程度的输入数据X,分类器也应该将该数据 进关联,但这一方法的应用范围还比较窄。例如在密度估计任务中,要生成新的伪造数据是非常困难的,因为生成新数据的前提是我们己经解决了密度估计问题。
    生成伪造数据最佳的应用场景是一类特定的分类任务。 - 对象识别图片是一种高维复杂的数据“并且有着平移,旋转不变性等特点在上面,介绍了如果一幅图片全部向右平移一个像素,那对于机器学习算法来说,便彻底成了一幅新冬像,因此我们需要先验地加入参数共享等措施来学习网络。那我们不妨换个角度,我们将这些先验知识加入到数据中去,即平移,旋转,拉伸之后的图像数据依然是原数据对象。我们将这些生成的“新图像数据”加入训练集中训练,那训练数据就可能增加十余倍的数据量,这样训练出来的模型同样也可以其备这种空间不变性能力,但我们必须谨慎地去变换这些 。例如在字符识别中,将b,和d,水平翻转,旋转180°,那就都成了同一个数据。此时的伪造数据,就真的变成了错误数据。

    注入噪声

    在输入中注入噪声

    数据扩充也可以看作是在输入数据中注入噪声,从而迫使算法拥有更强的健壮性(也可以将注入噪声看作是一种数据扩充)。神经网络容易过拟合的原因之一就是对于噪声没有太好的抗噪能力。正所谓“你怕什么,就应该勇敢地去面对什么。”最简单的提高网络抗噪声能力方法,就是在训练时加入随机噪声一起训练。比如在非监督学习算法降噪自动编码器(Denoising Autoencoder)中,在输入层进行噪声注入然后学习无噪声的冬片,便是一种很好的提高网络健壮性的方式。

    在神经网络的隐藏层或参数中注入噪声

    对于某些模型,注入噪声也相当于对参数进行范数惩罚。通常而言,注入噪声要比简单地收缩参数更有效,尤其是将噪声注入到隐藏层中。而隐藏层注入噪声是一个重要的主题,我们将在差算法中重点介绍,该方法也可以看作是通过加入噪声重构新输入的一种正则化策略。
    除了在隐藏层输入中注入噪声,在权重(参数)中注入噪声也是一种有效的正则化措施。这种方法在某种程度上可以等价地解释为传统的范数惩罚,该方法鼓励参数找到一个参数空间,而该空间对于微小的参数变化所引起的输出变化的影响很小。换而言之,就是将模型送进了一个对于微小变化不敏感的区域,我们不仅找到了最小值,我们还找到了一个宽扁的最小值区域

    在标签中注入噪声

    数据集中或多或少都带有错误的类标签,如果我们使用这些数据进行训练,那这就好比一个专心听讲且对老师十分尊敬的好学生,认真学习老师教给他的所有知识,但老师教给他的却是错误的知识。最不幸的是,学生还对老师深信不疑,即使发现了错误,也只会认为是自己愚钝,不断地否定自己,不断地在痛苦中挣扎。虽然我们竭尽全力地避免错误标记数据,但这并不如我们想象得那么美好,人为地添加错误在所难免。与其小心翼翼地标记数据做个完美的“老师”,还不如直接就告诉学生“老师”并不完美,“老师”也会犯错。
    解决这种问题的具体措施就是在标签中加入一定的噪声,例如可以设置一个很小的常数λ\lambda,我们将训练数据的标签Y错误的概率设置为λ\lambda.

    早停

    目前为止,我们针对过拟合现象所做的正则化措施总结起来有两点:

    • 一是限制模型或表征的能力,包括(参数惩罚,表征惩罚),就如同“孤已天下无敌(训练错误率很低),让你双手又如何”。
    • 二是不断地加入噪声,给自己增加麻烦,就如同’放一碗水在头顶扎马步,穿着加沙的背心去奔跑,最终目的是使自己更强壮’。

    而下面,我们介绍的这种正则化方法就非常简单了。
    基于梯度下降的深度学习算法都存在一个训练周期的问题,训练的次数越多,训练错误率就越低。由于我们真正目的是降低测试错误率,因此我们期望验证错误率也与训练错误率有相似的曲线。但期望总是事与愿违,真实环境中的验证错误率并没有随着训练次数的增多而减少,而是形成了一种“U型“曲线,验证错误率先减小后上升。那很自然地,我们就期望能在验证错误率的最低点(或最低点附近)停止训练算法,这就是所谓的早停(EarlyStopping)

    dropput

    Dropout可以看作是多个模型的集成,即通过结合几个模型降低泛化误差的技术。分别训练几个不同的模型,然后让所有模型表决测试样例的输出,也被称为模型平均。模型平均奏效的原因是不同的模型通常不会再测试集上产生完全相同的误差。

    多任务学习中各loss权重应该如何设计呢?

    多任务学习中各loss权重应该如何设计呢?
    Multi-task中的多任务loss平衡问题
    多任务学习权重的动态调整

    展开全文
  • 1. 什么是L1 L2? 正则化项,范式,惩罚项是不同学科范畴的学者的不同叫法,具体如下: 在机器学习称作正则化;...2. 在机器学习中L1 L2起到的作用是? 有如下比较普遍的解释: L1正则化:可以产生稀疏权值...

    1. 什么是L1 L2?

    正则化项,范式,惩罚项是不同学科范畴的学者的不同叫法,具体如下:

    1. 机器学习称作正则化;
    2. 统计学领域称作惩罚项;
    3. 数学界会称作范数。

    L1范数:L1范数就是曼哈顿距离,向量中每个元素绝对值的和  \left \| x \right \|_{1}= \sum_{i=1}^{N} \left | x_{i} \right |
    L2范数:L2就是欧式距离,向量元素绝对值的平方和再开平方\left \| x \right \|_{2}= \sqrt{\sum_{i=1}^{N} x_{i}^{2} }

     

    2. 在机器学习中L1 L2起到的作用是?

    有如下比较普遍的解释:

    1. L1正则化:可以产生稀疏权值矩阵,即产生一个稀疏模型,可以用于特征选择;
    2. L2正则化:可以防止模型过拟合(overfitting);一定程度上,L1也可以防止过拟合。

    从另一个角度理解:

    1. L1范数:在正则化的过程中会趋向于产生少量的特征,而其他的特征都是0(L1会使得参数矩阵变得稀疏)。因此L1不仅可以起到正则化的作用,还可以起到特征选择的作用。
    2. L2范数:L2范数是通过使权重衰减,进而使得特征对于总体的影响减小而起到防止过拟合的作用的。L2的优点在于求解稳定、快速。

    备注:L2避免过拟合的原理是:让L2范数的规则项||W||2 尽可能小,可以使得W每个元素都很小,接近于零,但是与L1不同的是,不会等于0;这样得到的模型抗干扰能力强,参数很小时,即使样本数据x发生很大的变化,模型预测值y的变化也会很有限。

     

    3. 正则化项(Regularization)为什么会起到上述作用?

    引入一个实际的房屋价钱预测案例作为理解正则化项的背景。

    左图,欠拟合(underfitting),也称作High-bias,即对于当前数据集的拟合程度不够,欠拟合的特征是在训练集和测试集上的准确率都不好;

    中图,拟合刚好的状态;

    右边,过拟合(overfitting),也称作High variance,过拟合对于当前数据拟合得太好了,以至于模型只在当前的数据集上表现良好而在其他数据集上表现就不是那么好,所以过拟合的特征是在训练集上准确率很高而在训练集上表现一般。

    解决过拟合主要有两种方法:

    1.减少特征数量

    2.正则化

    因此,自然引入L1与L2范数正则化。

    监督学习的过程可以概括为:最小化误差的同时规则化参数。最小化误差是为了让模型拟合训练数据,规则化参数是为了防止过拟合。参数过多会导致模型复杂度上升,产生过拟合,即训练误差很小,但测试误差很大,这和监督学习的目标是相违背的。所以需要采取措施,保证模型尽量简单的基础上,最小化训练误差,使模型具有更好的泛化能力(即测试误差也很小)。

     

    3.1 L1正则化和特征选择

    通常使参数稀疏都是用L1范数实现,L1范数是指向量中各个元素绝对值之和,也有个美称叫“稀疏规则算子”(Lasso regularization)。

    L1范数为什么可以实现稀疏呢?

    L1范数的表达式如下:

    \left \| x \right \|_{1}= \sum_{i=1}^{N} \left | x_{i} \right |

    我们大概知道了L1可以实现稀疏,但为什么要稀疏?让我们的参数稀疏有什么好处呢?这引入两点:

    1.特征选择(Feature Selection):

           稀疏规则化能实现特征的自动选择。一般来说,x_{i}的大部分元素(也就是特征)都是和最终的输出y_{i}没有关系或者不提供任何信息的。在最小化目标函数的时候考虑x_{i}这些额外的特征,虽然可以获得更小的训练误差,但在预测新的样本时,这些没用的信息反而会被考虑,从而干扰了对正确y_{i}的预测。稀疏规则化算子的引入就是为了完成特征自动选择,它会学习地去掉这些没有信息的特征,也就是把这些特征对应的权重置为0。

    2.可解释性(Interpretability):

           另一个青睐于稀疏的理由是,模型更容易解释。例如患某种病的概率是y,然后我们收集到的数据x是1000维的,也就是我们需要寻找这1000种因素到底是怎么影响患上这种病的概率的。假设我们这个是个回归模型:y=w1x1+w2x2+…+w1000x1000+b(当然了,为了让y限定在[0,1]的范围,一般还得加个Logistic函数)。通过学习,如果最后学习到的w就只有很少的非零元素,例如只有5个非零的wi,那么我们就有理由相信,这些对应的特征在患病分析上面提供的信息是巨大的,决策性的。也就是说,患不患这种病只和这5个因素有关,那医生就好分析多了。但如果1000个wi都非0,医生面对这1000种因素,累觉不爱。

     

    加入L1正则化后,线性回归的代价函数为:

    J=J_{0}+\lambda \sum_{w} \left |w \right |

    J_{0}为原始的损失函数,加号后面的一项是L1正则化项,是正则化系数。

    对它求w的偏导:

    \frac{\partial J}{\partial w}=\frac{\partial J_{0}}{\partial w} +\lambda \cdot sgn(w)

    sgn(w)表示w的符号。对w进行更新:

    w:=w-\alpha \frac{\partial J}{\partial w}:=w-\alpha \frac{\partial J_{0}}{\partial w}-\alpha \lambda \cdot sgn(w)

    可以看出,L1正则化是通过加上或减去一个常量\alpha \lambda,让w向0靠近;对比L2正则化,它使用了一个乘性因子(1-\alpha \lambda ) 去调整权重,使权重不断衰减。

    因此可以得出:当|w|很大时,L2对权重的衰减速度比L1大得多;当|w|很小时,L1对权重的缩小比L2快得多。

      这也就解释了为什么L1正则能让模型变得稀疏。L1对于小权重减小地很快,对大权重减小较慢,因此最终模型的权重主要集中在那些高重要度的特征上,对于不重要的特征,权重会很快趋近于0。所以最终权重w会变得稀疏。

     

    3.2 L2正则化和过拟合

    L2范数也被称为权重衰减(weight decay),线性回归中应用L2范数也被称为岭回归Ridge Regression,在其他文献中也有将L2范数称为Tikhonov正则。首先我们通过线性回归来看一下L2范数。

    线性回归的代价函数为:

    J(w )=\frac{1}{2}\sum_{i=1}^{m}(h_{w}(x^{(i)})-y^{(i)})^{2}

    加入L2正则化后,代价函数变为:

    J(w)=\frac{1}{2}\sum_{i=1}^{m} \left [ (h_{w}(x^{(i)})-y^{(i)})^{2}+\lambda \sum_{i=1}^{n}w _{j}^{2}\right ],注意L2范式的开方被提到最前面\frac{1}{2}

    如何理解上式?

    把上式分为两部分,左边部分即为原始的代价函数,右边部分为L2正则化项(注意:正则化项中不包含w0)。lambda为超参数,通常会取一个较大的数。

    为了最小化整个代价函数,当lambda是固定的,那么就要减小w _{1}w _{n}的值。对于上图中的那种过拟合状态,加入正则项后,w _{1}w _{4}均会减小,也就是使得权重衰减,这样就会降低高阶项对于整个函数的影响,使得估计函数变得比较平滑。

    可以想象一种极端的情况,如果lambda为无穷大,那么w _{1}w _{n}趋近于0,那么整个式子就只剩一个w _{0},为一条和y轴垂直的直线,这种状态为严重的欠拟合状态。可以看到,当lambda为0时,即为原来的状态,此时过拟合,而当lambda过大时又会导致欠拟合,所以会有一个恰当的lambda使得模型处于既不过拟合又不欠拟合的状态。

    加入正则项后,求偏导,梯度下降算法更新每个w _{i},重复这个过程:

    repeat{

    w_{0}:=w_{0}-\alpha \left [ \sum_{i=1}^{m}[(h_{w}(x^{(i)})-y^{(i)})x_{0}^{(i)} \right ]

    w_{j}:=w_{j}-\alpha \left [ \sum_{i=1}^{m}[(h_{w}(x^{(i)})-y^{(i)})x_{0}^{(i)}-\lambda w _{j} \right ]  

    w _{j}:=(1-\alpha \lambda )w _{j}-\alpha \sum_{i=1}^{m}(h_w(x^{(i)})-y^{i})x_{j}^{(i)}

    }

    可以看到,由于学习速率\alpha>0, \lambda>0(而且这两个值一般都是很小的正数),所以1-a <1,即每次\theta _{}在更新的时候都会缩小一下。

    上面我们对线性回归应用的正则化就是L2正则化,通常被称为权重衰减(weight decay)的L2参数范数惩罚。在其他文献或论文中,L2有时也被称为岭回归ridge regression和Tikhonov正则。

    正如在线性回归中的应用,L2参数正则化\left \| x \right \|_{2}= \sqrt{\sum_{i=1}^{N} x_{i}^{2} }就是在损失函数中加入一个L2范数和一个超参数lambda。L2范数对于向量w中的各个数先求平方再加和,而超参数lambda则用于控制参数惩罚的程度。

     

    4. L1和L2正则化的直观理解

    4.1模型空间的限制:

    实际上,对于L1和L2规则化的代价函数来说,我们可以写成以下形式:

    Lasso: min_{w}\frac{1}{n}\left \| y-XW \right \|^{2}, s.t.\left \| W \right \|_{1}\leqslant C

    Ridge: min_{w}\frac{1}{n}\left \| y-XW \right \|^{2}, s.t.\left \| W \right \|_{2}\leqslant C

    也就是说,我们将模型空间限制在w的一个L1-ball 中。为了便于可视化,我们考虑两维的情况,在(w1, w2)平面上可以画出目标函数的等高线,而约束条件则成为平面上半径为C的一个 norm ball 。等高线与 norm ball 首次相交的地方就是最优解:

     

     

    如上图所示,假设w是一个二维的向量,则目标函数可以用一圈圈等值线表示,约束条件用图中黑线表示,而我们要找的最优解,就在等值线和约束线第一次相交的地方。

    可以看到,L1-ball 与L2-ball 的不同就在于L1在和每个坐标轴相交的地方都有“角”出现,而目标函数的测地线除非位置摆得非常好,大部分时候都会在角的地方相交。

    左图中黑线是L1正则化,在特征为二维时,约束线是一个菱形,等值线极有可能最先与顶点相交,在这种情况下有一个维度的特征就会为0,这就带来了稀疏。当特征的维度变高,坐标轴上角与边都会变多,这更会加大等值线与他们先相交的概率,从而导致了稀疏性。注意到在角的位置就会产生稀疏性,例如图中的相交点就有w1=0。

    相比之下,L2-ball 就没有这样的性质,因为没有角,所以第一次相交的地方出现在具有稀疏性的位置的概率就变得非常小了。这就从直观上来解释了为什么L1-regularization 能产生稀疏性,而L2-regularization 不行的原因了。

    右图中黑线是L2正则化,在特征为二维时,它的约束线是一个圆形,等值线可能与它任意一个位置的点首先相切,这个切点在坐标轴上的概率大大 减小,从而不太容易导致稀疏。

    因此,一句话总结就是:L1会趋向于产生少量的特征,而其他的特征都是0,而L2会选择更多的特征,这些特征都会接近于0。Lasso在特征选择时候非常有用,而Ridge就只是一种规则化而已。

     

    4.2.下降速度。

    L1和L2都是规则化的方式,我们将权值参数以L1或者L2的方式放到代价函数里面去。然后模型就会尝试去最小化这些权值参数。而这个最小化就像一个下坡的过程,L1和L2的差别就在于这个“坡”不同,如下图:L1就是按绝对值函数的“坡”下降的,而L2是按二次函数的“坡”下降。所以实际上在0附近,L1的下降速度比L2的下降速度要快。所以会非常快得降到0。

     

    5.正则化参数的选择

    通常越大的\lambda可以让代价函数在参数为0时取到最小值。下面是一个简单的例子,这个例子来自Quora上的问答。为了方便叙述,一些符号跟这篇帖子的符号保持一致。

    假设有如下带L1正则化项的代价函数: 

    F(x)=f(x)+\lambda \left \| x \right \|_{1}
    其中x是要估计的参数,相当于上文中提到的w。注意到L1正则化在某些位置是不可导的,当λ足够大时可以使得F(x)在x=0时取到最小值。如下图:

    分别取λ=0.5 和λ=2,可以看到越大的λ越容易使F(x)在x=0时取到最小值。

     

    ·感谢一些作者的分享:

    参考阅读了一些网络的blog,将URL附在下列:

    https://www.cnblogs.com/crawer-1/p/8550302.html

    https://blog.csdn.net/weiyongle1996/article/details/78161512

    https://www.jianshu.com/p/4bad38fe07e6

     

     

    展开全文
  • ,他们的作用机制是相似的,区别是作用的对象不同,kernel_regularizer作用于权重????,bias_regularizer作用于????,而activity_regularizer则作用于该层的输出????。 这里以kernel_regularizer为例,来简单介绍l1_...

    在tensorflow中,我们经常会用到正则化项,比如kernel_regularizer、bias_regularizer和activity_regularizer。
    对于网络层𝑦=𝑊𝑥+𝑏 ,他们的作用机制是相似的,区别是作用的对象不同,kernel_regularizer作用于权重𝑊,bias_regularizer作用于𝑏,而activity_regularizer则作用于该层的输出𝑦。
    这里以kernel_regularizer为例,来简单介绍l1_regularizer与l2_regularizer的作用机制。首先看他们的定义公式:
    𝐿2即为𝑤^2
    𝐿1即|𝑤|
    其中𝑤为权重矩阵,那么它们对应的导数为2𝑤 和𝑠𝑖𝑔𝑛(𝑤),设网络的学习率为𝑎,那么𝐿2对应的梯度为𝑎𝑤(为了梯度下降的方便,𝐿2正则化会除以2将求导得到的系数2约去,所以梯度的系数为𝑎),𝐿1对应的则为𝑎⋅𝑠𝑖𝑔𝑛(𝑤)。
    在一次梯度更新过程中,𝐿2正则化的梯度更新公式为:
    𝛿𝑤=𝑢−2𝑝𝑤
    其中𝑢代表这一层的输入,也就是上一层的输出,𝑝是𝐿2正则化惩罚设置的权重参数。我们假设𝑢与𝑤均为正值,那么梯度的正负值将由下式决定:
    𝑠𝑖𝑔𝑛(𝛿𝑤)=𝑠𝑖𝑔𝑛(𝑢/2𝑝−𝑤)
    这就导致当𝑤小于𝑢/2𝑝时,梯度更新会使得𝑤变大,而𝑤大于𝑢/2𝑝时,又会使得𝑤变小,从而得到一个较平滑的权重矩阵,也就是说会倾向于认为每个点都有效。
    而𝐿1的梯度更新公式为:
    𝛿𝑤=𝑢−𝑝
    梯度的正负值为:
    𝑠𝑖𝑔𝑛(𝛿𝑤)=𝑠𝑖𝑔𝑛(𝑢−𝑝)
    这时的𝑝就充当了一个阀值,当 𝑢 小于 𝑝, 𝐿1 正则化将使权重变小,当 𝑢 大于 𝑝, 𝐿1 正则化将使权重增大。所以𝐿1 正则化会倾向于产生少量特征,即权重矩阵中有非常多的0值。

    参考资料:https://stats.stackexchange.com/questions/383310/difference-between-kernel-bias-and-activity-regulizers-in-keras

    展开全文
  • 正则化项简单来说是我们为了控制学习器(模型)复杂度加入一个惩罚项。 这个惩罚项加在目标函数里面。 比如我们目标是目标函数最小化,那么我们如果模型很复杂,那么正则化项就会很大,从而来说达到我们最小化...
  • 正则化的作用以及L1和L2正则化的区别

    万次阅读 多人点赞 2019-08-21 20:06:16
    L1正则化和L2正则化可以看做是损失函数的惩罚项。所谓『惩罚』是指对损失函数中某些参数做一些限制。 L1正则化模型建叫做Lasso回归,使用L2正则化模型叫做Ridge回归(岭回归。但是使用正则化来防止过拟合...
  • 正则项可以看做是损失函数的惩罚项,用来对损失函数中系数做一些限制。 正则化描述: L1正则化是指权值向量w中各个元素绝对值之和; L2正则化是指权值向量w中各个元素平方和然后再求平方根; 一般都会在正则化...
  • 正则项可以看做是损失函数的惩罚项,用来对损失函数中系数做一些限制。正则化描述:L1正则化是指权值向量w中各个元素绝对值之和;L2正则化是指权值向量w中各个元素平方和然后再求平方根;一般都会在正则化项之前...
  • 惩罚项的作用我认为就是对模型中的参数限制,从而防止过拟合。 L1正则化就是参数向量的1范数:对参数向量各个分量去绝对值求和 L2正则化就是参数向量的2范数:对参数向量各个分量求平方和在...
  • L1和L2正则化

    2018-12-20 20:43:17
    首先我们来看一下什么是正则化 正则化的作用就是缓解模型的过拟合。...其实正则化就相当于一个惩罚项。在正则化项前面还会乘上一个正则化系数用来决定惩罚的力度。L1正则化和L2正则化就是正则化的...
  • 某些线性模型代价函数包括惩罚项,我们从书本或者经验之谈中学习到惩罚项主要有两个作用:为了防止模型过拟合,为了维护模型简洁性。常见的惩罚项有L0、L1和L2惩罚项,其中L0惩罚项为权值向量W中不为0分量个数...
  • 岭回归和lasso回归在OLS回归模型损失函数上加上了不同的惩罚项,该惩罚项由回归系数函数构成,一方面,加入的惩罚项能够识别出模型中不重要变量,对模型起到简化作用,可以看作逐步回归法升级版;...
  • 符号距离函数惩罚项的引入避免了繁琐、耗时的符号距离函 数初始化工作;同时,模型中添加了加权弧长调整项以保证曲线演化的连续性和平滑性。 最后将该方法与现有的Li的快速变分法用于合成和实际医学图像的仿真模拟,...
  • 正则项的作用:降低模型过拟合的风险,通常常用的有L1范数正则化与L2范数正则化,作为单独一项(正则项)加入到损失函数中,也可以自己作为损失函数。 总结:L1和L2正则化项,又叫惩罚项,是为了限制模型的参数,...
  • L1正则化和L2正则化可以看做是损失函数的惩罚项。所谓『惩罚』是指对损失函数中某些参数做一些限制。 L1: =, 即各元素绝对值之和 。作用:产生一个稀疏模型,可以用于特征选择,一定程度上也可以防止过拟合...
  • 础上, 加入分散广告显示的二次惩罚项, 使所得到的最优解更能发挥网络广告的作用; 结合微粒群( PSO ) 算法和模型 的特点, 设计出能有效处理约束的改进PSO 算法. 数值仿真证明了算法的有效性.</p>
  • 摘要:针对传统光流场配准模型会造成图像模糊和细节丢失问题,...数据采用作用于亮度常量假设非二次惩罚函数以增加模型稳健性。实验结果表明,新模型能够有效保持图像特征,实现对大脑等复杂图像有效配准。
  • L1、L2正则化

    2021-04-22 13:19:38
    L1正则化和L2正则化可以看做是损失函数的惩罚项(penalty)。 三、L1、L2正则化的作用 L1正则化可以产生稀疏权值矩阵,即产生一个稀疏模型,可以用于特征选择; L2正则化可以防止模型过拟合;一定程度上,L1也...
  • 针对高效率节能车点火时刻最优设计问题,本文作者提出了节能车点火设计问题目标函数和约束条件,并将所涉及约束条件分为强约束条件和弱约束条件,易于选择惩罚项加权系数,并阐述了基于粒子群算法最优点火...
  • 机器学习学习笔记—正则化理解

    千次阅读 多人点赞 2018-03-25 17:15:03
    正则化就是在损失函数后加上一个正则化项(惩罚项),其实就是常说结构风险最小化策略,即经验风险(损失函数)加上正则化。一般模型越复杂,正则化值越大。 正则化项是用来对模型中某些参数进行约束 正则化...
  • 线性回归正则化

    2019-01-17 13:50:17
    相应了我们梯度下降算法也有了一点变化,由于惩罚项只对θ1.2.3...起作用,所以我们分离出θ0。并且由于增加了正则项,所以梯度下降过程也增加了一点尾巴(求偏导数结果发生了一点变化)如下图: 化简之后你...
  • <sub>2,1</sub> 范数作为目标函数和惩罚项得到一个获取稀疏主元负载的凸优化问题, 并通过一个迭代算法进行求解. SSPCA 算法能同时兼顾大得分主元与小得分主元在监测算法中的作用, 提高了其对故障的敏感度. 证明了...
  • 在第七讲时,我们介绍了多元线性回归模型,...一方面,加入的惩罚项能够识别出模型中不重要变量,对模型起到简化作用,可以看作逐步回归法升级版; 另一方面,加入的惩罚项能够让模型变得可估计,即使之前数据
  • L1和L2正则化的作用: 防止网络过拟合,网络更简单(给极端值惩罚),网络的泛化能力越强。 正则化的对象是网络的参数,在深度学习中就是网络的权重。L1正则是参数的绝对值求和,L2正则是参数的平方和。 使用方法:...
  • 针对模型中风量平衡和风压平衡约束条件,采用外点罚函数法将其转化模型目标中的惩罚项。面向约束转化后模型,采用文化粒子群优化算法实现寻优。该算法在种群空间采用粒子群优化算法实现粒子进化;通过构建上层信度...
  • 引入惩罚项将含约束优化问题转化为无约束优化问题,然后采用单纯形替换法求出可变参数全局最优解。以IEEE AC2型励磁系统标准模型为例,基于6种不同控制目标准则,采用约束多变量非线性规划方法,通过程序设计与模型仿真...
  • 正则化L1、L2理解

    2019-10-01 08:16:26
    本篇文章是对18年11月19日,自己写L1、L2范数文章...正则化就是在损失函数后加上一个正则化项(惩罚项),其实就是常说结构风险最小化策略,即经验风险(损失函数)加上正则化。一般模型越复杂,正则化值越...

空空如也

空空如也

1 2 3 4 5
收藏数 89
精华内容 35
关键字:

惩罚项的作用