中心化(Zero-centered或者Mean-subtraction)
即
x
′
=
x
−
μ
x^{'}=x-μ
x′=x−μ
得到均值为0的数据,是标准化处理的步骤之一
作用:
- 对PCA中的协方差矩阵来说,中心化可以让协方差矩阵的计算量更小,对结果没有影响。
- 让模型不用考虑bias,而只用关注weights。
- 增加基向量的正交性
标准化(Standardization)
即
x
′
=
x
−
μ
σ
x^{\prime}= \frac{x- \mu}{\sigma}
x′=σx−μ
得到均值为0,标准差为1的数据,转化是线性,如果X原来就是正态分布N(u, v),则Z满足正态分布N(0, 1)。如果X本来不是正态分布,则Z不会满足正态分布
作用:
-
数据标准化(归一化)处理是数据挖掘的一项基础工作,不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据标准化处理,以解决数据指标之间的可比性。原始数据经过数据标准化处理后,各指标处于同一数量级,适合进行综合对比评价。
-
加快了梯度下降求最优解的速度,加速权重参数的收敛
如下图,x1的取值为0-2000,而x2的取值为1-5,假如只有这两个特征,对其进行优化时,会得到一个窄长的椭圆形,导致在梯度下降时,梯度的方向为垂直等高线的方向而走之字形路线,这样会使迭代很慢,相比之下,右图的迭代就会很快(理解:也就是步长走多走少方向总是对的,不会走偏)
-
有可能提高精度,一些分类器(KNN,SVM,deep learning)需要计算样本之间的距离(如欧氏距离),例如KNN。如果一个特征值域范围非常大,那么距离计算就主要取决于这个特征,从而与实际情况相悖(比如这时实际情况是值域范围小的特征更重要)。
归一化(Normalization)
即
x
∗
=
x
−
min
max
−
min
x^{*}= \frac{x- \min}{\max - \min}
x∗=max−minx−min
把数变为(0,1)之间的小数
标准化与归一化
同:
Standardization和 Normalization本质上都是对数据的线性变换
异:
- Normalization 会严格的限定变换后数据的范围,比如按之前最大最小值处理的Normalization,它的范围严格在 [0,1]之间;
而 Standardization就没有严格的区间,变换后的数据没有范围,只是其均值是0,标准差为 1。 - 归一化( Normalization)对数据的缩放比例仅仅和极值有关,就是说比如100个数,你除去极大值和极小值其他数据都更换掉,缩放比例是不变的;反观,对于标准化( Standardization)而言,如果除去极大值和极小值其他数据都更换掉,那么均值和标准差大概率会改变,这时候,缩放比例自然也改变了。
使用前提:
- 当原始数据不同维度特征的尺度(量纲)不一致时,需要标准化步骤对数据进行标准化或归一化处理,反之则不需要进行数据标准化。
- 也不是所有的模型都需要做归一的,比如模型算法里面有没关于对距离的衡量,没有关于对变量间标准差的衡量。比如决策树,他采用算法里面没有涉及到任何和距离等有关的,所以在做决策树模型时,通常是不需要将变量做标准化的;另外,概率模型不需要归一化,因为它们不关心变量的值,而是关心变量的分布和变量之间的条件概率。
用法
- 如果对处理后的数据范围有严格要求,那肯定是归一化,
- 在不涉及距离度量、协方差计算的时候,可以使用归一化方法。
- 标准化是ML中更通用的手段,如果你无从下手,可以直接使用标准化;
- 如果数据不为稳定,存在极端的最大最小值,不要用归一化。
- 在分类、聚类算法中,需要使用距离来度量相似性的时候、或者使用PCA技术进行降维的时候,标准化表现更好;
小注
"标准化"和"归一化"这两个中文词要指代四种Feature scaling(特征缩放)方法
Rescaling
x
′
=
x
−
min
(
x
)
max
(
x
)
−
min
(
x
)
x^{\prime}= \frac{x- \min(x)}{\max(x)- \min(x)}
x′=max(x)−min(x)x−min(x)
Mean normalization
x
′
=
x
−
m
e
a
n
(
x
)
max
(
x
)
−
min
(
x
)
x^{\prime}= \frac{x-mean(x)}{\max(x)- \min(x)}
x′=max(x)−min(x)x−mean(x)
Standardization
x
′
=
x
−
x
‾
σ
x^{\prime}= \frac{x- \overline{x}}{\sigma}
x′=σx−x
Scaling to unit length
x
′
=
x
∣
∣
x
∣
∣
x^{\prime}= \frac{x}{||x||}
x′=∣∣x∣∣x
ps:个人不觉得只有归一化让椭圆变成了圆。。。
这里是引用
https://blog.csdn.net/weixin_36604953/article/details/102652160
https://www.zhihu.com/question/20467170