• 为了保证你在浏览本网站时有着更好的体验,建议使用类似Chrome、Firefox之类的浏览器~~
    • 如果你喜欢本站的内容何不Ctrl+D收藏一下呢,与大家一起分享各种编程知识~
    • 本网站研究机器学习、计算机视觉、模式识别~当然不局限于此,生命在于折腾,何不年轻时多折腾一下

数据中心化处理

ml admin 2年前 (2017-01-11) 888次浏览 0个评论 扫描二维码
作者:Spark
链接:https://www.zhihu.com/question/37069477/answer/132387124
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

在回归问题和一些机器学习算法中,以及训练神经网络的过程中,通常需要对原始数据进行中心化(Zero-centered 或者 Mean-subtraction)处理和标准化(Standardization 或 Normalization)处理。

  • 目的:通过中心化和标准化处理,得到均值为 0,标准差为 1的服从标准正态分布的数据。
  • 计算过程由下式表示:x^{'}=\frac{x-\mu }{\sigma }
  • 下面解释一下为什么需要使用这些数据预处理步骤。

在一些实际问题中,我们得到的样本数据都是多个维度的,即一个样本是用多个特征来表征的。比如在预测房价的问题中,影响房价y的因素有房子面积x_{1}、卧室数量x_{2}等,我们得到的样本数据就是(x_{1},x_{2})这样一些样本点,这里的x_{1}x_{2}又被称为特征。很显然,这些特征的量纲和数值得量级都是不一样的,在预测房价时,如果直接使用原始的数据值,那么他们对房价的影响程度将是不一样的,而通过标准化处理,可以使得不同的特征具有相同的尺度(Scale)。这样,在使用梯度下降法学习参数的时候,不同特征对参数的影响程度就一样了。

  • 简言之,当原始数据不同维度上的特征的尺度(单位)不一致时,需要标准化步骤对数据进行预处理。
  • 下图中以二维数据为例:左图表示的是原始数据;中间的是中心化后的数据,数据被移动大原点周围;右图将中心化后的数据除以标准差,得到为标准化的数据,可以看出每个维度上的尺度是一致的(红色线段的长度表示尺度)。

v2-d232db445418e9edf404767ef441789f_b

其实,在不同的问题中,中心化和标准化有着不同的意义,

  • 比如在训练神经网络的过程中,通过将数据标准化,能够加速权重参数的收敛。
  • 另外,对于主成分分析(PCA)问题,也需要对数据进行中心化和标准化等预处理步骤。

Deeplearn, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明数据中心化处理
喜欢 (0)
admin
关于作者:

您必须 登录 才能发表评论!