返回介绍

数学基础

统计学习

深度学习

工具

Scala

七、数据预处理

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

  1. 常见数据预处理方式:(红色的线指出各维度的数值范围)

    data_process1

    • 均值减法:对数据中每个独立特征减去均值,集合上理解为:在每个维度上,都将数据云的中心迁移到原点

    • 归一化:将所有维度都做归一化:

      • 第一种做法:先对数据做零中心化处理,然后每个维度都除以标准差
      • 第二种做法:每个维度都做归一化,使得每个维度最大和最小值都是 1 和 -1
    • PCA 降维:取得数据的主成分,可以对数据去除相关性

    • 白化whitening:先对数据进行旋转(旋转的矩阵就是 SVD 分解中的 U矩阵),然后对每个维度除以特征值(为防止分母为0,通常加一个很小的值作为平滑系数)来对数值范围进行归一化

      • 如果数据服从多变量的高斯分布,则白化之后,数据的分布是一个均值为零,且协方差相等的矩阵
      • 该变换的缺点是:可能会放大数据中的噪声。因为它将所有维度都拉伸到相同的维度,这包括了那些大多数是噪声的维度。这个问题可以采用更强的平滑系数来解决

      data_process2

    • 实际在神经网络中,并不会采用 PCA 和白化。

  2. 任何预处理策略都只能在训练集的数据上进行,然后再应用到验证集或测试集上。

    • 如数据均值:首先分成训练集、验证集、测试集,从训练集中求数据的均值。然后训练集、验证集、测试集中的数据减去这个均值。 而不是减去测试集均值或者验证集均值
  3. 激活函数:当前推荐使用 ReLU 激活函数

  4. Batch Normalization:让数据在通过激活函数之前,添加一个 batch normalization

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

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

发布评论

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