返回介绍

数学基础

统计学习

深度学习

工具

Scala

一、参数范数正则化

发布于 2023-07-17 23:38:25 字数 12701 浏览 0 评论 0 收藏 0

  1. 一些正则化方法通过对目标函数 $ MathJax-Element-413 $ 添加一个参数范数正则化项 $ MathJax-Element-49 $ 来限制模型的容量capacity

    正则化之后的目标函数为 $ MathJax-Element-53 $ : $ MathJax-Element-47 $ 。

    • $ MathJax-Element-48 $ 为正则化项的系数,它衡量正则化项 $ MathJax-Element-49 $ 和标准目标函数 $ MathJax-Element-413 $ 的比重。

      • $ MathJax-Element-51 $ 则没有正则化。
      • $ MathJax-Element-386 $ 越大则正则化项越重要。
    • 如果最小化 $ MathJax-Element-53 $ ,则会同时降低 $ MathJax-Element-413 $ 和参数 $ MathJax-Element-467 $ 的规模。

  2. 参数范数正则化可以缓解过拟合。

    如果 $ MathJax-Element-386 $ 设置的足够大,则参数 $ MathJax-Element-467 $ 就越接近零。这意味着模型变得更简单,简单的模型不容易过拟合(但是可能欠拟合)。

    对于神经网络,这意味着很多隐单元的权重接近0,于是这些隐单元在网络中不起任何作用。此时大的神经网络会变成一个小的网络。

    在 $ MathJax-Element-386 $ 从 零逐渐增加的过程中存在一个中间值,使得参数 $ MathJax-Element-467 $ 的大小合适,即一个合适的模型。

  3. 选择不同的 $ MathJax-Element-520 $ 的形式会产生不同的解,常见的形式有 $ MathJax-Element-460 $ 正则化和 $ MathJax-Element-468 $ 正则化。

1.1 L2 正则化

  1. $ MathJax-Element-460 $ 正则化通常被称作岭回归或者Tikhonov正则化。

    • 正则化项为 $ MathJax-Element-64 $ 。系数 $ MathJax-Element-453 $ 是为了使得导数的系数为 1。
    • 该正则化形式倾向于使得参数 $ MathJax-Element-467 $ 更接近零。
  2. 假设 $ MathJax-Element-467 $ 参数就是权重 $ MathJax-Element-526 $ ,没有偏置参数,则: $ MathJax-Element-69 $ 。

    对应的梯度为: $ MathJax-Element-70 $ 。

    使用梯度下降法来更新权重,则权重的更新公式为: $ MathJax-Element-71 $ 。即:

    $ \mathbf{\vec w}\leftarrow (1-\epsilon\alpha) \mathbf{\vec w}-\epsilon \nabla_{\mathbf{\vec w}} J(\mathbf{\vec w};\mathbf X,\mathbf{\vec y}) $

    $ MathJax-Element-460 $ 正则化对于梯度更新的影响是:每一步执行梯度更新之前,会对权重向量乘以一个常数因子来收缩权重向量。因此L2 正则化也被称作“权重衰减”。

