【墙裂推荐】摆脱数据标准化的困扰,做高质量的机器学习与数据挖掘

      机器学习初学者常常会将拿来的数据,直接喂入算法训练,不得不说,再进一步深入研究中,数据标准化是他们不得不搞清楚的难题。什么是数据标准化,标准化的作用是啥,什么情况下应该对应什么方法尼?

      一、关于什么标准化,这里就不阐述了,帖子太多了。我需要说明的是,数据标准化和归一化其实是一回事,只是归一化常为将数据转换到(0-1)之间,标准化则不一定。

      二、数据标准化:四作用一缺点(注意:不同方法,实现的作用不尽相同哦,后面有整理

      1、消除量纲;2、让不同指标具有可比性;3、提高迭代求解精度

     一个图诠释这三个作用:

     千克与米的量纲统一,使得体重与身高对目标变量的权重趋同。

     若算法涉及距离计算时(如欧氏距离),图中x2的取值范围比较小,涉及到距离计算时其对结果的影响远比x1带来的小,所以这就会造成精度的损失。所以标准化可以让各个特征对结果做出的贡献相同。


      4、数据标准化还有一个容易被忽略的好处是:提升模型的收敛速度

      导致在梯度下降时,梯度的方向为垂直等高线的方向而走之字形路线,这样会使迭代很慢,相比之下,右图的迭代就会很快(理解:也就是步长走多走少方向总是对的,不会走偏)


扫描二维码关注公众号,回复: 1786797 查看本文章

      5、缺点:当数据已某种方式被压缩时,可能导致部分数据信息的损失

      三、什么情况下需要标准化

      这才是重点,但如果你顾全了标准化的优缺点,这一点自然应用自如。这里我说下自己的见解

      1、基于树模型的算法,如果没有强制要求,不需要做标准化(信息损失)

      2、基于平方损失的最小二乘法OLS不需要标准化。

      3、聚类、分类、回归等,涉及到距离计算的模型需要标准化。

      四、标准化方法及适用情况:

        1、 min-max标准化——可提升模型的收敛速度;但无消除量纲的效果;缺陷是当有新数据时,max、min可能变化,

        在不涉及距离度量、协方差计算、数据不符合正态分布的时候适用,如RGB图像转换为灰度图像后,将值限定在[0-255]。

        2、 z-score 标准化——实现标准化所有效果;但要求原始数据近似为高斯分布,否则归一化的效果会变得很糟糕。

         在分类、聚类算法中,需要使用距离来度量相似性的时候、或者使用PCA技术进行降维的时候,Z-score standardization表现更好。

        五、说明

        如果你需要z-score转换,但原始数据不满足正态分布,需要先做正态分布转换,传统方法有九种,需要尝试一种适用数据满足正态分布的方式出来,再z-score标准化。

         
         



猜你喜欢

转载自blog.csdn.net/Li_yi_chao/article/details/80756414