标准化、归一化

一、标准化与归一化

数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间。
在某些比较和评价的指标处理中经常会用到,去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较和加权。
其中最典型的就是数据的归一化处理,即将数据统一映射到[0,1]区间上。

二、标准化方法及适用场景

最常见的有这两种:

1. Min-max 标准化

比如把最大值归一化成1,最小值归一化成-1;或把最大值归一化成1,最小值归一化成0。
适用于本来就分布在有限范围内的数据。

x = x m i n m a x m i n

2. Z-score 标准化

一般是把均值归一化成0,方差归一化成1。
适用于分布没有明显边界的情况,受outlier影响也较小。

x = x μ σ

1、在分类、聚类算法中,需要使用距离来度量相似性的时候、或者使用PCA技术进行降维的时候,第二种方法(Z-score standardization)表现更好。
2、在不涉及距离度量、协方差计算、数据不符合正太分布的时候,可以使用第一种方法或其他归一化方法。比如图像处理中,将RGB图像转换为灰度图像后将其值限定在[0 255]的范围。

3. 其他

参考文献
http://xiaoxiaoyue.me/2018/03/23/%E3%80%90%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98%E3%80%91%E6%A0%87%E5%87%86%E5%8C%96%E6%88%96%E5%BD%92%E4%B8%80%E5%8C%96/
这里写图片描述

4. logistic函数和softmax函数

二分类和多分类的概率输出值。同样是映射到(0,1)可以看作归一化

三、为什么一些机器学习模型需要对数据进行归一化?

参考文献:http://www.cnblogs.com/LBSer/p/4440590.html

1归一化后加快了梯度下降求最优解的速度

如下图所示,蓝色的圈圈图代表的是两个特征的等高线。其中左图两个特征X1和X2的区间相差非常大,X1区间是[0,2000],X2区间是[1,5],其所形成的等高线非常尖。当使用梯度下降法寻求最优解时,很有可能走“之字型”路线(垂直等高线走),从而导致需要迭代很多次才能收敛;

而右图对两个原始特征进行了归一化,其对应的等高线显得很圆,在梯度下降进行求解时能较快的收敛。

因此如果机器学习模型使用梯度下降法求最优解时,归一化往往非常有必要,否则很难收敛甚至不能收敛。

这里写图片描述

2 归一化有可能提高精度

一些分类器需要计算样本之间的距离(如欧氏距离),例如KNN。如果一个特征值域范围非常大,那么距离计算就主要取决于这个特征,从而与实际情况相悖(比如这时实际情况是值域范围小的特征更重要)。

四、哪些机器学习模型需要归一化

概率模型不需要归一化,因为它们不关心变量的值,而是关心变量的分布和变量之间的条件概率。像svm、线性回归之类的最优化问题就需要归一化。树模型属于概率模型。

猜你喜欢

转载自blog.csdn.net/csdn_lzw/article/details/80158033