1.1.1 整体影响

  1. 令 $ MathJax-Element-332 $ ,它就是无正则化项时使得目标函数最小的权重向量。

    根据极小值的条件,有 $ MathJax-Element-74 $ 。于是在 $ MathJax-Element-361 $ 的邻域内泰勒展开 $ MathJax-Element-362 $ :

    $ \hat J(\mathbf{\vec w})=J(\mathbf{\vec w}^{*}) +\mathbf{\vec 0} +\frac 12(\mathbf{\vec w}-\mathbf{\vec w}^{*})^{T}\mathbf H(\mathbf{\vec w}-\mathbf{\vec w}^{*}),\quad \mathbf{\vec w} \in \mathbb N(\mathbf{\vec w}^*) $

    其中: $ MathJax-Element-363 $ 为 $ MathJax-Element-78 $ 在 $ MathJax-Element-361 $ 处的海森矩阵; $ MathJax-Element-172 $ 为 $ MathJax-Element-361 $ 处的一个邻域。

    则 $ MathJax-Element-82 $ 的梯度为: $ MathJax-Element-334 $ 。

  2. 令 $ MathJax-Element-142 $ ,它就是有正则化项时使得目标函数最小的权重向量。

    假设 $ MathJax-Element-85 $ , 即 $ MathJax-Element-207 $ 在 $ MathJax-Element-361 $ 的一个邻域内,则有: $ MathJax-Element-88 $ 。

    根据极小值条件: $ MathJax-Element-89 $ ,则有:

    $ \mathbf H(\tilde{\mathbf{\vec w}}^{*}-\mathbf{\vec w}^{*})+\alpha\tilde{\mathbf{\vec w}}^{*}=\mathbf{\vec 0}\; \rightarrow (\mathbf H+\alpha\mathbf I)\tilde{\mathbf{\vec w}}^{*}=\mathbf H \mathbf{\vec w}^{*}\\ \rightarrow \tilde{\mathbf{\vec w}}^{*}=(\mathbf H+\alpha\mathbf I)^{-1}\mathbf H \mathbf{\vec w}^{*} $

    当 $ MathJax-Element-90 $ 时, $ MathJax-Element-91 $ 。

  3. 因为 $ MathJax-Element-363 $ 是实对称矩阵,对其进行特征值分解: $ MathJax-Element-93 $ 。 其中特征值组成对角矩阵 $ MathJax-Element-94 $ ,对应的特征向量组成正交矩阵 $ MathJax-Element-344 $ :

    $ \mathbf \Lambda=\begin{bmatrix}\lambda_1&0&\cdots&0\\0&\lambda_2&\cdots&0\\ \vdots&\vdots&\ddots&\vdots\\ 0&0&\cdots&\lambda_n \end{bmatrix} $

    于是有:

    $ \tilde{\mathbf{\vec w}}^{*}=(\mathbf H+\alpha\mathbf I)^{-1}\mathbf H \mathbf{\vec w}^{*} =(\mathbf Q\mathbf \Lambda\mathbf Q^{T}+\alpha\mathbf I)^{-1}\mathbf Q\mathbf \Lambda\mathbf Q^{T} \mathbf{\vec w}^{*} \\=[\mathbf Q(\mathbf \Lambda+ \alpha\mathbf I)\mathbf Q^{T}]^{-1}\mathbf Q\mathbf \Lambda\mathbf Q^{T} \mathbf{\vec w}^{*} = \mathbf Q(\mathbf \Lambda+ \alpha\mathbf I)^{-1}\mathbf \Lambda\mathbf Q^{T} \mathbf{\vec w}^{*} $

    其中:

    $ (\mathbf \Lambda+ \alpha\mathbf I)^{-1}\mathbf \Lambda=\begin{bmatrix} \frac{\lambda_1}{\lambda_1+\alpha}&0&\cdots&0\\ 0&\frac{\lambda_2}{\lambda_2+\alpha}&\cdots&0\\ \vdots&\vdots&\ddots&\vdots\\ 0&0&\cdots&\frac{\lambda_n}{\lambda_n+\alpha}\end{bmatrix} $
  4. $ MathJax-Element-460 $ 正则化对模型整体的影响:沿着 $ MathJax-Element-363 $ 的特征向量所定义的轴来缩放 $ MathJax-Element-101 $ 。

    • $ MathJax-Element-363 $ 的第 $ MathJax-Element-437 $ 个特征向量对应的 $ MathJax-Element-101 $ 分量根据 $ MathJax-Element-102 $ 因子缩放。
    • 沿着 $ MathJax-Element-363 $ 特征值较大的方向受到正则化的影响较小。
    • 当 $ MathJax-Element-104 $ 的方向对应的权重分量将被缩小到几乎为零。

