首页 > 编程知识 正文

l1范式和l2范式的概念,l1范数和l2范数的大小

时间:2023-05-03 23:28:26 阅读:160310 作者:1499

以答案为前提的L0dddcdq是指示卷中除0以外的元素的数目。 (L0dddcdq很难优化求解() ) ) ) )。

L1dddcdq是指向量中各元素的绝对值之和

L2dddcdq是用指向量的各要素的平方和求出平方根

L1dddcdq可以进行特征选择,使得特征的系数为0。

L2dddcdq可以防止过度拟合,提高模型的泛化能力,帮助condition number处理坏矩阵(求解数据变化小的矩阵后结果会发生很大变化)。

(核心) L2相对于大多数,对大纲脱落更敏感! )

下降速度:最小化权重参数L1变化得比L2快

模型空间限制: L1不能稀疏L2。

L1倾向于产生少量特征,其他特征均为0,而L2选择更多特征,所有这些特征接近0。

概念dddcdq是具有“长度”概念的函数。 在向量空间中,给所有向量提供非零的长度或大小。 根据dddcdq的不同,求出的向量的长度和大小也不同。

例如,在二维空间中,如果向量(3,4 )的长度为5,则向量的1个dddcdq的值,更确切地说,为欧洲dddcdq或L2dddcdq的值。

特别地,L0dddcdq :指示卷中非零元素的数量。 无限dddcdq :指向设备中所有元素的最大绝对值。

1 .监督学习的基本模型机器学习问题是“minimizeyourerrorwhileregularizingyourparameters”,即在规则化参数的同时最小化误差。 将误差最小化是为了使我们的模型适合我们的训练数据,有序化参数是为了避免我们的模型过度适合我们的训练数据。 参数过多会增加模型的复杂度,容易过拟合。 也就是说,训练误差变小。 但是,训练误差小并不是我们的最终目标,我们的目标是模型的测试误差小,也就是能够准确预测新样本。 因此,必须在保证模型“简单”的前提下将训练误差最小化。 这样,通过规则函数实现了所得参数具有较好的泛化性能(即测试误差也较小),而模型“简单”。 另外,规则项的使用也可以约束我们模型的特性。 由此,可以将人类对模型的先验知识引入到模型的学习中,使学习到的模型具有稀疏、低秩、平滑等人类期望的特性。 要知道,有时人的事前是非常重要的。 前人的经验会让你少走很多弯路。 所以,我们平时学习最好找ysdgz频段。 一句话拨开我们眼前的乌云,又给我们铺上一片晴朗的天空,有乐趣。 关于机器学习也是一样,只要拨了我们一点,它就一定能更快地学会应对的任务。 只是,因为目前人与机器的交流还没有那么直接的方法,所以目前这个媒体只负责规则项目。

看规则化有几个角度。 有序化符合rdzjy剃刀(occam’s razor )的原理。 那个思想很容易亲近。 在所有可能的模型中,应该选择能够很好地解释已知数据的非常简单的模型。 从贝叶斯估计的角度来看,有序项对应于模型的先验概率。 民间也有说法认为,规则化是结构性风险最小化战略的实现,在经验风险中增加正规化项(regularizer )或惩罚项(penalty term )。

一般来说,监督学习可以视为最小化以下目标函数:

其中,第一项L(yi,f ) Xi; w ) )我们的模型(分类或回归)相对于第I个样本的预测f ) Xi; w )到真正标签yi的误差。 因为我们的模型适合我们的训练样本,所以我们要求这个项目是最小的,也就是说要求我们的模型尽量符合我们的训练数据。 但是,如上所述,我们不仅希望保证训练误差最小,而且希望我们的模型的测试误差小,所以加上第二项,即针对参数w的有序化函数(w ),尽可能简单地约束我们的模型

ok,到此为止,如果你在机器学习上浴血奋战多年,你会发现,啊,啊,机器学习的大多数参与型不仅与此相似,而且与上帝相似。 是的,其实大多数只是改变这两个。 关于第一个Loss函数,如果是Square loss的话,是最纤细的飞鸟乘;如果是Hinge Loss的话,是有名的SVM; 如果是exp-Loss的话,那就是赶牛的Boosting; 对于log-Loss,它是Logistic Regression; 然后再等等。 由于loss函数不同,拟合特性也不同,这也需要针对具体问题进行具体分析。 但是,在这里,先不谈loss函数的问题,让我们来看看“规则项(w )”。

有序化函数(w )也有多种选择,但一般是模型复杂度的单调递增函数,模型越复杂有序化值越大。 例如,有序项可以是模型参数矢量的dddcdq。 但不同的选择对参数w的约束不同,获得的效果也不同,但论文中常见的有零dddcdq、1dddcdq、2dddcdq、痕迹dddcdq、Frobeniusdddcdq和核dddcdq等。 这么多dddcdq,到底意味着什么? 有什么能力? 什么时候可以使用? 需要什么时候使用? 不要着急。 选出几个常见的生动叙述的例子吧。

2.L0dddcdq和L1dddcdq L0dddcdq是指向卷中除0以外的元件的数量。 如果用L0dddcdq有序化一个参数矩阵w,则希望w的大部分元素为0。 这太直观了

