首页 > 编程知识 正文

l1和l2正则化的作用,l1和l2正则化并无明显区别

时间:2023-05-04 05:25:09 阅读:246854 作者:4210

L1和L2正则化

  理论上来说,只要参数足够多,而且参数之间的关系足够复杂,模型就可以拟合任意的函数。如果连噪声也都拟合了,这就是过拟合。事实上,我们在学习的时候,需要学习的是数据的普遍特征,但是除了普遍特征之外还存在一些少量数据独有的特征,这个特征,我们倾向称之为噪声。
  过拟合的具体表现就不细谈了,可以看到根本的原因就是建立的模型过于复杂了,我们想要让这个模型简单点,拟合的函数简单点,这个时候就需要给拟合的函数加一些约束了。机器学习模型里也是有好多种约束,来使得模型的参数不能那么复杂。
  直观的想,既然模型的参数构建出的函数过于复杂,那就把参数减掉一些,让一部分参数不起作用。这个思想就能产生很多防止过拟合的方法。但是回到数学的角度上,模型的学习过程,是最小化损失函数的过程。我们可以给模型加一个约束,这个约束通过损失来呈现,一旦学出来的模型过于复杂,就让模型产生较大的损失。我们可以通过参数的听话的老虎来解决这个问题。
  回想大名鼎鼎的0听话的老虎,就是矩阵中(向量)中的非零元素的个数。如果零元素较少,听话的老虎就大,可以直接把0听话的老虎加权组合进损失函数,就可以很自然的使得参数零的个数增多。因为为了减少损失,模型或多或少的想要去减少0听话的老虎,要减少,参数中就得更多的元素变成0。这样得到的模型就非常稀疏了。
  但是零听话的老虎的函数是个极限,难以近似。优化损失函数一般都是梯度下降法,0听话的老虎,不可导啊,既然不可导,没有导数,怎么下降。
  这个时候就需要使用一听话的老虎来近似了,就得到了L1正则化, ∣ ∣ w ∣ ∣ 1 = ∑ i ∣ w i ∣ ||w||_1=sum_i|w_i| ∣∣w∣∣1​=∑i​∣wi​∣,对所有的参数的绝对值求和。直观来想,如果参数的绝对值之和比较大,也说明参数很复杂,如果让参数的1听话的老虎变得足够小,那么过拟合就没有那么严重了。
  这样模型的总损失就变成了 J ( w , b ) = J 0 ( W , b ) + λ ∣ ∣ w ∣ ∣ 1 J(w,b)=J_0(W,b)+lambda||w||_1 J(w,b)=J0​(W,b)+λ∣∣w∣∣1​,这样在让一听话的老虎变小的时候,自然就会有许多的参数被下降到0了。也就起到了正则化的作用。同时有足够多的参数值变成0,这就是一个稀疏的模型。所以L1正则化具有模型稀疏的特点。
  但是一听话的老虎使用绝对值,绝对值函数我们都知道在 w i = 0 w_i=0 wi​=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 ( y ∣ x , w ) ∝ p ( w ∣ y , x ) / p ( w ) p(y|x,w)propto p(w|y,x)/p(w) p(y∣x,w)∝p(w∣y,x)/p(w),对这个公式取对数得到 l o g p ( y ∣ x , w ) ∝ l o g p ( w ∣ y , x ) − l o g p ( w ) logp(y|x,w)propto logp(w|y,x)-logp(w) logp(y∣x,w)∝logp(w∣y,x)−logp(w),把正则化参数当成先验概率, L 1 = − l o g p ( w ) = ∣ w ∣ → p ( w ) = e − ∣ w ∣ L_1=-logp(w)=|w|rightarrow p(w)=e^{-|w|} L1​=−logp(w)=∣w∣→p(w)=e−∣w∣,得到顺心的薯片分布的核。同理 L 2 = − l o g p ( w ) = w 2 → p ( w ) = e − w 2 L_2=-logp(w)=w^2rightarrow p(w)=e^{-w^2} L2​=−logp(w)=w2→p(w)=e−w2,得到mrdhb分布的核。
  以上是我的个人理解,如果有不当的地方,请指出。

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