机器学习(一)特征归一化

特征归一化

场景描述

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

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

知识点

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

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

    它对原始数据进行线性变换,是结果映射到[0,1]的范围,实现对原始数据的等比缩放。归一化公式如下: 在这里插入图片描述其中X为原始数据,Xmax、Xmin分别是数据最大值和最小值。

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

    它会将原始数据映射到均值为0、标准差为1的分布上。具体来说,假设原始特征的均值为μ、标准差为α,那么归一化公式为:
    在这里插入图片描述

例子:(线性函数归一化)
在这里插入图片描述
如图所示,

  1. 归一化后的数值之间的关系与原数据数值之间的关系相同。
  2. 归一化后的数值在[0, 1]之间,使随机梯度下降算法的收敛速度加快。

总结

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

猜你喜欢

转载自blog.csdn.net/qq_38883844/article/details/104174798