为什么需要对数值类型的特征做归一化?

2023-12-28 22:29:11

对数值类型的特征做归一化可以将所有的特征都统一到一个大致相同的数值区间内。最常用的方法有以下两种:

(1)线性函数归一化(Min-Max Scaling)

它对原始数据进行线性变换,使结果映射到【0,1】的范围,实现对数据的等比放缩。归一化公式如下

X_{norm}=\frac{X-X_{min}}{X_{max}-X_{min}}

其中X为原始数据,X_{max}X_{min}分别为数据最大值和最小值。

(2)零均值归一化(Z-Score Normalization)

?它会将原始数据映射到均值为0,标准差为1的分布上。具体来说,假设原始特征的均值为\mu、标准差为\sigma,那么归一化公式定义为

z=\frac{x-\mu}{\sigma}

为什么需要对数值型特征做归一化呢?我们不妨借助随机梯度下降的实例来说明归一化的重要性。假设有两种数值型特征,x_1的取值范围为【0,10】,x_2的取值范围为【0,3】,于是可以构造一个目标函数符合图1.1(a)中的等值图。

在学习速率相同的情况下,x_1的更新速度会大于x_2,需要较多的迭代才能找到最优解。如果将x_1x_2归一化到相同的数值区间后,优化目标的等值图会变成图1.1(b)中的圆形。?x_1x_2的更新速度变得更为一致,容易更快地通过梯度下降找到最优解

当然,数据归一化并不是万能的。在实际应用中,通过梯度下降法求解的模型通常是需要归一化的,包括线性回归、逻辑回归、支持向量机、神经网络等模型。但对于决策树模型则并不适用,以C4.5为例,决策树在进行节点分裂时主要依据数据集D关于特征x的信息增益比,而信息增益比跟特征是否归一化是无关的,因为归一化并不会改变样本在特征x上的信息增益。

文章来源:https://blog.csdn.net/weixin_55252589/article/details/135278811
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。