综述
特征处理中,归一化和标准化是不变的话题。最近看了不少归一化和标准化相关的文献,发现还是有点坑的。但是我不管也不打算讲清楚这俩的区别,当工业界模型要求不高,数据量又大的时候,冲上去一通操作就行了。不过我们还是要掌握最基础的知识:
概念
归一化:归一化方法有两种形式,一种是把数变为(0,1)之间的小数,一种是把有量纲表达式变为无量纲表达式。主要是为了数据处理方便提出来的,把数据映射到0~1范围之内处理,更加便捷快速。
标准化:在机器学习中,我们处理的数据可能是高维度的,再这样的前提下,我们会考虑标准化方法,使之变成每个特征数值平均为0,标准差为1的状态。这个方法被广泛的使用在许多机器学习算法中(ex:SVM,LR和类神经网络)。
区别:归一化的核心是统一量纲,构建了原数据到[0,1](或[-1,1])区间内的一个映射。而标准化则是通过特征矩阵的列处理数据,通过z-score将样本整体转换。有一说标准化是将数据转换为标正态分布,但我认为标准化数据不会改变数据的分布,如果原来的数据不是正态分布,标准化后是得不到标准正态分布的。
两者相同点是都能消除量纲产生的误差,都是线性变换。只是线性变换的具体形式不一样。
公式
现有的资料一般会列出如下四条公式:
Rescaling (min-max normalization)
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 normalizatio