L1、L2正则化以及smooth L1 loss

news/2024/11/24 1:51:21/

   一、L1、L2正则化

当样本特征很多,而样本数相对较少时,学习过程很容易陷入过拟合。为了缓解过拟合问题,可以对损失函数加入正则化项。正则化项中的Lp范数有很多,常见的有L1范数和L2范数。

    给定数据集D = {(x1,y1),(x2,y2),...,(xm,ym)},其中x有d维特征,y∈R。我们考虑最简单的线性回归模型,以平方误差为损失函数,那么优化目标为:

     ①令p=1,即采用L1范数:

 其中正则化参数λ>0。上式被称为LASSO(Least Absolute Shrinkage and Seclction Operatro)。直译为“最小绝对收缩选择算子”,常称为LASSO。

    ②令p=2,即采用L2范数:

 其中正则化参数λ>0。上式被称为岭回归(ridge regression)。

    L1范数和L2范数正则化都有助于降低过拟合风险。相比之下,L1范数在x>0的时候变化率始终为1,在x<0的时候变化率始终为-1。在训练的后期,由于导数为常数1,如果学习率σ不变,损失函数会在一个稳定值附近波动,难以稳定,甚至还会出现在极值点附近“弹跳”的情况。L2范数的导数值为2x,与输入值有关。在开始阶段导数非常大,导致训练初期不稳定。

值得一提的是,L1范数还会带来一个额外的好处:它比后者更易于获得“稀疏”(sparse)解,即它求得的w会有更少的非零向量。(事实上,对w施加“稀疏约束”,也就是说希望w的非零分量尽可能少,最自然的是使用L0范数,但是L0范数不连续,难以优化求解,因此常用L1范数来近似。)

    为了理解这一点,下面给出了一个例子:假定x仅有两个属性,于是无论是L1正则还是L2正则解出的w都只有两个分量,即w1和w2,我们将其作为两个坐标轴,然后在图中绘制出L1正则和L2正则的第一项的“等值线”,即在(w1,w2)空间中平方误差项取值相同的点的连线,再分别绘制出L1范数和L2范数的等值线,即在(w1,w2)空间中L1范数取值相同的点的连线,以及L2范数取值相同的点的连线,如下图所示:

 

由图可以看出:采用L1范数时平方误差项等值线与正则化项等值线的交点常出现在坐标轴上,即w1或w2为0,而在采用L2范数时,两者的交点常出现在某个象限中,即w1或w2均非零。换言之,采用L1范数比L2范数更易于得到稀疏解。

 二、smooth L1 loss

    为了克服L1和L2的不足,于是有了smooth L1 。以下是smooth L1的定义:

 当|x|<1的时候,x在区间[-1, 1]之间的梯度也会变得比较小,且当x=0时,函数变得可导。

 当|x|>1的时候,不再像L2一样对噪声敏感,其稳定值±1也不至于破坏网络参数。

x = -10:0.01:10;
y1 = x.*x;
y2 = abs(x);
y3 = 0.5*x.^2.*(x<1&x>-1)+(x-0.5).*(x>=1)+(-x-0.5).*(x<=-1)      ;
plot(x,y1,'r');
hold on;
plot(x,y2,'b');
hold on;
plot(x,y3)
hold on


http://www.ppmy.cn/news/546489.html

相关文章

机器学习------L1、L2规范化(L1 Regularization、L1 Regularization)

取自孙明的&#xff02;数字图像处理与分析基础&#xff02; 1. 引入——病态问题和约束 通过改变模型的拟合能力来避免过拟合并不是一件容易的事情&#xff0c;更常用的办法是使用规范化对模型的参数进行一定的约束。下面来考虑一个非常简单的例子&#xff0c;求下面方程的解…

L1-norm (L1范数) L2-norm(L2范数)

同样存在L0、L3等&#xff0c;L1、L2范数应用比较多。 一个向量的 norm 就是将该向量投影到 [0, ∞​) 范围内的值&#xff0c;其中 0 值只有零向量的 norm 取到。不难想象&#xff0c;将其与现实中距离进行类比&#xff0c;在机器学习中 norm 也就总被拿来表示距离关系&#x…

正则项L1和L2

正则项 摘要 本文章主要讲述了L1和L2的基本定义,以及其所具有的性质,如下: L1 它的主要特性是能够产生稀疏解,某种程度上使得增加模型的”解释性“L2 它的主要特性是偏向于求得较小的解,通过限制权重的大小实现了对模型空间的限制,从而一定程度可以避免过拟合针对他们的…

L1 loss 是什么

L1 Loss&#xff08;也称为Mean Absolute Error&#xff09;是深度学习中常用的一种损失函数&#xff0c;用于衡量模型预测结果与真实标签之间的平均绝对误差。具体来说&#xff0c;对于一个大小为N的样本集合&#xff0c;L1 Loss定义如下&#xff1a; L 1 ( y , y ^ ) 1 N ∑…

L1、L2、smooth L1三类损失函数

一、常见的MSE、MAE损失函数 1.1 均方误差、平方损失 均方误差&#xff08;MSE&#xff09;是回归损失函数中最常用的误差&#xff0c;它是预测值与目标值之间差值的平方和&#xff0c;其公式如下所示&#xff1a; 下图是均方根误差值的曲线分布&#xff0c;其中最小值为预测值…

正则项:L1与L2

正则项 一般地&#xff0c;我们优化 M S E MSE MSE l m s e ∑ i ( y i − y ^ i ) 2 n l_{mse}\frac{\sum_i (y_i-\hat y_i)^2}{n} lmse​n∑i​(yi​−y^​i​)2​ 为了使参数尽可能小&#xff0c;加入正则项&#xff0c;防止过拟合&#xff0c;减小方差。L1正则可以更容易…

L1, L2以及smooth L1 loss

在机器学习实践中&#xff0c;你也许需要在神秘的L1和L2中做出选择。通常的两个决策为&#xff1a;1) L1范数 vs L2范数 的损失函数&#xff1b; 2) L1正则化 vs L2正则化。 作为损失函数 L1范数损失函数&#xff0c;也被称为最小绝对值偏差&#xff08;LAD&#xff09;&#…

YK-L1刷机

文章目录 1.测试是否能够连接到路由器2.刷breed3.Padavan firmware编译4.烧板5.验证杂文1.1设置应用开机后自启动1.编写测试用程序2.编写运行脚本3.编写start.service4.设置为开机自启动5.验证 1.2内核模块编写&#xff08;使用insmod方式&#xff09;1.3内核模块编写&#xff…