特征工程_归一化
Last updated
Last updated
[TOC]
为什么需要对数值型特征做归一化呢?
我们不妨借助随机梯度下降的实例来说明归一化的重要性。假设有两种数值型特征,的取值范围为,的取值范围为,于是可以构造一个目标函数符合图1.1(a)中的等值图。
在学习速率相同的情况下,的更新速度会大于,需要较多的迭代才能找到最优解。
如果将和归一化到相同的数值区间后,优化目标的等值图会变成图1.1(b)中的圆形,和的更新速度变得更为一致,容易更快地通过梯度下降找到最优解。 当然,数据归一化并不是万能的。在实际应用中,
通过梯度下降法求解的模型通常是需要归一化的
,包括线性回归、逻辑回归、支持向 量机、神经网络等模型。但对于决策树模型则并不适用,以C4.5为例, 决策树在进行节点分裂时主要依据数据集关于特征的信息增益比,而信息增益比跟特征是否经过归一化是无关的, 因为归一化并不会改变样本在特征上的信息增益。
线性函数归一化
(Min-Max Scaling): 它对原始数据进行线性变换,使结果映射到]的范围,实现对原始数据的等比缩放。其中为原始数据,、分别为数据最大值和最小值。
零均值归一化
(Z-Score Normalization): 将原始数据映射到均值为0、标准差为1的分布上。具体来说,假设原始特征的均值为、标准差为,那么归一化公式定义为