L1、L2 正则项详解(解空间、先验分布)

  • 引入
  • 直观看
  • 解空间
  • 先验分布
    • 最大似然估计
    • 最大后验估计
  • 引入

    在线性回归或其他模型中,我们经常使用正则项,例如:对普通线性回归添加 L1 正则项后就变为 Lasso 回归,对普通线性回归添加 L2 正则项后就变为 Ridge 回归。对于正则项,我们都知道 L2 正则项具有缩放型效应,可以让模型参数更加平滑;L1 正则项具有截断型效应,使得模型参数更加稀疏。那么本文就对这现象的背后原理进行讲解。

  • 直观看

    首先对平滑与稀疏建立一个直观的概念,稀疏意味着使模型参数等于 0,从而在模型内部嵌入式地进行特征选择,;而平滑则会尽量使参数小,但不等于 0,从而嵌入式地对特征进行缩小。

    举一个不严谨但直观简单的例子,方便理解:设f(x;w)f(x;w)f(x;w)为经验损失,LLL 代表正则项,l(x;w)=f(x;w)+Ll(x;w)=f(x;w)+Ll(x;w)=f(x;w)+L 为结构损失。假设此时使用梯度下降更新参数,μμμ 为学习率,则梯度为 μ∂f(w)∂wi−μ∗∂L∂wiμ\frac{\partial f(w)}{\partial w_i}-μ*\frac{\partial L}{\partial w_i}μ∂wi​∂f(w)​−μ∗∂wi​∂L​,对于不同的正则项 μ∂f(w)∂wiμ\frac{\partial f(w)}{\partial w_i}μ∂wi​∂f(w)​ 是相同的,我们暂时忽略,所以:

    1. 使用 L1 正则项,梯度为:μ∂∑i=1n∣wi∣∂wi=μ∗1=μμ\frac{\partial \sum_{i=1}^{n}|w_i|}{\partial w_i}=μ*1=μμ∂wi​∂∑i=1n​∣wi​∣​=μ∗1=μ, 梯度更新参数的表达式为:wi:=wi−μ∗1w_i:=w_i-μ*1wi​:=wi​−μ∗1,假设 μ=0.5μ=0.5μ=0.5,则 wi:=wi−0.5w_i:=w_i-0.5wi​:=wi​−0.5,所以 L1 意味着在更新参数时相当于一直减去一个定值,那么终会有一时刻将 wiw_iwi​ 减为 0,那么此时参数为 0,所以稀疏。
    2. 使用 L2 正则项,梯度为:12μ∂∑i=1n(wi)2∂wi=μwi\frac{1}{2}μ\frac{\partial \sum_{i=1}^{n}(w_i)^2}{\partial w_i}=μw_i21​μ∂wi​∂∑i=1n​(wi​)2​=μwi​, 梯度更新参数的表达式为:wi:=wi−μwiw_i:=w_i-μw_iwi​:=wi​−μwi​,假设 μ=0.5μ=0.5μ=0.5,则 wi:=wi−12wi:=12wiw_i:=w_i-\frac{1}{2}w_i:=\frac{1}{2}w_iwi​:=wi​−21​wi​:=21​wi​,相当于每次的更新都是折半,则更新的图像为 log⁡2wi\log_2w_ilog2​wi​,所以只会趋近于 0,不会等于 0,趋于平滑。

    通过上面不正规的例子,我们对稀疏性与平滑型有了直观的理解,下面就开始正式的通过公式证明。

  • 解空间

    在优化过程中,我们希望在优化经验损失 ∑i=1n(yi−wTxi)2\sum_{i=1}^{n}(y_i-w^Tx_i)^2∑i=1n​(yi​−wTxi​)2 的同时,还希望对模型的复杂度进行限制,约束参数的取值空间,从而达到防止过拟合的效果,那么我们可以为优化问题加上一个约束,即参数 www 的范数不能大于 C:

    对于 Lβ 范数:{min∑i=1n(yi−wTxi)2s.t.∣∣w∣∣β−C≤0,β=1,2\begin{cases} min\sum_{i=1}^{n}(y_i-w^Tx_i)^2\\ s.t. ||w||_β-C \le 0,β=1,2\\ \end{cases}{min∑i=1n​(yi​−wTxi​)2s.t.∣∣w∣∣β​−C≤0,β=1,2​

    为了求解带约束条件的凸优化问题,写出拉格朗日函数:

    L(x,w,λ)=∑i=1n(yi−wTxi)2+λ(∣∣w∣∣β−C)L(x,w,λ)=\sum_{i=1}^{n}(y_i-w^Tx_i)^2+λ(||w||_β-C)L(x,w,λ)=∑i=1n​(yi​−wTxi​)2+λ(∣∣w∣∣β​−C)

    假设此时 w∗,λ∗w^*,λ^*w∗,λ∗ 为原始问题与对偶问题的最优解,则根据 KKTKKTKKT 条件,应分别满足:

    {∇wL(x∗;w∗;λ∗)=0∇λL(x∗;w∗;λ∗)=0λ(∣∣w∣∣β−C)=0λ∗≥0∣∣w∣∣β−C≤0⟹其中{∇w[∑i=1n(yi−w∗Txi∗)2+λ∗(∣∣w∗∣∣β−C)]=0λ∗≥0\begin{cases} \nabla_{w}L(x^*;w^*;λ^*)=0\\ \nabla_{λ}L(x^*;w^*;λ^*)=0\\ λ(||w||_β-C)=0\\ λ^*\ge0\\ ||w||_β-C\le0 \end{cases}\mathop{}_{\Longrightarrow}^{其中}\begin{cases} \nabla_{w}[\sum_{i=1}^{n}(y_i-{w^*}^Tx_i^*)^2+λ^*(||w^*||_β-C)]=0\\ λ^*\ge0\\ \end{cases}⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧​∇w​L(x∗;w∗;λ∗)=0∇λ​L(x∗;w∗;λ∗)=0λ(∣∣w∣∣β​−C)=0λ∗≥0∣∣w∣∣β​−C≤0​⟹其中​{∇w​[∑i=1n​(yi​−w∗Txi∗​)2+λ∗(∣∣w∗∣∣β​−C)]=0λ∗≥0​

    回头看,∇w[∑i=1n(yi−w∗Txi∗)2+λ∗(∣∣w∗∣∣β−C)]=0\nabla_{w}[\sum_{i=1}^{n}(y_i-{w^*}^Tx_i^*)^2+λ^*(||w^*||_β-C)]=0∇w​[∑i=1n​(yi​−w∗Txi∗​)2+λ∗(∣∣w∗∣∣β​−C)]=0 表示的就是: w∗,λ∗w^*,λ^*w∗,λ∗ 为带有正则项的优化问题的最优解的条件,且 λ∗λ^*λ∗ 为正则项前的正则参数。与我们通常使用的结构损失正好对应!

    对于正则项前的系数 λλλ,用来控制经验损失与正则项的相对重要性,λλλ 值越大,表明正则项越严格,更倾向于获得稀疏模型。

    由以上我们可以得出:加入正则项就相当于对经验损失加上约束条件,从而变成约束优化问题。对应于解空间来讲,有下图:

    对于解空间我们可以想象到 2 维的情景,假设在 w1,w2w_1,w_2w1​,w2​ 的解空间中,菱形与圆形分别对应 L1 与 L2 中 w1,w2w_1,w_2w1​,w2​ 取值范围,w∗w^*w∗ 为 www 的最优解(L1 正则是绝对值之和,可以认为是一次函数类似 aw1+bw2=0aw_1+bw_2=0aw1​+bw2​=0 围城的图形,所以是菱形;L1 正则是平方之和,可以认为是二次函数类似 (w1)2+(w2)2=0(w_1)^2+(w_2)^2=0(w1​)2+(w2​)2=0 围城的图形,所以是圆形)。

    如果原问题目标函数的最优解不是恰好落在解空间内,那么约束条件下的最优解必然在解空间与约束空间的交点处。L1 “棱角分明”的约束空间更容易与解空间在角点碰撞,且 L1 中两个参数值倾向于一个较大另一个为 0,L2 中两个参数倾向于均为非零的较小数(使用 L2 正则项时,只有当解空间的中心与 L2 约束空间的中心垂直或平行时才能得到一个参数为 0,另一个参数较大,而 L1 的约束空间则不然)。所以就有 L1 稀疏,L2 平滑的效果。

  • 先验分布

    如果在概率估计的范畴,则可以通过先验分布解释 L1 与 L2 的稀疏性与平滑性。

    在从先验分布角度介绍 L1,L2 之前,我们先了解一下最大似然估计与最大后验估计(参考链接)。

    1. 最大似然估计

      对于函数 P(x∣θ)P(x|θ)P(x∣θ),有两个输入,xxx 表示已知数据,θθθ 表示条件参数,那么这个条件概率可以从两个方面理解:

      ∙\bullet∙ 如果 θθθ 已知,xxx 未知,这个函数称为概率函数,用于计算对于不同 xxx 发生的概率;

      ∙\bullet∙ 如果 xxx 已知,θθθ 未知,这个函数称为似然函数,用来描述,当样本数据发生的经验概率(可从数据中统计)是已知,计算使它产生这样经验概率的参数是多少(似然,可以认为是接近真实,近似它自然拥有的参数)。

      最大似然估计的计算过程:

      例:此时抛硬币10次,其中正面 7 次,反面 3 次,设 硬币正面出现的概率为 θθθ, 请估计硬币正面出现的概率。

      ① 写出 似然函数:f(x)=θ7(1−θ)3f(x)=θ^7(1-θ)^3f(x)=θ7(1−θ)3

      ② 转换成 对数似然函数:ln⁡f(x)=ln⁡(θ7(1−θ)3)=7ln⁡θ+3ln⁡(1−θ)\ln f(x)=\ln (θ^7(1-θ)^3)=7\ln θ + 3\ln(1-θ)lnf(x)=ln(θ7(1−θ)3)=7lnθ+3ln(1−θ)

      ③ 对 θθθ 求导,并令导数等于 0:7θ−31−θ=0\frac{7}{θ}-\frac{3}{1-θ}=0θ7​−1−θ3​=0,解得 θ=0.7θ=0.7θ=0.7

      (④ 对于更加复杂的函数形式可使用梯度下降)

    2. 最大后验估计

      最大后验估计运用贝叶斯公式:P(w∣X)=P(X∣w)P(w)P(X)P(w|X)=\frac{P(X|w)P(w)}{P(X)}P(w∣X)=P(X)P(X∣w)P(w)​,是在最大似然估计的基础上加入了先验概率。

      其中 XXX 作为已知的训练数据出现,最大似然估计的目的是最大化 P(w∣X)P(w|X)P(w∣X),即在已知数据的基础上既最大化似然函数 P(X∣w)P(X|w)P(X∣w),又要最大化 P(w)P(w)P(w)。意味着要考虑先验概率 P(w)P(w)P(w) 。与之前文章讲的贝叶斯公式(机器学习 - 朴素贝叶斯(上)- 概率论基础)可视为一样的:我们先对参数 www 计算先验概率,而后通过数据计算条件概率 P(X∣w)P(X|w)P(X∣w) 对先验概率进行修正。

    现在我们可以根据最大后验估计对 L1 与 L2 的稀疏与平滑进行解释了。

    对于机器学习模型,我们都是已知数据对参数进行学习,相当于对 www 进行估计,此过程可用最大后验估计表示,其中 X,YX,YX,Y 为数据及其标签:

    P(w∣X,Y)=P(X,Y∣w)P(w)P(X,Y)P(w|X,Y)=\frac{P(X,Y|w)P(w)}{P(X,Y)}P(w∣X,Y)=P(X,Y)P(X,Y∣w)P(w)​

    根据最大后验估计,我们的目标是最大化 P(X,Y∣w)P(X,Y|w)P(X,Y∣w) 以及 P(w)P(w)P(w),而对于同一个任务,所使用的数据是不变的,所以 P(X,Y)P(X,Y)P(X,Y) 可以视为常数忽略,此时最大后验估计可表示为:

    P(w∣X,Y)=P(X,Y∣w)P(w)P(w|X,Y)=P(X,Y|w)P(w)P(w∣X,Y)=P(X,Y∣w)P(w)

    同样取对数,得对数后验函数:

    f(x)=log⁡(P(X,Y∣w)P(w))=log⁡P(X,Y∣w)+log⁡P(w)f(x)=\log (P(X,Y|w)P(w))=\log P(X,Y|w)+\log P(w)f(x)=log(P(X,Y∣w)P(w))=logP(X,Y∣w)+logP(w)

    从中可以发现:对数后验函数是在对数似然函数的基础上增加了 log⁡P(w)\log P(w)logP(w),其中 P(w)P(w)P(w) 的意义是对参数 www 的概率分布做出的先验假设,在收集到训练数据 X,YX,YX,Y 后,则可根据 www 在 X,YX,YX,Y 下的条件概率对 www 进行修正,从而做出对 www 进行更好地估计。

    ∙\bullet∙ 若假设 wjw_jwj​ 的先验分布为 0均值 的高斯分布,即:wj∼N(0,σ2)w_j\sim N(0,σ^2)wj​∼N(0,σ2)

    log⁡P(w)=log⁡∏jP(wj)=log⁡∏j[−12πσ2e−(wj)22σ2]=−12σ2∑jwj2+C′\log P(w)=\log \prod_{j} P(w_j)=\log \prod_{j}[-\frac{1}{\sqrt{2π}σ^2}e^{-\frac{(w_j)^2}{2σ^2}}]=-\frac{1}{2σ^2}\sum_{j}w_j^2+C'logP(w)=log∏j​P(wj​)=log∏j​[−2π​σ21​e−2σ2(wj​)2​]=−2σ21​∑j​wj2​+C′

    很巧,在高斯分布下,log⁡P(w)\log P(w)logP(w) 具有 ∑jwj2\sum_{j}w_j^2∑j​wj2​ 项 ,与 L2 正则项是效果等价的。

    所以使用 L2 正则项相当于对模型参数 www 引入了高斯先验。

    ∙\bullet∙ 若假设 wjw_jwj​ 服从 均值为0,参数为 aaa 的拉普拉斯分布,即:P(wj)=12ae−∣wj∣aP(w_j)=\frac{1}{\sqrt{2a}}e^{\frac{-|w_j|}{a}}P(wj​)=2a​1​ea−∣wj​∣​

    log⁡P(w)=log⁡∏jP(wj)=log⁡∏j12ae−∣wj∣a=−1a∑j∣wj∣+C′\log P(w)=\log \prod_{j} P(w_j)=\log \prod_{j}\frac{1}{\sqrt{2a}}e^{\frac{-|w_j|}{a}}=-\frac{1}{a}\sum_{j}|w_j|+C'logP(w)=log∏j​P(wj​)=log∏j​2a​1​ea−∣wj​∣​=−a1​∑j​∣wj​∣+C′

    很巧,在拉普拉斯分布下,log⁡P(w)\log P(w)logP(w) 具有 ∑j∣wj∣\sum_{j}|w_j|∑j​∣wj​∣ 项 ,与 L1 正则项是效果等价的。

    所以使用 L1 正则项相当于对模型参数 www 引入了拉普拉斯先验。

    但是高斯先验为什么会使参数更平滑而拉普拉斯为什么会使参数更稀疏呢?

    首先来看阿门两个分布函数的图像:

    (左图为拉普拉斯分布,右图为高斯分布,图片来自网络。)

    对于拉普拉斯分布,大部分概率分布都聚集在 0 附近,而对于值较大的概率较小,所以获得 w=0w=0w=0 的概率更高,从而更倾向于稀疏;而对于高斯分布,其中取值较大的概率的分布相比拉普拉斯分布更大,而在 0 附近的概率分布较小,所以对于 w=0w=0w=0 的概率更小,所以更倾向于平滑。

L1、L2 正则项详解 - 解空间、先验分布、最大似然估计 and 最大后验估计相关推荐

  1. L1、L2正则化详解

    正则化是一种回归的形式,它将系数估计(coefficient estimate)朝零的方向进行约束.调整或缩小.也就是说,正则化可以在学习过程中降低模型复杂度和不稳定程度,从而避免过拟合的危险. 一. ...

  2. 【机器学习】L1正则化与L2正则化详解及解决过拟合的方法

    在详细介绍L1与L2之前,先讲讲正则化的应用场景. 正则化方法:防止过拟合,提高泛化能力 所谓过拟合(over-fitting)其实就是所建的机器学习模型或者是深度学习模型在训练样本中表现得过于优越, ...

  3. 机器学习中L0, L1, L2正则项介绍

    版权声明:本文为原创文章:http://blog.csdn.net/programmer_wei/article/details/52093281 L0,L1,L2正则项是机器学习中常用的正则项,本文 ...

  4. 最大似然估计_状态估计的基本概念(2)最大似然估计和最大后验估计

    (1)最大似然估计ML和最大后验估计MAP 最大似然估计量 非贝叶斯方法通常是最大化似然函数: 其中 被称为 的最大似然估计量,它是 的函数. 最大后验估计量 估计随机参数的通常方法是最大化后验分布函 ...

  5. L1正则化与L2正则化详解

    L1.L2正则化 什么是正则化? L1.L2正则化公式 正则化的作用 为什么加入L1正则化的模型会更稀疏 1.梯度视角 2.解空间形状视角 为何黄色区域为解空间? 3.函数叠加视角 为何L1正则化可将 ...

  6. 【L1正则化与L2正则化详解及为什么L1和L2正则化可防止过拟合】

    一.为什么L1和L2正则化可防止过拟合? 线性模型常用来处理回归和分类任务,为了防止模型处于过拟合状态,需要用L1正则化和L2正则化降低模型的复杂度,很多线性回归模型正则化的文章会提到L1是通过稀疏参 ...

  7. tikhonov正则化 matlab_4 L1和l2正则化详解(花书7.1 参数范数惩罚)

    7.1 参数范数惩罚 许多正则化方法通过对目标函数 添加一个 参数范数惩罚 ,限制模型(如神经网络.线性回归和逻辑回归)的学习能力.将正则化后的目标函数记为: 其中 是权衡范数惩罚项 和标准目标函数 ...

  8. 【L2-020 功夫传人】天梯赛L2系列详解

    天梯赛L2-020 功夫传人 题目详情: 思路: 这个题目的看着就感觉需要深搜一下,不妨将样例画出来,思路就突然涌来了.很明显的一道深搜的题目: 题目刚开始输入的一行信息整体的信息:宗门人数,祖师爷功 ...

  9. 【L2-019 悄悄关注 】天梯赛L2系列详解

    天梯赛L2-019 悄悄关注 题目详情: 输入样例1: 10 GAO3 Magi Zha1 Sen1 Quan FaMK LSum Eins FatM LLao 8 Magi 50 Pota 30 L ...

  10. 【L2-030 冰岛人】天梯赛L2系列详解

    天梯赛L2-030 冰岛人 题目详情: 思路: 先搞清楚题目要求我们干什么? 直接看输出格式部分,四种情况:异性,同性,有无共同祖先,是否在名单内. 1.判断性别:如果是维京人那么通过性别后缀,否则通 ...

最新文章

  1. laravel 文件上传
  2. 计算矩阵连乘积(动态规划)
  3. 算法的性能评价------空间复杂度和时间复杂度
  4. python中print用法
  5. Go基础:格式化输出--Printf、Sprintf、Fprintf
  6. 宝塔面板网站一打开cpu百分百_BT宝塔面板打开这个功能网站快到起飞,降低宝塔面板内存和CPU使用率,降低运行负载...
  7. 笔记函数 - 判断内存是否有效
  8. GoldenGate组态(四)它veridata组态
  9. 084 HBase的数据迁移(含HDFS的数据迁移)
  10. 诊断案例:Failed parse elapsed time引发db time过高的案例
  11. 窗口潜水面罩行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  12. mysql_num_rows
  13. ENVI入门系列教程---二、图像分析---10.基于专家知识决策树分类
  14. 使用ffmpeg转换webm格式到MP4格式
  15. SolidWorks的发展历史(1994~2007)
  16. 离线语音空调插座设计应用案例
  17. windows 10和windows server 2016系统AD的administrator密码修改
  18. vue的nxut框架生命周期触发两遍的问题
  19. 2022苹果AppStore应用商店上传与APP上传流程必看(基础篇)
  20. 2020南京市(徐庄)高层次创业人才引进计划开启申报

热门文章

  1. css写字体浮雕效果,使用CSS3的text-shadow制作浮雕文字阴影和多重文字阴影效果-网站程序网...
  2. 网银--U盾等--支付宝等总结
  3. 两个卡方分布之和_数理统计|笔记整理(2)——样本与总体概念,抽样分布,次序统计量...
  4. 计算标准累积正态分布_神说要有正态分布,于是就有了正态分布。
  5. 其于js的五笔输入法!
  6. 在微信中实现一键调用扫一扫
  7. 条形码扫描模块的作用是什么?有什么应用意义?
  8. IDEA设置为Eclipse常用快捷键keymap
  9. 淘宝店铺链接获取seller id,拿到店铺所有商品接口,接口接入技术解决方案
  10. 必须知道的C语言知识细节:单引号和双引号正确用法