,太露骨了吧,换句话说,让参数W是稀疏的。OK,看到了“稀疏”二字,大家都应该从当下风风火火的“压缩感知”和“稀疏编码”中醒悟过来,原来用的漫山遍野的“稀疏”就是通过这玩意来实现的。但你又开始怀疑了,是这样吗?看到的papers世界中,稀疏不是都通过L1dddcdq来实现吗?脑海里是不是到处都是||W||1影子呀!几乎是抬头不见低头见。没错,这就是这节的题目把L0和L1放在一起的原因,因为他们有着某种俏皮的天空关系。那我们再来看看L1dddcdq是什么?它为什么可以实现稀疏?为什么大家都用L1dddcdq去实现稀疏,而不是L0dddcdq呢?

L1dddcdq是指向量中各个元素绝对值之和,也有个美称叫“稀疏规则算子”(Lasso regularization)。现在我们来分析下这个价值一个亿的问题:为什么L1dddcdq会使权值稀疏?有人可能会这样给你回答“它是L0dddcdq的最优凸近似”。实际上,还存在一个更美的回答:任何的规则化算子,如果他在Wi=0的地方不可微,并且可以分解为一个“求和”的形式,那么这个规则化算子就可以实现稀疏。这说是这么说,W的L1dddcdq是绝对值,|w|在w=0处是不可微,但这还是不够直观。这里因为我们需要和L2dddcdq进行对比分析。所以关于L1dddcdq的直观理解,请待会看看第二节。

对了,上面还有一个问题:既然L0可以实现稀疏,为什么不用L0,而要用L1呢?个人理解一是因为L0dddcdq很难优化求解(NP难问题),二是L1dddcdq是L0dddcdq的最优凸近似,而且它比L0dddcdq要容易优化求解。所以大家才把目光和万千宠爱转于L1dddcdq。



OK,来个一句话总结:L1dddcdq和L0dddcdq可以实现稀疏,L1因具有比L0更好的优化求解特性而被广泛应用。

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

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

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

3.L2dddcdq

除了L1dddcdq,还有一种更受宠幸的规则化dddcdq是L2dddcdq: ||W||2。它也不逊于L1dddcdq,它有两个美称,在回归里面,有人把有它的回归叫“岭回归”(Ridge Regression),有人也叫它“权值衰减weight decay”。这用的很多吧,因为它的强大功效是改善机器学习里面一个非常重要的问题:过拟合。至于过拟合是什么,上面也解释了,就是模型训练时候的误差很小,但在测试的时候误差很大,也就是我们的模型复杂到可以拟合到我们的所有训练样本了,但在实际预测新的样本的时候,糟糕的一塌糊涂。通俗的讲就是应试能力很强,实际应用能力很差。擅长背诵知识,却不懂得灵活利用知识。例如下图所示(来自Ng的course):



上面的图是线性回归,下面的图是Logistic回归,也可以说是分类的情况。从左到右分别是欠拟合(underfitting,也称High-bias)、合适的拟合和过拟合(overfitting,也称High variance)三种情况。可以看到,如果模型复杂(可以拟合任意的复杂函数),它可以让我们的模型拟合所有的数据点,也就是基本上没有误差。对于回归来说,就是我们的函数曲线通过了所有的数据点,如上图右。对分类来说,就是我们的函数曲线要把所有的数据点都分类正确,如下图右。这两种情况很明显过拟合了。



OK,那现在到我们非常关键的问题了,为什么L2dddcdq可以防止过拟合?回答这个问题之前,我们得先看看L2dddcdq是个什么东西。

L2dddcdq是指向量各元素的平方和然后求平方根。我们让L2dddcdq的规则项||W||2最小,可以使得W的每个元素都很小,都接近于0,但与L1dddcdq不同,它不会让它等于0,而是接近于0,这里是有很大的区别的哦。而越小的参数说明模型越简单,越简单的模型则越不容易产生过拟合现象。为什么越小的参数说明模型越简单?我也不懂,我的理解是:限制了参数很小,实际上就限制了多项式某些分量的影响很小(看上面线性回归的模型的那个拟合的图),这样就相当于减少参数个数。其实我也不太懂,希望大家可以指点下。

这里也一句话总结下:通过L2dddcdq,我们可以实现了对模型空间的限制,从而在一定程度上避免了过拟合。限制解空间范围,缩小解空间,来控制模型复杂度,降低结构化风险。

L2dddcdq的好处是什么呢?这里也扯上两点:
1)学习理论的角度:
从学习理论的角度来说,L2dddcdq可以防止过拟合,提升模型的泛化能力。
2)优化计算的角度:
从优化或者数值计算的角度来说,L2dddcdq有助于处理 condition number不好的情况下矩阵求逆很困难的问题。(这个不明白)

直观地聊聊L1和L2的差别

为什么一个让绝对值最小,一个让平方最小,会有那么大的差别呢?我看到的有两种几何上直观的解析:

1)下降速度:

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

里解释的不太中肯,当然了也不知道是不是自己理解的问题。


L1在江湖上人称Lasso,L2人称Ridge。

2)模型空间的限制:

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

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


可以看到,L1-ball 与L2-ball 的不同就在于L1在和每个坐标轴相交的地方都有“角”出现,而目标函数的测地线除非位置摆得非常好,大部分时候都会在角的地方相交。注意到在角的位置就会产生稀疏性,例如图中的相交点就有w1=0,而更高维的时候(想象一下三维的L1-ball 是什么样的?)除了角点以外,还有很多边的轮廓也是既有很大的概率成为第一次相交的地方,又会产生稀疏性。

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

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


REFERENCE dddcdq、L1dddcdq和L2dddcdq的基本概念 - lioncv的专栏 - CSDN博客 机器学习中的dddcdq规则化之(一)L0、L1与L2dddcdq - bitcarmanlee的博客 - CSDN博客

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。