[机器学习面试] 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上的信息增益。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>