引言
在学习机器学习的时候常听到特征缩放这个词,这其实是机器学习对数据进行预处理的方法,下面我们将会详细的介绍特征缩放,本文包括以下几部分:
1):什么是特征缩放?
2):为什么需要特征缩放?
3):有哪些特征缩放的方法,有什么性质和用途?
4):标准化和归一化有什么区别?
如果你对以上问题不是很清楚,下面的内容是对你有帮助的。
什么是特征缩放?
特征缩放是用来标准化自变量或者数据特征范围的一种方法,通常在数据预处理阶段执行。
为什么需要特征缩放?
由于原始数据的值的范围相差特别大,为了使得机器学习算法能够更好的工作,所以会对原始数据进行标准化处理。
1. 统一特征的权重 & 提高模型的准确性
如果某个特征的取值范围比其他特征要大的多,那么数值计算(比如计算欧式距离)就会受该特征的支配,但实际上这个特征并不一定是最重要的。一般的,在计算过程中我们把每个特征看作同等重要。归一化或者标准化数据就可以使不同维度的特征放到一起进行比较,从而大大提高模型的准确性。
2. 提升梯度下降法的收敛速度
在使用梯度下降法求解最优解时,归一化/标准化数据可以加快梯度下降的求解速度。
特征缩放的方法?
1. Rescaling (min-max normalization)
将数值范围缩放到[0,1]区间内
2. Mean normalization
将数值范围缩放的[-1,1]区间内,其数据的均值为0
3. Standardization (Z-score Normalization)
将数值缩放到0附近,且数值的分布变成均值为0,标准差为1的正态分布(先减去均值对特征进行中心化处理,再除以标准差进行缩放)。
4. Scaling to unit length
机器学习中常用的对特征向量进行缩放的方法,使得整个向量的长度为1,通常是用向量除以其欧几里得距离。
归一化和标准化的区别:
归一化:将样本特征值转换到同一量纲下,把数据映射到[0,1]或者[-1,1]区间。
标准化:将样本的特征值转换为标准值,每个样本点都会对标准化产生影响。