[KO机器学习] Day1 特征工程:数据特征归一化以归一化原因

场景描述

       为了消除数据特征之间的量纲影响,我们需要对特征进行归一化处理,使得不同指标之间具有可比性。例如,分析一个人的身高和体重对健康的影响,如果使用米(m) 和千克(kg)作为单位,那么身高特征会在1.6 - 1.8m的数值范围内,体重特征会在50 - 100kg的范围内,分析出来的结果显然会倾向于数值差别比较大的体重特征。想要得到更为准确的结果,就需要进行特征归一化(normalization)处理,使得各指标处于同一数值量级,以便于分析。

为什么需要对数据类型的特征做归一化?难度:★☆☆☆☆

归一化常用方法

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

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

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

Xnorm =\frac{X - Xmin}{Xmax - Xmin}

其中X为原始数据,Xmax、Xmin分别为数据的最大值和最小值

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

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

Z=\frac{X-\mu }{\sigma }

为什么需要对数据类型的特征做归一化?我们不妨借助随机梯度下降的实例来说明归一化的重要性。假设有两种数值型特征,X1的取值范围为[0,10], X2的取值范围为 [0,3],于是可以构造一个目标函数如下图所示的等值图。

 未进行归一化数据的随机梯度下降过程

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

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

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农男孩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值