1.1.2 物理意义

  1. 如下所示:实线椭圆表示 $ MathJax-Element-413 $ 的等值线,虚线圆表示正则化项 $ MathJax-Element-106 $ 的等值线。

    在 $ MathJax-Element-361 $ 点, $ MathJax-Element-413 $ 取得最小值;在 $ MathJax-Element-207 $ 点(也就是图中的 $ MathJax-Element-208 $ 点), $ MathJax-Element-413 $ 和正则化项达到平衡(使得二者之和最小)。

    沿着 $ MathJax-Element-126 $ 方向(横向)的 $ MathJax-Element-413 $ 的曲率半径较大;曲率半径越大,曲率越小,特征值越小。

    • 曲率刻画曲线的弯曲程度。弯曲越厉害,则表示曲率半径越小、曲率越大。

      直线的曲率半径为 $ MathJax-Element-114 $ ,曲率为0。

    • 曲率半径是曲率的倒数。对于椭圆 $ MathJax-Element-115 $ :

      • 在左右顶点:沿着 $ MathJax-Element-129 $ 方向(纵向)的曲率半径为 $ MathJax-Element-117 $ 。
      • 在上下顶点:沿着 $ MathJax-Element-126 $ 方向(横向)的曲率半径为 $ MathJax-Element-119 $ 。
      • 海森矩阵的特征值为: $ MathJax-Element-120 $ 。

  2. 在上图中:

    • $ MathJax-Element-413 $ 的海森矩阵第一维 ( $ MathJax-Element-126 $ )的特征值很小。

      所以当从 $ MathJax-Element-131 $ 点水平移动时, $ MathJax-Element-413 $ 不会增加太多。因为 $ MathJax-Element-413 $ 对这个方向没有强烈的偏好。所以正则化项对于该轴具有强烈的影响:正则化项将 $ MathJax-Element-126 $ 拉向零。

    • $ MathJax-Element-413 $ 的海森矩阵第二维的特征值较大。

      $ MathJax-Element-413 $ 对于 $ MathJax-Element-129 $ 的变化非常敏感,因此正则化项对于该轴影响较小。

    • 因为沿着水平方向,一个较大的偏移只会对 $ MathJax-Element-413 $ 产生一个较小的变化。因此正则化项倾向于从 $ MathJax-Element-131 $ 点水平向零点移动。

  3. $ MathJax-Element-460 $ 正则化表明:

    • 只有显著减小目标函数 $ MathJax-Element-413 $ 的那个方向的参数会相对保留下来。
    • 无助于减小目标函数 $ MathJax-Element-413 $ 的方向(该方向上 $ MathJax-Element-363 $ 特征值较小,或者说该方向上 $ MathJax-Element-413 $ 的曲率较小,或者说该方向上 $ MathJax-Element-413 $ 的曲线更接近于直线),因为在这个方向上移动不会显著改变梯度,因此这个不重要方向上的分量会因为正则化的引入而被衰减掉。

1.1.3 示例

  1. 考虑线性回归的 $ MathJax-Element-460 $ 正则化,采用平方误差作为代价函数:

    $ J=(\mathbf X\mathbf{\vec w}-\mathbf{\vec y})^{T}(\mathbf X\mathbf{\vec w}-\mathbf{\vec y})\\ \tilde J =J +\frac {\alpha}{2}\mathbf{\vec w}^{T}\mathbf{\vec w} =(\mathbf X\mathbf{\vec w}-\mathbf{\vec y})^{T}(\mathbf X\mathbf{\vec w}-\mathbf{\vec y})+\frac {\alpha}{2}\mathbf{\vec w}^{T}\mathbf{\vec w} $

    这里忽略了线性回归的 $ MathJax-Element-139 $ 的影响,这是为了便于说明解的性质。

  2. $ MathJax-Element-332 $ 的解析解为: $ MathJax-Element-141 $ 。

    $ MathJax-Element-142 $ 的解析解为: $ MathJax-Element-143 $ 。

    样本的协方差矩阵为 $ MathJax-Element-144 $ (这里已经将样本进行了标准化:减去了均值), $ MathJax-Element-145 $ 为样本数量。因此 $ MathJax-Element-530 $ 的对角线对应于每个输入特征的方差, $ MathJax-Element-531 $ 在对角线上增加了 $ MathJax-Element-386 $ 。

    因此, $ MathJax-Element-460 $ 正则化使得:

    • 方差较小的特征对应的权重被收缩。
    • 方差远大于 $ MathJax-Element-386 $ 的特征受影响较小。
    • 只有方差接近甚至小于 $ MathJax-Element-386 $ 的特征受影响较大。

