归一化和标准化

来源:互联网 发布:ds数据精灵破解版 编辑:程序博客网 时间:2024/04/30 21:28

主要是读了这篇文章才深入理解这两个的区别

http://www.zhaokv.com/2016/01/normalization-and-standardization.html

  1. 归一化
    对原始数据进行线性转换到 [0,1] 区间,如下:

    最小值和最大值特别容易受异常值影响,因此鲁棒性不好,比较适合传统的小数据场景

  2. 标准化
    最常用的方法是Z-score标准化,即将数据转化成均值为0,标准差为1,处理方法如下:

    其中 是样本的均值, 是样本的标准差,适合已有的样本量足够大的时候使用。

  3. 理论解释
    归一化的依据非常简单,归一化可以消除量纲对结果的影响,使不同变量有可比性。

    标准化的依据相对复杂,它表示原始值和均值之间差几个标准差,是一个相对值,有去除量纲的效果,还带来了两个附加好处:均值为0,方差为1.

    均值为0可以带来很多遍历,比如在去中心化的数据上做SVD分解等价于在原始数据上做PCA;机器学习中很多函数如Sigmoid、Tanh、Softmax等都以0为中心左右分布(不一定对称),这点后续需要再详细琢磨

    标准差为1带来的好处:对于 两点间的距离为:

    其中 是属性 j 两个点之间的距离, 是该属性间距离在总距离中的权重,注意:就算 也不能实现每个属性对最后的结果贡献度相同,对于给定的数据集,所有点对间距离的平均值是个定值,

    其中,

    可见第j个变量对最终整体平均距离的影响是 ,所以是 可以使所有属性对全体数据集平均距离的贡献相同,再进一步假设 为欧式距离(即二次范数)的平方,则

    其中 的样本估计,也就是说每个变量对距离的贡献度正比于这个变量在数据集上的方差。如果我令标准差为1,每个维度在计算距离是的重要程度相同。

    如果想让每个维度在计算距离时发挥相同的作用,应该选择标准化,如果想保留原始数据中由标准差所反映的潜在权重关系,应该选择归一化;标准化更适合噪音大数据。

0 0
原创粉丝点击