数据的标准化

时间:2021-02-16 06:48:49

在机器学习中领域中的数据分析之前,通常需要将数据标准化,利用标准化后得数据进行数据分析。数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间。在某些比较和评价的指标处理中经常会用到,去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较和加权。


标准化的定义:

标准化用一句话说就是:把数据经过处理后使之限定在一定的范围内。
那么我们为什么要对数据进行标准化呢?
我们假设现在有两个变量,都是均匀分布,X1范围是100000到200000,X2的范围是1到2。
很显然,这些落点会基本处于一条直线上,我们称这条直线为L。
数据的标准化
也就是说,如果现在我们要做一个classification的话,X2几乎可以被忽略。X2很无辜的被干掉了,仅仅因为所谓量纲的问题。

即便X2不被干掉,我们现在继续求解,来做 gradient descent。 很显然,如果某一步我们求得的下降方向不在直线L上,几乎可以肯定肯定这步不会下降。这就会导致不收敛,或者收敛很慢。
例子来自知乎:https://www.zhihu.com/question/20455227/answer/25238709

标准化的一般方法:

1、min-max标准化(Min-Max Normalization)

也称为离差标准化,是对原始数据的线性变换,使结果值映射到[0 - 1]之间。转换函数如下:
数据的标准化

其中max为样本数据的最大值,min为样本数据的最小值。

2、Z-score标准化方法

这种方法给予原始数据的均值(mean)和标准差(standard deviation)进行数据的标准化。经过处理的数据符合标准正态分布,即均值为0,标准差为1,转化函数为:

数据的标准化

其中μ为所有样本数据的均值,σ为所有样本数据的标准差。

参考自:http://webdataanalysis.net/data-analysis-method/data-normalization/