返回介绍

数学基础

统计学习

深度学习

工具

Scala

三、数据标准化、正则化

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

3.1. 数据标准化

  1. 数据标准化是将样本的属性取值缩放到某个指定的范围。

  2. 数据标准化的两个原因:

    • 某些算法要求样本数据的属性取值具有零均值和单位方差。

    • 样本不同属性具有不同量级时,消除数量级的影响。如下图所示为两个属性的目标函数的等高线。

      • 数量级的差异将导致量级较大的属性占据主导地位。

        从图中看到:如果样本的某个属性的量级特别巨大,将原本为椭圆的等高线压缩成直线,从而使得目标函数值仅依赖于该属性。

      • 数量级的差异将导致迭代收敛速度减慢。

        原始的特征进行梯度下降时,每一步梯度的方向会偏离最小值(等高线中心点)的方向,迭代次数较多,且学习率必须非常小,否则非常容易引起宽幅震荡。

      标准化后进行梯度下降时,每一步梯度的方向都几乎指向最小值(等高线中心点)的方向,迭代次数较少。

      • 所有依赖于样本距离的算法对于数据的数量级都非常敏感。

        如 $ MathJax-Element-430 $ 近邻算法需要计算距离当前样本最近的 $ MathJax-Element-430 $ 个样本。当属性的量级不同时,选取的最近的 $ MathJax-Element-430 $ 个样本也会不同。

      standardization

  3. 设数据集 $ MathJax-Element-177 $ 。常用的标准化算法有:

    • min-max标准化:对于属性 $ MathJax-Element-355 $ ,设所有样本在属性 $ MathJax-Element-355 $ 上的最大值为 $ MathJax-Element-180 $ ,最小值为 $ MathJax-Element-181 $ 。则标准化后的属性值为:

      $ \hat x_{i,j}=\frac{ x_{i,j}- j_{\min}}{j_{\max}-j_{\min}} $

      标准化之后,所有样本在属性 $ MathJax-Element-355 $ 上的取值都在 [0,1] 之间。

    • z-score标准化:对于属性 $ MathJax-Element-355 $ ,设所有样本在属性 $ MathJax-Element-355 $ 上的均值为 $ MathJax-Element-185 $ ,方差为 $ MathJax-Element-186 $ 。则标准化后的属性值为:

      $ \hat x_{i,j}=\frac{ x_{i,j}-\mu_j}{\sigma_j} $

      标准化之后,样本集的所有属性的均值都为 0,标准差均为 1。

  4. 注意:如果数据集分为训练集、验证集和测试集,则:训练集、验证集、测试集使用相同标准化参数,该参数的值都是从训练集中得到。

    • 如果使用min-max 标准化,则属性 $ MathJax-Element-355 $ 的标准化参数 $ MathJax-Element-188 $ 都是从训练集中计算得到。
    • 如果使用z-score 标准化,则属性 $ MathJax-Element-355 $ 的标准化参数 $ MathJax-Element-190 $ 都是从训练集中计算得到。

3.2. 数据正则化

  1. 数据正则化是将样本的某个范数(如 $ MathJax-Element-309 $ 范数)缩放到单位1。

    设数据集 $ MathJax-Element-192 $ 。 则样本 $ MathJax-Element-359 $ 正则化后的结果为:

    $ \hat{\mathbf{\vec x}}_i=\left(\frac{x_{i,1}}{L_p(\mathbf{\vec x}_i)},\frac{x_{i,2}}{L_p(\mathbf{\vec x}_i)},\cdots,\frac{x_{i,n}}{L_p(\mathbf{\vec x}_i)}\right)^{T} $

    其中 $ MathJax-Element-194 $ 为范数: $ MathJax-Element-195 $ 。

  2. 正则化的过程是针对单个样本的,对每个样本将它缩放到单位范数。

    标准化是针对单个属性的,需要用到所有样本在该属性上的值。

  3. 通常如果使用二次型(如点积)或者其他核方法计算两个样本之间的相似性时,该方法会很有用。

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

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

发布评论

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