1.2 L1 正则化

  1. 模型参数 $ MathJax-Element-526 $ 的 $ MathJax-Element-468 $ 的正则化形式为: $ MathJax-Element-154 $ 。即各个参数的绝对值之和。

  2. $ MathJax-Element-468 $ 正则化后的目标函数 $ MathJax-Element-156 $ : $ MathJax-Element-157 $ 。

    对应的梯度为 $ MathJax-Element-158 $ 。其中 $ MathJax-Element-159 $ 函数取自变量的符号:

    如果自变量大于零,则取值为 1;如果自变量小于零,则取值为 -1;如果自变量为零,则取值为零。

    使用梯度下降法来更新权重,给出权重的更新公式为:

    $ \mathbf{\vec w}\leftarrow \mathbf{\vec w}-\epsilon(\nabla_{\mathbf{\vec w}} J(\mathbf{\vec w};\mathbf X,\mathbf{\vec y})+\alpha \text{sign}(\mathbf{\vec w}))\\ =(\mathbf{\vec w}-\epsilon\alpha \text{sign}(\mathbf{\vec w}))- \epsilon\nabla_{\mathbf{\vec w}} J(\mathbf{\vec w};\mathbf X,\mathbf{\vec y}) $

    $ MathJax-Element-468 $ 正则化对于梯度更新的影响是:不再是线性地缩放每个 $ MathJax-Element-199 $ ( $ MathJax-Element-460 $ 正则化项的效果),而是减去与 $ MathJax-Element-163 $ 同号的常数因子。

1.2.1 整体效果

  1. 令 $ MathJax-Element-332 $ ,它就是无正则化项时使得目标函数最小的权重向量。

    和 $ MathJax-Element-460 $ 正则化中的推导相同,在 $ MathJax-Element-361 $ 的邻域内泰勒展开:

    $ \hat J(\mathbf{\vec w})=J(\mathbf{\vec w}^{*}) +\mathbf{\vec 0} +\frac 12(\mathbf{\vec w}-\mathbf{\vec w}^{*})^{T}\mathbf H(\mathbf{\vec w}-\mathbf{\vec w}^{*}),\quad \mathbf{\vec w} \in \mathbb N(\mathbf{\vec w}^*) $

    其中: $ MathJax-Element-363 $ 为 $ MathJax-Element-413 $ 在 $ MathJax-Element-361 $ 处的海森矩阵; $ MathJax-Element-526 $ 在 $ MathJax-Element-361 $ 的邻域 $ MathJax-Element-172 $ 内。

  1. 由于 $ MathJax-Element-468 $ 正则化项在一般的海森矩阵情况下无法得到直接的代数表达式。

    因此我们进一步假设海森矩阵是对角矩阵。即:

    $ \mathbf H=\begin{bmatrix} H_{1,1}&0&\cdots&0\\ 0&H_{2,2}&\cdots&0\\ \vdots&\vdots&\ddots&\vdots\\ 0&0&\cdots&H_{n,n}\\ \end{bmatrix} $

    其中 $ MathJax-Element-174 $

    如果用于线性回归问题的数据已经被预处理(如使用PCA),去除了输入特征之间的相关性,则这一假设成立。

    于是:

    $ \hat J(\mathbf{\vec w})=J(\mathbf{\vec w}^{*}) +\frac 12(\mathbf{\vec w}-\mathbf{\vec w}^{*})^{T}\mathbf H(\mathbf{\vec w}-\mathbf{\vec w}^{*})\\ =J(\mathbf{\vec w}^{*})+\sum_i\left[\frac 12 H_{i,i}(w_i-w_i^{*})^{2}\right],\quad \mathbf{\vec w} \in \mathbb N(\mathbf{\vec w}^*) $
  2. 考虑定义式,有:

    $ \tilde J(\mathbf{\vec w})= J(\mathbf{\vec w})+\alpha ||\mathbf{\vec w}||_1=\hat J(\mathbf{\vec w})+\alpha ||\mathbf{\vec w}||_1\\ =J(\mathbf{\vec w}^{*})+\sum_i\left[\frac 12 H_{i,i}(w_i-w_i^{*})^{2}+\alpha|w_i|\right],\quad \mathbf{\vec w} \in \mathbb N(\mathbf{\vec w}^*) $

    对于 $ MathJax-Element-526 $ 来讲 , $ MathJax-Element-176 $ 为常量。因此 $ MathJax-Element-177 $ 的最小值由 $ MathJax-Element-178 $ 决定。

    考虑每一个维度 $ MathJax-Element-437 $ ,可以考虑最优化目标:

    $ \tilde w_i^{*}= \arg\min_{w_i}\left[\frac 12 H_{i,i}(w_i-w_i^{*})^{2}+\alpha|w_i|\right] $

    得到解析解: $ MathJax-Element-180 $ 。

  3. 考虑 $ MathJax-Element-181 $ 的情况。此时有两种可能:

    • $ MathJax-Element-182 $ :则 $ MathJax-Element-193 $ 。表示 $ MathJax-Element-468 $ 正则化项将 $ MathJax-Element-199 $ 推向 0 。
    • $ MathJax-Element-186 $ :则 $ MathJax-Element-187 $ 。此时 $ MathJax-Element-468 $ 正则化项并不会将 $ MathJax-Element-199 $ 推向 0,而是向零的方向推动了 $ MathJax-Element-200 $ 的距离。
  4. 考虑 $ MathJax-Element-191 $ 的情况。此时有两种可能:

    • $ MathJax-Element-192 $ :则 $ MathJax-Element-193 $ 。表示 $ MathJax-Element-468 $ 正则化项将 $ MathJax-Element-199 $ 推向 0 。
    • $ MathJax-Element-196 $ :则 $ MathJax-Element-197 $ 。此时 $ MathJax-Element-468 $ 正则化项并不会将 $ MathJax-Element-199 $ 推向 0,而是向零的方向推动了 $ MathJax-Element-200 $ 的距离。

    如果使用 $ MathJax-Element-460 $ 正则化,则解为 $ MathJax-Element-202 $ 。

