数据的规范化包括归一化、标准化、正则化,是一个统称(也有人把标准化作为统称)。
目的:
消除特征间单位和尺度差异的影响
加速模型收敛速度
需要做归一化的情况
- 涉及或隐含距离计算的算法,比如K-means、KNN、PCA、SVM等
- 损失函数中有正则项,比如正则,目的也是为了消除不同特征的差异
- 梯度下降优化算法。
模型收敛的速度取决于参数的初始位置到local minima的距离,以及学习率的大小。收敛意味着在每个参数维度上都取得极小值,每个参数维度上的偏导数都为0,但是每个参数维度上的下降速度是不同的,为了每个维度上都能收敛,学习率应取所有维度在当前位置合适步长中最小的那个(学习率是多维度共享的)。
不需要做归一化的情况
- 与距离计算无关的概率模型,不需要 feature scaling,比如 Naive Bayes;
- 与距离计算无关的基于树的模型,不需要 feature scaling,比如决策树、随机森林等,树中节点的选择只关注当前特征在哪里切分对分类更好,即只在意特征内部的相对大小,而与特征间的相对大小无关。
数据规范化是数据挖掘中的数据变换的一种方式,数据变换将数据变换或统一成适合于数据挖掘的形式,将被挖掘对象的属性数据按比例缩放,使其落入一个小的特定区间内,如[-1, 1]或[0, 1]
对属性值进行规范化常用于涉及神经网络和距离度量的分类算法和聚类算法当中。
比如使用神经网络后向传播算法进行分类挖掘时,对训练元组中度量每个属性的输入值进行规范化有利于加快学习阶段的速度。
对于基于距离度量相异度的方法,数据归一化能够让所有的属性具有相同的权值。
数据规范化的常用方法有三种:最小最大值规范化,z-score标准化和按小数定标规范化
归一化(Normalization)
1.把数据变为(0,1)之间的小数。主要是为了方便数据处理,因为将数据映射到0~1范围之内,可以使处理过程更加便捷、快速。
2.把有量纲表达式变换为无量纲表达式,成为纯量。经过归一化处理的数据,处于同一数量级,可以消除指标之间的量纲和量纲单位的影响,提高不同数据指标之间的可比性。
主要算法:
1.线性转换,min-max归一化(常用): y=(x-min)/(max-min)
2. 对数函数转换: y=log10(x)
3.反余切函数转换: y=atan(x) * 2 / pi
标准化(Standardization)
数据的标准化是将数据按比例缩放使之落入一个小的特定区间。
主要方法:
1.z-score标准化,即零-均值标准化(常用):y=(x - μ) / σ
一种统计的处理,基于正态分布假设,将数据变换为均值为0、标准差为1的标准正态分布。
数据不服从正态分布也可用此法。特别适用于数据的最大值和最小值未知,或存在孤立点。
2.小数定标标准化:y = x / 10^j (j确保max(|y|)<1) ,通过移动x的小数位置进行标准化
3.对数Logistic模式:y = 1 / (1 + e^(-x))
1、在分类、聚类算法中,需要使用距离来度量相似性的时候、或者使用PCA技术进行降维的时候,标准化(Z-score standardization)表现更好。
2、在不涉及距离度量、协方差计算、数据不符合正太分布的时候,可以使用归一化方法。比如图像处理中,将RGB图像转换为灰度图像后将其值限定在[0 255]的范围。
正则化(Regularization)
用一组与原不适定问题相“邻近”的适定问题的解,逼近原问题的解,称为正则化方法。
如何建立有效的正则化方法是反问题领域中不适定问题研究的重要内容。
通常的正则化方法基于变分原理的Tikhonov 正则化、各种迭代方法以及其它的改进方法。
为了解决过拟合问题,通常有两种方法,第一是减小样本的特征(即维度),第二是正则化
正则化的一般形式是在整个平均损失函数的最后增加正则项(如:L2范数正则化)
正则项越大表明惩罚力度越大,等于0表示不做惩罚。
正则项越小,惩罚力度越小,极端为正则项为0,则会造成过拟合问题;
正则化越大,惩罚力度越大,则容易出现欠拟合问题。
归一化是为了消除不同数据之间的量纲,方便数据比较和共同处理,归一化后数据严格限定在[0, 1] 之间,缩放比例α = Vmax - Vmin不变,比如在神经网络中,归一化会加快训练网络的收敛性;
标准化是为了方便数据的下一步处理,而进行的数据缩放变换,并不是为了方便与其他数据一同处理或比较,标准化后数据范围不确定,只是均值为0,标准差为1,比如数据经过零-均值标准化后,更利于使用标准正态分布的性质进行处理;
正则化而是利用先验知识,在处理过程中引入正则化因子(regulator),增加引导约束的作用,比如在逻辑回归中使用正则化,可有效降低过拟合的现象。
参考:
归一化、标准化和正则化的关系_拙翔峰的博客-CSDN博客_正则化和归一化的区别