正则化 订阅
正则化(regularization),是指在线性代数理论中,不适定问题通常是由一组线性代数方程定义的,而且这组方程组通常来源于有着很大的条件数的不适定反问题。大条件数意味着舍入误差或其它误差会严重地影响问题的结果。 展开全文
正则化(regularization),是指在线性代数理论中,不适定问题通常是由一组线性代数方程定义的,而且这组方程组通常来源于有着很大的条件数的不适定反问题。大条件数意味着舍入误差或其它误差会严重地影响问题的结果。
信息
外文名
regularization
出    处
线性代数理论
属    于
代数几何中的一个概念
用    途
求解不适定问题
中文名
正则化
形    式
2种
正则化定义
正则化:代数几何中的一个概念。就是给平面不可约代数曲线以某种形式的全纯参数表示。即对于PC^2中的不可约代数曲线C,寻找一个紧Riemann面C*和一个全纯映射σ:C*→PC^2,使得σ(C*)=C设C是不可约平面代数曲线,S是C的奇点的集合。如果存在紧Riemann面C*及全纯映射σ:C*→PC^2,使得(1) σ(C*)=C (2) σ^(-1)(S)是有限点集 (3) σ:C*\σ^(-1)(S)→C\S是一对一的映射则称(C*,σ)为C的正则化。不至于混淆的时候,也可以称C*为C的正则化。正则化的做法,实际上是在不可约平面代数曲线的奇点处,把具有不同切线的曲线分支分开,从而消除这种奇异性。 [1] 
收起全文
精华内容
下载资源
问答
  • 正则化

    千次阅读 2016-11-02 09:56:39
    正则化防止过拟合,提高模型的泛化能力。1. 线性回归 常见损失函数 可用最小二乘法求得最优解 但如果协方差矩阵不可逆,目标函数最小化导数为0时有无穷解,无法求得最优解。特别是p > n时,难以求得最优解,...

    正则化防止过拟合,提高模型的泛化能力。

    1. 线性回归

    线性回归方程
    常见损失函数
    常见损失函数
    可用最小二乘法求得最优解
    最小二乘法求得最优解
    但如果协方差矩阵不可逆,目标函数最小化导数为0时有无穷解,无法求得最优解。特别是p > n时,难以求得最优解,也有过拟合问题。
    因此需要对w做限制,使得最优解空间变小,即进行正则化。

    2. L1-范式(Lasso)

    Lasso的稀疏结果可以用来进行特征选择,选择非零的维度。
    稀疏性在提高模型的准确性以及降低overfitting方面都很有作用。

    稀疏约束。L0最直观,约束非0元素的个数不大于k。但0范式不连续且非凸,是一个组合优化问题,找出目标函数最小值对应的系数组合为一个NP问题。
    L1是L0范式的最优凸近似,也可以达到稀疏的效果。
    L1范式

    L1范式在0点连续不可导,求解困难。
    最小角回归(LAR)和forward stagewise selection可以和Lasso产生差不多的效果。
    Least angle regression对于m维度的数据,最多只要m步就可以把所有的维度都选上,因此在迭代次数上是非常小的。每次沿着角平分线的方向走,可以计算在一个方向上走多远,每次选择都可以最优策略地加进一个维度,使得最多m步就可以结束算法。
    forward stagewise selection方法是一个迭代算法。选择过程从μ=0开始,并且不断向前走很小的step来完成回归模型(回归系数)。大量的迭代步骤使得计算量比较大。

    4. L2-范式(岭回归)

    L2范式
    有解析解
    L2范式解析解
    求逆部分肯定可解,限制了w,减轻了过拟合问题。

    5. L1,L2的区别

    L2范式是把解约束在一个l2-ball里面,放缩是对球的半径放缩,因此w的每一个维度都在以同一个系数放缩,通过放缩不会产生稀疏的解—即某些w的维度是0。而实际应用中,数据的维度中是存在噪音和冗余的,稀疏的解可以找到有用的维度并且减少冗余,提高回归预测的准确性和鲁棒性(减少了overfitting)。
    L1, L2的区别
    红色的椭圆和蓝色的区域的切点就是目标函数的最优解,我们可以看到,如果是圆,则很容易切到圆周的任意一点,但是很难切到坐标轴上,因此没有稀疏;但是如果是菱形或者多边形,则很容易切到坐标轴上,因此很容易产生稀疏的结果。

    展开全文
  • 正则化的作用以及L1和L2正则化的区别

    万次阅读 多人点赞 2019-08-21 20:06:16
    0 正则化的作用 正则化的主要作用是防止过拟合,对模型添加正则化项可以限制模型的复杂度,使得模型在复杂度和性能达到平衡。 常用的正则化方法有L1正则化和L2正则化。L1正则化和L2正则化可以看做是损失函数的惩罚...

    0 正则化的作用

    正则化的主要作用是防止过拟合,对模型添加正则化项可以限制模型的复杂度,使得模型在复杂度和性能达到平衡。
    常用的正则化方法有L1正则化和L2正则化。L1正则化和L2正则化可以看做是损失函数的惩罚项。所谓『惩罚』是指对损失函数中的某些参数做一些限制。 L1正则化的模型建叫做Lasso回归,使用L2正则化的模型叫做Ridge回归(岭回归。但是使用正则化来防止过拟合的原理是什么?L1和L2正则化有什么区别呢?

    1 L1正则化与L2正则化

    L1正则化的表达如下,其中αw1\alpha||w||_1为L1正则化项,L1正则化是指权值向量w 中各个元素的绝对值之和。
    在这里插入图片描述
    L2正则化项表达式如下,其中αw22\alpha||w||_2^2为L2正则化项,L2正则化是指权值向量w 中各个元素的平方和然后再求平方根。
    在这里插入图片描述
    L1和L2正则化的作用:

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

    下面看李飞飞在CS2312中给的更为详细的解释:

    • L2正则化可以直观理解为它对于大数值的权重向量进行严厉惩罚,倾向于更加分散的权重向量。由于输入和权重之间的乘法操作,这样就有了一个优良的特性:使网络更倾向于使用所有输入特征,而不是严重依赖输入特征中某些小部分特征。 L2惩罚倾向于更小更分散的权重向量,这就会鼓励分类器最终将所有维度上的特征都用起来,而不是强烈依赖其中少数几个维度。。这样做可以提高模型的泛化能力,降低过拟合的风险。
    • L1正则化有一个有趣的性质,它会让权重向量在最优化的过程中变得稀疏(即非常接近0)。也就是说,使用L1正则化的神经元最后使用的是它们最重要的输入数据的稀疏子集,同时对于噪音输入则几乎是不变的了。相较L1正则化,L2正则化中的权重向量大多是分散的小数字。
    • 在实践中,如果不是特别关注某些明确的特征选择,一般说来L2正则化都会比L1正则化效果好。

    2 L1和L2正则化的原理

    上面讲到L1倾向于学得稀疏的权重矩阵,L2倾向于学得更小更分散的权重?但是L1和L2是怎样起到这样的作用的呢?背后的数学原理是什么呢?
    模型的学习优化的目标是最小化损失函数,学习的结果是模型参数。在原始目标函数的基础上添加正则化相当于,在参数原始的解空间添加了额外的约束。
    L1正则化对解空间添加的约束是:
    w1<=C\sum||w||_1 <= C
    L2正则化对解空间添加的约束是:
    w22<=C\sum||w||_2^2 <= C
    为了形象化的说明以假设有两个空间,以二维参数空间为例,假设有两个参数W1和W2。
    则L1正则化对解空间的约束为:
    w1+w2<=C|w1| + |w2| <= C
    L2对解空间的约束为:
    w12+w22<=Cw1^2 + w2^2 <= C
    在二维平面上绘制以上两个式子的图像,可得L1约束的范围是一个顶点在坐标轴上的菱形,L2约束的范围是一个圆形。
    在这里插入图片描述
    上面的图,左面是L2约束下解空间的图像,右面是L1约束下解空间的图像。
    蓝色的圆圈表示损失函数的等值线。同一个圆上的损失函数值相等的,圆的半径越大表示损失值越大,由外到内,损失函数值越来越小,中间最小。
    如果没有L1和L2正则化约束的话,w1和w2是可以任意取值的,损失函数可以优化到中心的最小值的,此时中心对应的w1和w2的取值就是模型最终求得的参数。
    但是填了L1和L2正则化约束就把解空间约束在了黄色的平面内。黄色图像的边缘与损失函数等值线的交点,便是满足约束条件的损失函数最小化的模型的参数的解。 由于L1正则化约束的解空间是一个菱形,所以等值线与菱形端点相交的概率比与线的中间相交的概率要大很多,端点在坐标轴上,一些参数的取值便为0。L2正则化约束的解空间是圆形,所以等值线与圆的任何部分相交的概率都是一样的,所以也就不会产生稀疏的参数。
    但是L2为什么倾向于产生分散而小的参数呢?那是因为求解模型的时候要求,在约束条件满足的情况下最小化损失函数,w22\sum||w||_2^2也应该尽可能的小。
    看这样一个例子:
    设输入向量x=[1,1,1,1],两个权重向量w_1=[1,0,0,0],w_2=[0.25,0.25,0.25,0.25]。那么w1Tx=w2Tx=1w^T_1x=w^T_2x=1,两个权重向量都得到同样的内积,但是w1w_1的L2惩罚是1.0,而w2w_2的L2惩罚是0.25。因此,根据L2惩罚来看,w2w_2更好,因为它的正则化损失更小。从直观上来看,这是因为w2w_2的权重值更小且更分散。所以L2正则化倾向于是特征分散,更小。

    3 正则化参数 λ

    我们一般会为正则项参数添加一个超参数λ或者α,用来平衡经验风险和结构风险(正则项表示结构风险)。
    在这里插入图片描述以 L2 为例,若 λ 很小,就是说我们考虑经验风险更多一些,对于结构风险没有那么重视,约束条件更为宽松。对应上文中的 C 值就很大。这时候,圆形区域很大,能够让 w 更接近中心最优解的位置。若 λ 近似为 0,相当于圆形区域覆盖了最优解位置,这时候,正则化失效,容易造成过拟合。
    相反,若 λ 很大,约束条件更为严格,对应上文中的 C 值就很小。这时候,圆形区域很小,w 离中心最优解的位置较远。w 被限制在一个很小的区域内变化,w 普遍较小且接近 0,起到了正则化的效果。但是,λ 过大容易造成欠拟合。欠拟合和过拟合是两种对立的状态。

    4 总结

    1. 添加正则化相当于参数的解空间添加了约束,限制了模型的复杂度
    2. L1正则化的形式是添加参数的绝对值之和作为结构风险项,L2正则化的形式添加参数的平方和作为结构风险项
    3. L1正则化鼓励产生稀疏的权重,即使得一部分权重为0,用于特征选择;L2鼓励产生小而分散的权重,鼓励让模型做决策的时候考虑更多的特征,而不是仅仅依赖强依赖某几个特征,可以增强模型的泛化能力,防止过拟合。
    4. 正则化参数 λ越大,约束越严格,太大容易产生欠拟合。正则化参数 λ越小,约束宽松,太小起不到约束作用,容易产生过拟合。
    5. 如果不是为了进行特征选择,一般使用L2正则化模型效果更好。

    参考文章:
    1.【通俗易懂】机器学习中 L1 和 L2 正则化的直观解释
    2. 机器学习中正则化项L1和L2的直观理解

    展开全文
  • L1和L2正则化(regularization)

    万次阅读 2020-04-07 09:54:24
    L1和L2正则化   理论上来说,只要参数足够多,而且参数之间的关系足够复杂,模型就可以拟合任意的函数。如果连噪声也都拟合了,这就是过拟合。事实上,我们在学习的时候,需要学习的是数据的普遍特征,但是除了...

    L1和L2正则化

      理论上来说,只要参数足够多,而且参数之间的关系足够复杂,模型就可以拟合任意的函数。如果连噪声也都拟合了,这就是过拟合。事实上,我们在学习的时候,需要学习的是数据的普遍特征,但是除了普遍特征之外还存在一些少量数据独有的特征,这个特征,我们倾向称之为噪声。
      过拟合的具体表现就不细谈了,可以看到根本的原因就是建立的模型过于复杂了,我们想要让这个模型简单点,拟合的函数简单点,这个时候就需要给拟合的函数加一些约束了。机器学习模型里也是有好多种约束,来使得模型的参数不能那么复杂。
      直观的想,既然模型的参数构建出的函数过于复杂,那就把参数减掉一些,让一部分参数不起作用。这个思想就能产生很多防止过拟合的方法。但是回到数学的角度上,模型的学习过程,是最小化损失函数的过程。我们可以给模型加一个约束,这个约束通过损失来呈现,一旦学出来的模型过于复杂,就让模型产生较大的损失。我们可以通过参数的范数来解决这个问题。
      回想大名鼎鼎的0范数,就是矩阵中(向量)中的非零元素的个数。如果非零元素较少,范数就大,可以直接把0范数加权组合进损失函数,就可以很自然的使得参数零的个数增多。因为为了减少损失,模型或多或少的想要去减少0范数,要减少,参数中就得更多的元素变成0。这样得到的模型就非常稀疏了。
      但是零范数的函数是个极限,难以近似。优化损失函数一般都是梯度下降法,0范数,不可导啊,既然不可导,没有导数,怎么下降。
      这个时候就需要使用一范数来近似了,就得到了L1正则化,w1=iwi||w||_1=\sum_i|w_i|,对所有的参数的绝对值求和。直观来想,如果参数的绝对值之和比较大,也说明参数很复杂,如果让参数的1范数变得足够小,那么过拟合就没有那么严重了。
      这样模型的总损失就变成了J(w,b)=J0(W,b)+λw1J(w,b)=J_0(W,b)+\lambda||w||_1,这样在让一范数变小的时候,自然就会有许多的参数被下降到0了。也就起到了正则化的作用。同时有足够多的参数值变成0,这就是一个稀疏的模型。所以L1正则化具有模型稀疏的特点。
      但是一范数使用绝对值,绝对值函数我们都知道在wi=0w_i=0点是一个不可导点,如果众多参数中有一个为0,这个时候就没法求梯度了,所以会给梯度下降带来阻力,需要使用其他技巧来优化,这样L1正则化的一个弊端就出来了,那就是优化的慢。
      范数之间有等价性,1范数可以正则化,2范数可以正则化算是一个比较自然的事情。(L2正则化并不是矩阵的2范数,而是矩阵的F范数),L2范数使用平方项的话,函数就是处处可导的,这样对于2范数做梯度下降就比较容易一些。所以相对于L1正则化,L2正则化收敛的更加快一点
      L2对参数约束,也能够使得部分参数变得小一点,起的影响就小,使得模型不是非常复杂,但是二范数的约束,可以让参数变得更小,可能参数小到一定程度,产生的影响已经被忽略了,这个参数就不是2范数的主要影响因素了,这个时候该参数就不会继续减小。所以L2 正则化能够得到比较小的参数,小到可以被忽略,但是无法小到0,也就不具有稀疏性
      使用L2正则化的时候,求导之后做梯度下降,参数的变化可以看成每次在原来的基础上乘一个小于1的因子,这样可以理解为L2正则化让参数衰减,所以L2正则化又叫权重衰减(Weight Decay)。
      网上有人解释说,L1正则化相当于一个菱形(参数的范数)和椭圆(损失函数的等高线)求最先交上的点,然后比较大概率的落到菱形的角上,使用L2正则化相当于圆(参数的参数)和椭圆求最先交上的点,事实上,这个观点是错误的。但是作为帮助理解记忆还是可以的。为什么L1范数比L2范数更容易得到稀疏性,这是由梯度下降算法和范数的特点决定的,具体原因这里不展开。
      了解了L1和L2正则化,这里做一个拓展。在机器学习中,线性回归模型,如果使用L1正则化,则得到的模型叫Lasso模型,如果使用L2正则化,则得到的模型叫岭(Ridge)回归。
      可能还有一个问题没解决,为什么说L1正则的先验分布是Laplace分布,L2正则先验是Gaussian分布,这个问题就得回到贝叶斯统计上。我们计算一个模型,用一个模型去对数据做判别,相当于求数据和参数的条件下,数据的标签y的最大后验分布。p(yx,w)p(wy,x)/p(w)p(y|x,w)\propto p(w|y,x)/p(w),对这个公式取对数得到logp(yx,w)logp(wy,x)logp(w)logp(y|x,w)\propto logp(w|y,x)-logp(w),把正则化参数当成先验概率,L1=logp(w)=wp(w)=ewL_1=-logp(w)=|w|\rightarrow p(w)=e^{-|w|},得到拉普拉斯分布的核。同理L2=logp(w)=w2p(w)=ew2L_2=-logp(w)=w^2\rightarrow p(w)=e^{-w^2},得到高斯分布的核。
      以上是我的个人理解,如果有不当的地方,请指出。

    展开全文
  • 归一化和正则化

    千次阅读 2019-08-05 15:11:30
    归一化和正则化1、归一化1.1为什么要归一化1.2 如何进行归一化2、正则化2.1、为什么要进行正则化2.2 如何进行正则化惩罚 1、归一化 1.1为什么要归一化 在做梯度下降的时候,我们用的数据集并不像前面给的数据集那么...

    1、归一化

    1.1为什么要归一化

    在做梯度下降的时候,我们用的数据集并不像前面给的数据集那么规范,很多时候不同特征的值之间相差还是很大的,举个简单的例子以收入和开销为特征,分析对幸福指数的影响。

    收入 开销
    6000 1000
    7200 1300
    5000 1500

    y = w0 + w1X1(收入) + w2X2(开销)
    这里一眼就可以看出收入是不是特别大啊,那么相对应的它对幸福指数的影响是不是远超开销,但如果我们用这样的数据来做预测会产生什么问题呢?
    X1 >> X2 ,那么在y不变的情况下W1 << W2.
    又由梯度g = (y_hat - y)* X得:
    g1 >> g2
    又w的调整幅度差为-alpha*g
    则g越小,调整的幅度就越小。
    那么矛盾就产生了,如果此时不做归一化,去使用梯度下降求解最优解的话,
    产生的效果,即会是同样的迭代次数下,W1已经调整好了,W2还在慢慢的往前挪,
    整体看起来,就比先做归一化,再做梯度下降,需要的迭代次数要多了!!!。
    所以此时求需要对数据进行归一化处理,使得W1和W2处于同样的伸缩程度。
    图解1


    没进行归一化前迭代是一个“之”字形,迭代此处多。
    归一化后的图见图2
    在这里插入图片描述
    显然归一化后进行梯度下降速度更快。

    1.2 如何进行归一化

    可以使用最大最小值归一化即
    (X-Xmin)/(Xmax-Xmin)
    最终通过最大值最小值归一化的特点是一定可以把一列数据归到0到1之间

    2、正则化

    2.1、为什么要进行正则化

    在进行线性回归时往往因为样本的问题会出现过拟合现象,举个简单的例子
    见下图3
    在这里插入图片描述
    在进行线性回归时最理想的是不是上图,但倘若我们用非线性来拟合时就是下图这样
    在这里插入图片描述
    这样虽然准确性确实提高了,但倘若最底下的点是一个异常点,那么他对结果的影响是不是特别大啊。并且这样做模型的泛化能力是不是特别弱。不切合实际。所以就有必要假如正则化惩罚项。

    2.2 如何进行正则化惩罚

    有三种方法可以实现,分别是Ridge Regression,Lasso,Elastic-Net。但最常用的是Ridge Regression,也叫做L2正则化。表达式为
    在这里插入图片描述
    这里的左半部分表示正确率,右半部分表示泛化程度。
    如何去理解呢?
    设y = W0 + W1X1 + W2X2 + …+WnXn
    假设W1特别大,当有一次输入特别大的时候,那么此时WX的值就会特别的大,那么这个时候模型的容错率是不是也别的小啊。所以在实际中我们希望W小一点,是不是模型的容错率或者说泛化能力就越强。
    此外W越少,也同样可以增加模型的容错能力。
    那么如何去实现W越小和越少呢?就是上面的式子。
    这里右边 Γ(n)=W2\Gamma(n) = \sum W^2
    当进行梯度下降时,会考虑他的惩罚系数α,当α < 1 时每一次迭代都会和W相乘从而减少W的值,W值越小容错率就越好。α不是越小越好,α太小的话就会导致w取向0,这样对应的特征就没用了。太大的话,就会导致震荡。这个在sklearn的官方有个例程。
    链接为:
    https://scikit-learn.org/stable/auto_examples/linear_model/plot_ridge_path.html#sphx-glr-auto-examples-linear-model-plot-ridge-path-py
    所以选择一个合适的α是至关重要的。

    展开全文
  • 这样, 我们从图像化的角度,分析了 L2 正则化的物理意义,解释了带 L2 正则化项的损失函数是如何推导而来的。 2. L1 正则化直观解释 L1 正则化公式也很简单,直接在原来的损失函数基础上加上权重参数的...
  • pytorch实现L2和L1正则化regularization的方法

    万次阅读 多人点赞 2019-03-14 16:44:27
    pytorch实现L2和L1正则化的方法 目录 目录 pytorch实现L2和L1正则化的方法 1.torch.optim优化器实现L2正则化 2. 如何判断正则化作用了模型? 2.1 未加入正则化loss和Accuracy 2.1 加入正则化loss和Accuracy ...
  • 点击蓝字关注我们AI TIME欢迎每一位AI爱好者的加入!神经元或卷积核之间的强相关性会大幅削弱神经网络的泛化能力。本文提出使归一后的权重向量在单位超球面上尽可能分布均匀,从而减弱其相...
  • L1正则化和L2正则化的详细直观解释

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

空空如也

空空如也

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

正则化