1.2.2 物理意义

  1. 如下所示:实线椭圆表示 $ MathJax-Element-413 $ 的等值线,实线菱形表示正则化项 $ MathJax-Element-204 $ 的等值线。

    在 $ MathJax-Element-361 $ 点, $ MathJax-Element-413 $ 取得最小值;在 $ MathJax-Element-207 $ 点(也就是图中的 $ MathJax-Element-208 $ 点), $ MathJax-Element-413 $ 和正则化项达到平衡(使得二者之和最小)。

    可以看到 $ MathJax-Element-413 $ 的等值线更容易与 $ MathJax-Element-468 $ 正则化项的等值线在坐标轴相交从而取得整体极小值。

  1. $ MathJax-Element-468 $ 正则化项更容易产生稀疏(sparse)解,而 $ MathJax-Element-460 $ 正则化并不会导致稀疏解。

    • 在 $ MathJax-Element-468 $ 正则化中, $ MathJax-Element-215 $ 的绝对值越小,该维的特征越容易被稀疏化。
    • $ MathJax-Element-468 $ 正则化的这一性质已经被广泛地用作特征选择: $ MathJax-Element-468 $ 正则化使得部分特征子集的权重为零,表明相应的特征可以被安全地忽略。

1.3 L1/L2正则化与最大后验估计

  1. 许多正则化策略可以被解释为最大后验估计MAP

    $ \vec\theta_{MAP} =\arg\max_{\vec\theta}p(\vec\theta\mid \mathbf{\vec x})=\arg\max_{\vec\theta}p(\mathbf{\vec x} \mid \vec\theta )+\log p(\vec\theta) $

    最大化后验估计等价于最小化代价函数。

    • $ MathJax-Element-460 $ 正则化项:参数的先验分布为高斯分布:

      $ \log p(\mathbf{\vec w})=\log \mathcal N(\mathbf{\vec w};0,\frac 1\alpha \mathbf I) =-\frac {\alpha}{2}\mathbf{\vec w}^{T}\mathbf{\vec w}+\frac n2 \log\frac{\alpha}{2\pi} $

      忽略 $ MathJax-Element-219 $ 项,因为它们与 $ MathJax-Element-526 $ 无关。

    • $ MathJax-Element-468 $ 正则化项:参数的先验分布为各向同性拉普拉斯分布 :

      $ \log p(\mathbf{\vec w})=\sum_{i}\log \text{Laplace}(w_i;0,\frac 1\alpha) =-\alpha||\mathbf{\vec w}||_1+n\log\frac{\alpha}{2} $

      忽略 $ MathJax-Element-222 $ 项,因为它们与 $ MathJax-Element-526 $ 无关。

  2. 更复杂的正则化项可以通过先验分布为混合高斯分布得到。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文