精华内容
下载资源
问答
  • L1正则化和L2正则化讲解   在机器学习实践过程中,训练模型的时候往往会出现过拟合现象...L1正则化的模型叫做LASSO回归,L2正则化的模型叫做岭回归。 LASSO回归公式 min12mΣi=1m(f(x)−y(i))2+λ∣∣w∣∣1min\fr

    L1正则化和L2正则化讲解

      在机器学习实践过程中,训练模型的时候往往会出现过拟合现象,为了减小或者避免在训练中出现过拟合现象,通常在原始的损失函数之后附加上正则项,通常使用的正则项有两种:L1正则化L2正则化

      L1正则化L2正则化都可以看做是损失函数的惩罚项,所谓惩罚项是指对损失函数中的一些参数进行限制,让参数在某一范围内进行取值。L1正则化的模型叫做LASSO回归,L2正则化的模型叫做岭回归

    • LASSO回归公式
      m i n 1 2 m Σ i = 1 m ( f ( x ) − y ( i ) ) 2 + λ ∣ ∣ w ∣ ∣ 1 min\frac{1}{2m}\Sigma_{i=1}^{m}\left(f(x) - y^{(i)}\right)^{2}+\lambda||w||_{1} min2m1Σi=1m(f(x)y(i))2+λw1

    • 岭回归公式
      m i n 1 2 m Σ i = 1 m ( f ( x ) − y ( i ) ) 2 + λ ∣ ∣ w ∣ ∣ 2 2 min\frac{1}{2m}\Sigma_{i=1}^{m}\left(f(x) - y^{(i)}\right)^{2}+\lambda||w||_{2}^{2} min2m1Σi=1m(f(x)y(i))2+λw22

    L1正则化项和L2正则化项的说明如下:

      1. L1正则化项是指权重向量 w w w中各元素的绝对值之和,表示为 ∣ ∣ w ∣ ∣ 1 ||w||_{1} w1
      2. L2正则化项是指权重向量 w w w中个元素的平方和,表示为 ∣ ∣ w ∣ ∣ 2 2 ||w||_{2}^{2} w22

    L1正则化和L2正则化的作用

       1. L1正则化用于进行稀疏化(会令权重向量w中某一些参数等于0)处理,通常用于在多特征中进行特征选择
       2. L2正则化用于避免模型发生过拟合现象,L1正则化也可用于避免过拟合

    L1正则化的直观理解

    • L1正则化的损失函数

    m i n 1 2 m Σ i = 1 m ( f ( x ) − y ( i ) ) 2 + λ ∣ ∣ w ∣ ∣ 1 min\frac{1}{2m}\Sigma_{i=1}^{m}\left(f(x) - y^{(i)}\right)^{2}+\lambda||w||_{1} min2m1Σi=1m(f(x)y(i))2+λw1

      在上述的公式中, 1 2 m Σ i = 1 m ( f ( x ) − y ( i ) ) 2 \frac{1}{2m}\Sigma_{i=1}^{m}\left(f(x) - y^{(i)}\right)^{2} 2m1Σi=1m(f(x)y(i))2是原始的损失函数,也称为经验误差,在此基础上,加入了L1正则项 λ ∣ ∣ w ∣ ∣ 1 \lambda||w||_{1} λw1,L1正则项是权重向量中各元素的绝对值之和,所造成的一个后果就是损失函数不是完全可微。模型训练的目的是令损失函数达到全局最小值,当在原始的损失函数之后加入L1正则项之后,相当于对权重向量做了约束,此时我们的任务变为了在L1约束条件下求得损失函数的最小值。由于高维的情况无法用图像形象的描述出来,我们这里考虑二维的情况,即只有两个权重值 w 1 w_{1} w1 w 2 w_{2} w2,此时对损失函数应用梯度下降法,求解过程中可以画出等值线,如下图所示:
    在这里插入图片描述
      图中等值线是原始损失函数的等值线,黑色方形是L1正则化项的图形。在图中,当彩色等值线与黑色图形首次相交的地方就是最优解。上图中原始损失函数与L1在一个顶点处相交,这个顶点就是最优解。注意到这个顶点的值是(w1,w2)=(0,w)。可以直观想象,因为L函数有很多突出的顶点(二维情况下四个,多维情况下更多),彩色等值线与这些角接触的机率会远大于与黑色图形其它部位接触的机率,而在这些角上,会有很多权值等于0,这就是为什么L1正则化可以产生稀疏效果,进而可以用于特征选择。
      正则化系数 λ \lambda λ可以控制黑色图形的大小, λ \lambda λ越大,黑色图形越小, λ \lambda λ越小,黑色图形越大。 λ \lambda λ越大,表示对权重向量的限制作用越强。

    L2正则化的直观理解

    • L2正则化的损失函数
      m i n 1 2 m Σ i = 1 m ( f ( x ) − y ( i ) ) 2 + λ ∣ ∣ w ∣ ∣ 2 2 min\frac{1}{2m}\Sigma_{i=1}^{m}\left(f(x) - y^{(i)}\right)^{2}+\lambda||w||_{2}^{2} min2m1Σi=1m(f(x)y(i))2+λw22

      不管是L1正则化还是L2正则化,在拟合的过程中通常都倾向于让权值尽可能小,最后构造一个所有参数都比较小的模型,因为一般认为参数值小的模型比较简单,能适应不同的数据集,也在一定程度上避免了过拟合现象。可以设想一下对于一个线性回归方程,若参数很大,那么只要数据偏移一点点,就会对结果造成很大的影响;但如果参数足够小,数据偏移得多一点也不会对结果造成什么影响,抗干扰能力强。

      考虑损失函数在二维的情况,即只有两个权重值 w 1 w_{1} w1 w 2 w_{2} w2,此时对损失函数应用梯度下降法,求解过程中可以画出等值线,如下图所示:
    在这里插入图片描述
      二维平面下L2正则化的函数图形是个圆,与方形相比,被磨去了棱角。因此J0与L相交时使得w1或w2等于零的机率小了许多,这就是为什么L2正则化不具有稀疏性的原因。

    展开全文
  • l1正则化和l2正则化I have read many articles on the topic to find out which is better out of two and what should I use for my model. I wasn’t satisfied with any of them and that left my brain confused...

    l1正则化和l2正则化

    I have read many articles on the topic to find out which is better out of two and what should I use for my model. I wasn’t satisfied with any of them and that left my brain confused which one should I use? After having done so many experiments, I have finally found out all answers to Which Regularization technique to use and when? Let’s get to it using a regression example.

    我已经阅读了很多关于该主题的文章,以找出其中最好的两个,以及我应该在模型中使用什么。 我对它们中的任何一个都不满意,这让我的大脑感到困惑,我应该使用哪个? 经过大量的实验之后,我终于找到了使用哪种正则化技术以及何时使用的所有答案 让我们使用一个回归示例。

    Let’s suppose we have a regression model for predicting y-axis values based on the x-axis value.

    假设我们有一个基于x轴值预测y轴值的回归模型。

    Image for post
    Cost Function
    成本函数

    While training the model, we always try to find the cost function. Here, y is the actual output variable and is the predicted output. So, for the training data, our cost function will almost be zero as our prediction line passes perfectly from the data points.

    在训练模型时,我们总是尝试找到成本函数。 此处,y是实际输出变量,而ŷ是预测输出。 因此,对于训练数据,当我们的预测线完美地从数据点经过时,我们的成本函数将几乎为零。

    Now, suppose our test dataset looks like as follows

    现在,假设我们的测试数据集如下所示

    Image for post
    Model on the test dataset
    在测试数据集上建模

    Here, clearly our prediction is somewhere else and the prediction line is directed elsewhere. This leads to overfitting. Overfitting says that with respect to training dataset you are getting a low error, but with respect to test dataset, you are getting high error.

    在这里,显然我们的预测在其他地方,而预测线则在其他地方。 这导致过度拟合。 过拟合表示,相对于训练数据集,您得到的误差很小,但是相对于测试数据集,则得到的误差很高。

    Remember, when we need to create any model let it be regression, classification etc. It should be generalized.

    记住,当我们需要创建任何模型时,让它为回归,分类等。应该对其进行概括。

    We can use L1 and L2 regularization to make this overfit condition which is basically high variance to low variance. A generalized model should always have low bias and low variance.

    我们可以使用L1和L2正则化来制作这种过拟合条件,该条件基本上是高方差到低方差。 广义模型应始终具有低偏差和低方差。

    Let’s try to understand now how L1 and L2 regularization help reduce this condition.

    现在让我们尝试了解L1和L2正则化如何帮助减少这种情况。

    We know the equation of a line is y=mx+c.

    我们知道一条线的方程是y = mx + c。

    For multiple variables this line will transform to y = m1x1 + m2x2 + …….. + mn xn.

    对于多个变量,此行将转换为y = m1x1 + m2x2 +…….. + mn xn。

    Where m1, m2, …., mn are slopes for respective variables, and x1, x2, ...., xn are the variables.

    其中,m1,m2,……,mn是各个变量的斜率,x1,x2,……,xn是变量。

    When the coefficients (i.e. slopes) of variables are large any model will go to overfitting condition. why does this happen? The reason is very simple, the higher the coefficient the higher the weight of that particular variable in the prediction model. And we know not every variable have a significant contribution. Regularization works by penalizing large weights. Thus enabling highly correlated variables have high weights and less correlated variables having a lower weight.

    当变量的系数(即斜率)较大时,任何模型都将过拟合。 为什么会这样? 原因非常简单,系数越高,预测模型中该特定变量的权重就越高。 而且我们知道并非每个变量都有重大贡献。 正则化通过惩罚较大的权重而起作用。 因此,使高度相关的变量具有较高的权重,而较少相关的变量具有较低的权重。

    The regularization method is a hyperparameter as well, which means it can be tuned through cross-validation.

    正则化方法也是一个超参数,这意味着可以通过交叉验证对其进行调整。

    L1正则化或套索回归 (L1 Regularization or Lasso Regression)

    A regression model that uses the L1 regularization technique is called Lasso Regression

    使用L1正则化技术的回归模型称为套索回归

    The L1 regularization works by using the error function as follows —

    L1正则化通过使用以下误差函数来工作:

    Image for post
    Error function for L1 regularization
    L1正则化的误差函数

    For tuning our model we always want to reduce this error function. λ parameter will tell us how much we want to penalize the coefficients.

    为了调整我们的模型,我们总是想减少这个误差函数。 λ参数将告诉我们要罚多少系数。

    0 < λ< (0 < λ < )

    If λ is large, we penalize a lot. If λ is small, we penalize less. λ is selected using cross-validation.

    如果λ大,我们将受到很多惩罚。 如果λ小,我们将减少惩罚。 使用交叉验证选择λ

    How our model is tuned by this error function?

    这个误差函数如何调整我们的模型?

    Earlier our error function (or cost function ∑ (y -ŷ )²) was solely based on our prediction variable ŷ. But now we have λ(|m1|+|m2|+ . . . . + |mn|) as an additional term.

    先前我们的误差函数(或成本函数∑(y-ŷ)² )仅基于我们的预测变量prediction。 但是现在我们有了λ(| m1 | + | m2 | + .... + + mn |)作为附加项。

    Earlier the cost function ∑ (y -ŷ )²) = 0 since our line was passing perfectly through training data points.

    由于我们的直线完美地通过了训练数据点,因此成本函数∑(y-ŷ)² ) = 0较早。

    let λ = 1 and |m1|+|m2|+ . . . . + |mn| = 2.8

    令λ= 1且| m1 | + | m2 | +。 。 。 。 + | mn | = 2.8

    Error function = ∑ (y -ŷ )²) + λ(|m1|+|m2|+ . . . . + |mn|) = 0 + 1*2.8 = 2.8

    误差函数= ∑(y-ŷ)² ) + λ(| m1 | + | m2 | +。。。+ | mn |)= 0 + 1 * 2.8 = 2.8

    While tuning, our model will now try to reduce this error of 2.8. lets say now value of ∑ (y -ŷ )²) = 0.6, λ = 1 and |m1|+|m2|+ . . . . + |mn| = 1.1

    在调整时,我们的模型现在将尝试减少2.8的误差。 假设现在的值∑(y-ŷ)² )= 0.6,λ= 1并且| m1 | + | m2 | +。 。 。 。 + | mn | = 1.1

    Now, the new value of Error function will be

    现在,错误函数的新值将是

    Error function = ∑ (y -ŷ )²) + λ(|m1|+|m2|+ . . . . + |mn|) = 0.6 + 1*1.1 = 1.7

    误差函数= ∑(y-ŷ)² ) + λ(| m1 | + | m2 | +。。。+ | mn |)= 0.6 + 1 * 1.1 = 1.7

    This will iterate multiple times. For reducing the error function our slopes will decrease simultaneously. Here we will see the slopes will get less and less steep.

    这将重复多次。 为了减小误差函数,我们的斜率将同时减小。 在这里,我们将看到坡度越来越小。

    As the λ value will get higher, it’ll penalize the coefficients more and the slope of the line will go more towards zero.

    随着λ值变高,它将对系数造成更多的惩罚,并且直线的斜率将更趋于零。

    In case of L1 regularization due to taking |slope| in the formula, the smaller weights will eventually die out and become 0. That means L1 regularization help select features which are important and turn the rest into zeros. It’ll create sparse vectors of weights as a result like (0, 1, 1, 0, 1). So, this works well for feature selection in case we have a huge number of features.

    如果由于| slope |而导致L1正则化在公式中,较小的权重最终将消失并变为0。这意味着L1正则化有助于选择重要的特征,并将其余特征变为零。 结果将创建权重的稀疏向量,例如(0,1,1,0,1)。 因此,在我们拥有大量功能的情况下,这对于选择功能非常有效。

    L2正则化或岭回归 (L2 Regularization or Ridge Regression)

    A regression model that uses L2 regularization technique is called Ridge Regression.

    使用L2正则化技术的回归模型称为Ridge回归。

    The L2 regularization works by using the following error function

    L2正则化通过使用以下误差函数来工作

    Image for post
    Error function for L2 regularization
    L2正则化的误差函数

    L2 regularization works similar to the way how L1 works as explained above. The only difference comes into play with the slopes. In L1 regularization we were taking |slope| while here we are taking slope².

    L2正则化的工作方式与上述L1的工作方式相似。 唯一的区别在于坡度。 在L1正则化中,我们采用| slope |。 而在这里,我们采取坡度²

    This will work similarly it’ll penalize the coefficients and the slope of the line will go more towards zero, but will never equal zero.

    这将类似地起作用,它将惩罚系数,并且直线斜率将更趋向于零,但永远不会等于零。

    Why is it so?

    为什么会这样呢?

    This is because of us using slope² in the formula. This method will create sparsity of weights in the form of (0.5, 0.3, -0.2, 0.4, 0.1). Let’s understand this sparsity by an example.

    这是因为我们在公式中使用了斜率²。 此方法将创建( 0.5,0.3,-0.2,0.4,0.1)形式的权重稀疏性。 让我们通过一个例子来理解这种稀疏性。

    consider the weights (0 , 1) and (0.5, 0.5)

    考虑权重(0,1)和(0.5,0.5)

    For the weights (0, 1) L2 : 0² + 1² = 1

    对于砝码(0,1)L2:0²+1²= 1

    For the weights (0.5, 0.5) L2 : 0.5² + 0.5² = 0.5

    对于砝码(0.5,0.5)L2:0.5²+0.5²= 0.5

    Thus, L2 regularization will prefer the vector point (0.5, 0.5) over the vector (1, 1) since this produces a smaller sum of squares and in turn a smaller error function.

    因此,L2正则化将优先选择矢量点(0.5、0.5),而不是矢量(1、1),因为这会产生较小的平方和,进而产生较小的误差函数。

    Let’s connect on LinkedIn. You may also reach out to me via ankita2108prasad@gmail.com.

    让我们在LinkedIn上连接 您也可以通过ankita2108prasad@gmail.com与我联系。

    翻译自: https://levelup.gitconnected.com/l1-vs-l2-regularization-and-when-to-use-which-cd3382008774

    l1正则化和l2正则化

    展开全文
  • L1正则化和L2正则化的详细直观解释

    万次阅读 多人点赞 2018-08-09 15:13:18
    机器学习中几乎都可以看到损失函数后面会添加一个额外项,常用的额外项一般有两种,一般英文称作ℓ1ℓ1-norm和ℓ2ℓ2-norm,中文称作L1正则化和L2正则化,或者L1范数和L2范数。 L1正则化和L2正则化可以看做是损失...

    正则化(Regularization)

    转自:此处

    机器学习中几乎都可以看到损失函数后面会添加一个额外项,常用的额外项一般有两种,一般英文称作ℓ1ℓ1-normℓ2ℓ2-norm,中文称作L1正则化L2正则化,或者L1范数L2范数

    L1正则化和L2正则化可以看做是损失函数的惩罚项。所谓『惩罚』是指对损失函数中的某些参数做一些限制。对于线性回归模型,使用L1正则化的模型建叫做Lasso回归,使用L2正则化的模型叫做Ridge回归(岭回归)。下图是Python中Lasso回归的损失函数,式中加号后面一项α||w||1α||w||1即为L1正则化项。

    lasso regression

    下图是Python中Ridge回归的损失函数,式中加号后面一项α||w||22α||w||22即为L2正则化项。

    ridge regression

    一般回归分析中回归ww表示特征的系数,从上式可以看到正则化项是对系数做了处理(限制)。L1正则化和L2正则化的说明如下:

    • L1正则化是指权值向量ww中各个元素的绝对值之和,通常表示为||w||1||w||1
    • L2正则化是指权值向量ww中各个元素的平方和然后再求平方根(可以看到Ridge回归的L2正则化项有平方符号),通常表示为||w||2||w||2

    一般都会在正则化项之前添加一个系数,Python中用αα表示,一些文章也用λλ表示。这个系数需要用户指定。

    那添加L1和L2正则化有什么用?下面是L1正则化和L2正则化的作用,这些表述可以在很多文章中找到。

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

    稀疏模型与特征选择

    上面提到L1正则化有助于生成一个稀疏权值矩阵,进而可以用于特征选择。为什么要生成一个稀疏矩阵?

    稀疏矩阵指的是很多元素为0,只有少数元素是非零值的矩阵,即得到的线性回归模型的大部分系数都是0. 通常机器学习中特征数量很多,例如文本处理时,如果将一个词组(term)作为一个特征,那么特征数量会达到上万个(bigram)。在预测或分类时,那么多特征显然难以选择,但是如果代入这些特征得到的模型是一个稀疏模型,表示只有少数特征对这个模型有贡献,绝大部分特征是没有贡献的,或者贡献微小(因为它们前面的系数是0或者是很小的值,即使去掉对模型也没有什么影响),此时我们就可以只关注系数是非零值的特征。这就是稀疏模型与特征选择的关系。

    L1和L2正则化的直观理解

    这部分内容将解释为什么L1正则化可以产生稀疏模型(L1是怎么让系数等于零的),以及为什么L2正则化可以防止过拟合

    L1正则化和特征选择

    假设有如下带L1正则化的损失函数: 


    其中J0是原始的损失函数,加号后面的一项是L1正则化项,α是正则化系数。注意到L1正则化是权值的绝对值之和,JJ是带有绝对值符号的函数,因此JJ是不完全可微的。机器学习的任务就是要通过一些方法(比如梯度下降)求出损失函数的最小值。当我们在原始损失函数J0J0后添加L1正则化项时,相当于对J0J0做了一个约束。令L=α∑w|w|L=α∑w|w|,则J=J0+LJ=J0+L,此时我们的任务变成在L约束下求出J0取最小值的解。考虑二维的情况,即只有两个权值w1和w2,此时L=|w1|+|w2|L=|w1|+|w2|对于梯度下降法,求解J0J0的过程可以画出等值线,同时L1正则化的函数LL也可以在w1w2的二维平面上画出来。如下图:

     

    @图1 L1正则化 
    图1 L1正则化

    图中等值线是J0的等值线,黑色方形是L函数的图形。在图中,当J0等值线与L图形首次相交的地方就是最优解。上图中J0与L在L的一个顶点处相交,这个顶点就是最优解。注意到这个顶点的值是(w1,w2)=(0,w)(w1,w2)=(0,w)。可以直观想象,因为L函数有很多『突出的角』(二维情况下四个,多维情况下更多),J0与这些角接触的机率会远大于与L其它部位接触的机率,而在这些角上,会有很多权值等于0,这就是为什么L1正则化可以产生稀疏模型,进而可以用于特征选择。

    而正则化前面的系数α,可以控制L图形的大小。α越小,L的图形越大(上图中的黑色方框);α越大,L的图形就越小,可以小到黑色方框只超出原点范围一点点,这是最优点的值(w1,w2)=(0,w)(w1,w2)=(0,w)中的w可以取到很小的值。

    类似,假设有如下带L2正则化的损失函数: 


    同样可以画出他们在二维平面上的图形,如下:

     

    @图2 L2正则化 
    图2 L2正则化

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

    L2正则化和过拟合

    拟合过程中通常都倾向于让权值尽可能小,最后构造一个所有参数都比较小的模型。因为一般认为参数值小的模型比较简单,能适应不同的数据集,也在一定程度上避免了过拟合现象。可以设想一下对于一个线性回归方程,若参数很大,那么只要数据偏移一点点,就会对结果造成很大的影响;但如果参数足够小,数据偏移得多一点也不会对结果造成什么影响,专业一点的说法是『抗扰动能力强』。

    那为什么L2正则化可以获得值很小的参数?

    以线性回归中的梯度下降法为例。假设要求的参数为θ,hθ(x)是我们的假设函数,那么线性回归的代价函数如下: 


    那么在梯度下降法中,最终用于迭代计算参数θ的迭代式为: 


    其中α是learning rate. 上式是没有添加L2正则化项的迭代公式,如果在原始代价函数之后添加L2正则化,则迭代公式会变成下面的样子: 


    其中λλ就是正则化参数。从上式可以看到,与未添加L2正则化的迭代公式相比,每一次迭代,θj都要先乘以一个小于1的因子,从而使得θj不断减小,因此总得来看,θ是不断减小的。

     

    最开始也提到L1正则化一定程度上也可以防止过拟合。之前做了解释,当L1的正则化系数很小时,得到的最优解会很小,可以达到和L2正则化类似的效果。

    正则化参数的选择

    L1正则化参数

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

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


    其中xx是要估计的参数,相当于上文中提到的ww以及θθ. 注意到L1正则化在某些位置是不可导的,当λλ足够大时可以使得F(x)F(x)在x=0x=0时取到最小值。如下图:

     

    @图3 L1正则化参数的选择 
    图3 L1正则化参数的选择

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

    L2正则化参数

    从公式5可以看到,λλ越大,θj衰减得越快。另一个理解可以参考图2,λ越大,L2圆的半径越小,最后求得代价函数最值时各参数也会变得很小。

    Reference

    过拟合的解释: 
    https://hit-scir.gitbooks.io/neural-networks-and-deep-learning-zh_cn/content/chap3/c3s5ss2.html

    正则化的解释: 
    https://hit-scir.gitbooks.io/neural-networks-and-deep-learning-zh_cn/content/chap3/c3s5ss1.html

    正则化的解释: 
    http://blog.csdn.net/u012162613/article/details/44261657

    正则化的数学解释(一些图来源于这里): 
    http://blog.csdn.net/zouxy09/article/details/24971995

    展开全文
  • 在防止过拟合的方法中有L1正则化和L2正则化,那么这两者有什么区别呢? 一、L1L2正则化是什么? L1和L2是正则化项,又叫做惩罚项,是为了限制模型的参数,防止模型过拟合而加在损失函数后面的一项。 二、区别 ...
      
    


    前言

    在防止过拟合的方法中有L1正则化和L2正则化,那么这两者有什么区别呢?


    一、L1和L2正则化是什么?

    L1和L2是正则化项,又叫做惩罚项,是为了限制模型的参数,防止模型过拟合而加在损失函数后面的一项。

    二、区别

    1. L1是模型各个参数的绝对值之和。
      L2是模型各个参数的平方和的开方值。
    2. L1会趋向于产生少量的特征,而其他的特征都是0。
      因为最优的参数值很大概率出现在坐标轴上,这样就会导致某一维的权重为0 ,产生稀疏权重矩阵
      L2会选择更多的特征,这些特征都会接近于0。
      最优的参数值很小概率出现在坐标轴上,因此每一维的参数都不会是0。当最小化||w||时,就会使每一项趋近于0。

    三、其他问题

    1. 为什么参数越小代表模型越简单?

    越是复杂的模型,越是尝试对所有样本进行拟合,包括异常点。这就会造成在较小的区间中产生较大的波动,这个较大的波动也会反映在这个区间的导数比较大。只有越大的参数才可能产生较大的导数。因此参数越小,模型就越简单。

    1. 实现参数的稀疏有什么好处?

    因为参数的稀疏,在一定程度上实现了特征的选择。一般而言,大部分特征对模型是没有贡献的。这些没有用的特征虽然可以减少训练集上的误差,但是对测试集的样本,反而会产生干扰。稀疏参数的引入,可以将那些无用的特征的权重置为0。

    1. L1范数和L2范数为什么可以避免过拟合?

    加入正则化项就是在原来目标函数的基础上加入了约束。当目标函数的等高线和L1,L2范数函数第一次相交时,得到最优解。

    L1范数:

    L1范数符合拉普拉斯分布,是不完全可微的。表现在图像上会有很多角出现。这些角和目标函数的接触机会远大于其他部分。就会造成最优值出现在坐标轴上,因此就会导致某一维的权重为0 ,产生稀疏权重矩阵,进而防止过拟合。

    L2范数:

    L2范数符合高斯分布,是完全可微的。和L1相比,图像上的棱角被圆滑了很多。一般最优值不会在坐标轴上出现。在最小化正则项时,可以是参数不断趋向于0.最后很小的参数。
    假设要求的参数为θ,hθ(x)hθ(x)是我们的假设函数,那么线性回归的代价函数如下:
    在这里插入图片描述
    那么在梯度下降法中,最终用于迭代计算参数θj的迭代式为:
    在这里插入图片描述
    如果在原始代价函数之后添加L2正则化,则迭代公式会变成下面的样子:
    在这里插入图片描述
    每一次迭代,θj都要先乘以一个小于1的因子,从而使得θj不断减小,因此总得来看,θ是不断减小的。

    展开全文
  • L1正则化和L2正则化面试常考题

    千次阅读 2020-06-15 16:02:18
    L1正则化和L2正则化可以看做是损失函数的惩罚项。所谓“惩罚”是指对损失函数中的某些参数做一些限制 L1正则化是指权值向量w中各个元素的绝对值之和 L2正则化是指权值向量w中各个元素的平方和然后再求平方根 L1正则...
  • 机器学习中L1正则化和L2正则化是什么?区别是什么? 我们所说的正则化,就是在原来的loss function的基础上,加上了一些正则化项或者称为模型复杂度惩罚项。 结构风险最小化: 在经验风险最小化的基础上(也...
  • L1正则化和L2正则化的理解

    万次阅读 2018-03-09 11:20:11
    一、 奥卡姆剃刀(Occam's razor)原理: 在所有可能选择的模型中,我们应选择能够很好的解释数据,并且十分简单的模型... 正则化是结构风险最小化策略的实现,在经验风险上加一个正则项或罚项,正则项一共有两种L1...
  • L1正则化和L2正则化

    千次阅读 2019-03-15 14:31:35
    L1正则化和L2正则化:2. L1正则化和L2正则化的作用:3. 一些问题理解L1正则化的稀疏作用如何理解?L2正则化为什么不会稀疏?L2正则化为何可以防止过拟合?L1正则化在哪种情况下可以防止过拟合? 1. L1正则化和L2正则...
  • 一、什么是正则化,用来干嘛的? 正则化(regularization),是指在线性代数理论中,不适定问题通常是由一组线性代数方程定义的,而且这组方程组通常来源于有着很大的条件数的不适定反问题。大条件数意味着舍入误差或...
  • L1正则化和L2正则化比较

    千次阅读 2018-05-11 16:11:35
    机器学习监督算法的基本思路是 让拟合的模型尽量接近真实数据, 换句更通俗的话, 要让我们的模型尽量简单又能很好的反应已知... 而正则化则是探讨过拟合的问题(当然正则化还能改善ill-posed(condition)等问题,本文...
  • L1正则化L2正则化的公式如下 min⁡wL1(w)=min⁡wf(w)+λn∑i=1n∣wi∣min⁡wL2(w)=min⁡wf(w)+λ2n∑i=1nwi2 \min_wL_1(w)=\min_w f(w)+\frac{\lambda}{n}\sum_{i=1}^n|w_i|\\ \min_wL_2(w)=\min_wf(w)+\frac{\...
  • L1正则假设参数的先验分布是Laplace分布,可以保证模型的稀疏性,也就是某些参数等于0; L2正则假设参数的先验分布是Gaussian分布,可以保证模型的稳定性,也就是参数的值不会太大或太小 在实际使用中,如果特征是...
  • 比如,常见的L1和L2正则化。 2.正则化公式 L1: L1正则化是在原来的损失函数基础上加上权重参数的绝对值。 L2: L2正则化是在原来的损失函数基础上加上权重参数的平方。   它们的直观解释参照红色石头...
  • 正则化解决过拟合问题 正则化(Regularization)是机器学习中一种常用的技术,其主要目的是控制模型复杂度,减小过拟合。 最基本的正则化方法是在原目标(代价)函数 中添加惩罚项,对复杂度高的模型进行“惩罚”。...
  • 4.2.1 从解空间的形状角度来看例子(二维)4.3 L1正则和L2正则的区别 一、什么是过拟合? 过拟合与欠拟合问题 过拟合(overfitting)——额,就是学习器把训练样本学得“太好了”,以至于对测试样本“不知所措”。更...
  • BN是由Google于2015年提出,这是一个深度神经网络训练的技巧,它不仅可以加快了模型的收敛速度,而且更重要的是在一定程度缓解了深层网络中“梯度弥散”的问题,从而使得训练深层网络模型更加容易稳定...
  • 先对“L1正则化和L2正则化的区别、应用场景”给出结论,具体见后面的原理解释: L1正则化会产生更稀疏的解,因此基于L1正则化的学习方法相当于嵌入式的特征选择方法. L2正则化计算更加方便,只需要计算向量内积,L1...
  • L1正则化L2正则化 正则化之所以能够降低过拟合的原因在于,正则化是结构风险最小化(模型结构最简单,经验风险最小化就是训练误差小)的一种策略实现。 给loss function加上正则化项,能使得新得到的优化目标函数h...
  • L1正则化L2正则化的区别

    万次阅读 2018-12-10 20:45:36
    本文从正则化的本质p-范数入手,解释了L1正则化和L2正则化的区别。 正则化 在Cost Function上添加了正则化项,就能降低模型的过拟合程度,这就是正则化的作用。 关于正则化更细节的讲述,请参考为什么正则化能减少...
  • 一、L1正则化L2正则化的区别以及为什么L1正则化可以产生稀疏矩阵,L2正则化可以防止过拟合 正则化(regularization):机器学习中几乎都可以看到损失函数后面会添加一个额外项,常用的额外项一般有两种,一般英文...
  • 如果对L1、L2正则化完全不了解的,推荐这篇文章机器学习中正则化项L1L2的直观理解,讲解的十分清楚。 L2正则化比L1更适合解决过拟合问题(L2正则化最后可以得到一个参数都比较小的模型,抗扰动能力强),L1正则化...
  • L1正则化和L2正则化的解释

    千次阅读 2017-09-18 16:27:28
    机器学习中几乎都可以看到损失函数后面会添加一个额外项,常用的额外项一般有两种,一般英文称作ℓ1-norm和ℓ2-norm,中文称作L1正则化和L2正则化,或者L1范数和L2范数。 L1正则化和L2正则化可以看做是损失函数的...
  •  颓废多日,终于重新回归博客,记录每天的学习or复习,每...L1和L2正则化的区别? 1.为什么要正则化?  减小模型参数大小或参数数量,缓解过拟合 2.什么是正则化?  通式: 正则化项 又称惩罚项,惩罚的是模型的参
  • 机器学习算法中的正则化项对比经典面试题
  • L1 正则化和L2正则化

    千次阅读 2021-11-15 11:19:40
    L1正则化:使某些系数刚好为 0。这说明某些特征被模型完全忽略。这可以看作是一种自动化的特征选择。某些系数刚好为 0,这样模型更容易解释,也可以呈现模型最重要的特征。 L2正则化:对系数(w)的选择不仅要在...
  • 正则化的作用以及L1和L2正则化的区别

    万次阅读 多人点赞 2019-08-21 20:06:16
    0 正则化的作用 正则化的主要作用是防止过拟合,对模型添加正则化项可以限制模型的... L1正则化的模型建叫做Lasso回归,使用L2正则化的模型叫做Ridge回归(岭回归。但是使用正则化来防止过拟合的原理是什么?L1L...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 25,708
精华内容 10,283
关键字:

l1正则化和l2正则化