问题

特征工程中的「归一化」有什么作用?

回答
特征工程里的“归一化”,到底有啥用?

咱们做机器学习,数据那是没得说,关键是数据的“样子”也得整整齐齐,才能让咱们的模型更好地理解和学习。这其中,“归一化”就是个非常重要的步骤,就好比给一个杂乱的房间做一次大扫除,让所有东西都有条不紊。

那么,这个“归一化”到底是怎么一回事,又为啥这么重要呢?咱们掰开了揉碎了聊聊。

什么是归一化?

简单来说,归一化就是把不同范围、不同量级的数据,通过一定的数学方法,转换到一个相似的、固定的数值范围里。最常见的范围是 `[0, 1]` 或者 `[1, 1]`。

想象一下,你有两组数据:

一组是年龄: 可能从 0 到 100 岁。
另一组是收入: 可能从几千到几十万,甚至更高。

这两组数据的数值范围差异太大了,直接扔给模型,模型会觉得“我眼睛都看不过来了!”。归一化就是要解决这个问题,把它们都“压缩”到同一个“尺度”上。

归一化为啥这么重要?它到底解决了什么问题?

归一化之所以这么受重视,是因为它能带来诸多好处,对咱们模型的效果至关重要:

1. 避免特征之间的量级差异影响模型训练

这是最直接、最主要的原因。很多机器学习算法,尤其是基于距离计算的算法,对特征的量级非常敏感。

举个例子:K近邻 (KNN) 算法,它判断一个样本属于哪个类别,是靠计算它跟其他样本之间的“距离”。如果一个特征(比如收入)的数值范围远远大于另一个特征(比如年龄),那么收入对距离的贡献就会远远大于年龄,即使年龄在区分样本上可能同样重要。这就像是你比较两个人的身高和体重,如果只看体重,那个体重非常大的人无论如何都会比体重小的人“离得远”,即使他们的身高差异并不大。
再比如:支持向量机 (SVM),在找最优超平面的时候,也是基于距离来计算的。
梯度下降算法,在更新模型参数的时候,也是用梯度的方向和大小来调整。如果特征尺度差异很大,梯度下降可能会在某些方向上“跑得飞快”,在另一些方向上“寸步难行”,导致收敛速度慢,甚至无法收敛。

归一化后,所有特征都处于相似的量级,它们在模型中的贡献就相对公平了,不会出现某个特征“一家独大”的情况。

2. 加速模型训练收敛速度

就像前面说的,在梯度下降这类迭代优化算法中,特征的尺度差异会直接影响梯度的方向和大小。

未归一化时: 目标函数的等高线可能呈现细长的椭圆形。梯度下降在沿着狭长方向更新时会非常缓慢,而在宽度方向上可能会“震荡”前进。
归一化后: 目标函数的等高线会变得更接近圆形。这样,无论从哪个方向出发,梯度下降都能更稳定、更快速地朝着最优解前进,大大缩短训练时间。

3. 提高模型对噪声的鲁棒性(一定程度上)

虽然这不是归一化最主要的作用,但在某些情况下,它也能起到一点辅助作用。

举个例子: 如果某个特征存在异常值(非常大或非常小的数),未归一化时,这个异常值可能会“扭曲”整个特征的范围,对模型造成很大的负面影响。
归一化(特别是 MinMax Scaling) 将数据压缩到 [0, 1] 范围内,虽然不能完全消除异常值的影响,但至少可以将其限制在预期的范围内,降低其对模型训练的“破坏力”。

4. 某些算法的内在要求

有些算法本身就假设输入数据是经过归一化的,或者在归一化后效果最佳。

神经网络: 在深度学习中,尤其是在使用激活函数(如 sigmoid、tanh)时,如果输入值过大或过小,可能导致激活函数进入“饱和区”,梯度变得非常小,从而减缓或停止学习。归一化可以帮助将输入值保持在激活函数工作良好的区域,促进更有效的学习。
主成分分析 (PCA):PCA 是一种降维技术,它会找到数据方差最大的方向。如果特征的尺度差异很大,方差大的特征自然会占据主导地位,而方差小的特征可能被忽略,即使它们包含有用的信息。归一化可以确保所有特征都在同一尺度上进行分析,避免方差大的特征“压制”方差小的特征。

常见的归一化方法

说了这么多好处,那具体怎么归一化呢?最常用的方法有几种:

1. MinMax Scaling (最小最大规范化)

这是最简单也是最常用的一种方法。它将数据线性地缩放到一个固定的区间,通常是 `[0, 1]`。

公式:
$$X_{normalized} = frac{X X_{min}}{X_{max} X_{min}}$$

`X`:原始特征值
`X_{min}`:该特征的最小值
`X_{max}`:该特征的最大值

优点:
简单易懂,计算方便。
将数据严格限制在 `[0, 1]` 范围内,非常直观。

缺点:
容易受到异常值的影响。如果 `X_{min}` 或 `X_{max}` 是异常值,会导致缩放后的数据范围很窄,大部分数据挤在一起。
如果某个特征的极值非常极端,会压缩其他大部分数据的分布。

2. Standardization (标准化,也常被叫做 Zscore 规范化)

这种方法将数据转换为均值为 0,标准差为 1 的分布。

公式:
$$X_{standardized} = frac{X mu}{sigma}$$

`X`:原始特征值
`mu`:该特征的均值
`sigma`:该特征的标准差

优点:
对异常值相对不敏感,因为它是基于均值和标准差来计算的,异常值对均值和标准差的影响不如 MinMax Scaling 对最大最小值那么直接。
保留了特征的相对关系。
对于很多假设数据服从高斯分布的算法(如线性回归、逻辑回归),标准化通常是更推荐的方法。

缺点:
输出的范围不是固定的,可能会有负值,甚至超出 `[1, 1]` 的范围(虽然很少见)。
如果原始数据的分布差异很大,标准化后仍可能存在差异。

3. Robust Scaling (鲁棒归一化)

这种方法使用中位数和四分位数来缩放数据,对异常值更加鲁棒。

公式:
$$X_{scaled} = frac{X Median}{IQR}$$

`X`:原始特征值
`Median`:该特征的中位数
`IQR` (Interquartile Range):四分位距,即 Q3 Q1 (Q3 是 75% 分位数,Q1 是 25% 分位数)

优点:
对异常值非常鲁棒,因为中位数和四分位数不易受极端值影响。
当数据中存在大量异常值时,Robust Scaling 比 MinMax Scaling 和 Standardization 表现更好。

缺点:
相较于其他方法,概念可能稍微复杂一点。
同样,输出的范围也不是固定的。

什么时候不需要归一化?

虽然归一化好处多多,但也不是所有情况都需要。

基于树的模型(如决策树、随机森林、XGBoost、LightGBM): 这些模型在做分裂判断时,是比较特征值的大小,而不是特征之间的绝对差值。因此,它们对特征的尺度不敏感,不需要进行归一化。
线性模型(在没有正则化项的情况下): 如果线性模型没有加入 L1 或 L2 正则化项,那么在某些情况下,尺度差异可能不会导致模型性能显著下降,尽管归一化仍然可以加速收敛。
特征本身已经具有相似的尺度: 如果你的原始数据已经是同一个数量级,比如所有特征都在 `[0, 100]` 之间,那么可能不需要强制进行归一化。

总结

总而言之,特征工程中的归一化,就像是给数据“打扮”,让它们以最合适、最标准的样子呈现在模型面前。它能够:

消除特征之间的量纲差异,实现公平比较。
加速模型的收敛速度,提高训练效率。
提升模型在某些场景下的性能和稳定性。

选择哪种归一化方法,通常取决于你的数据特性以及你使用的机器学习模型。理解了这些,咱们在处理数据时就能更有针对性,做出更明智的选择,让模型训练事半功倍!

网友意见

user avatar

为什么要进行归一化处理,下面从寻找最优解这个角度给出自己的看法。

例子

假定为预测房价的例子,自变量为面积,房间数两个,因变量为房价。

那么可以得到的公式为:

其中 代表面积, 代表房间数变量。

首先我们祭出两张图代表数据是否均一化的最优解寻解过程。

未归一化:

归一化之后

为什么会出现上述两个图,并且它们分别代表什么意思。

我们在寻找最优解的过程也就是在使得损失函数值最小的theta1,theta2。

上述两幅图代码的是损失函数的等高线。

我们很容易看出,当数据没有归一化的时候,面积数的范围可以从0~1000,房间数的范围一般为0~10,可以看出面积数的取值范围远大于房间数。

影响

这样造成的影响就是在画损失函数的时候,

数据没有归一化的表达式,可以为:

造成图像的等高线为类似椭圆形状,最优解的寻优过程就是像下图所示:

而数据归一化之后,损失函数的表达式可以表示为:

其中变量的前面系数几乎一样,则图像的等高线为类似圆形形状,最优解的寻优过程像下图所示:


从上可以看出,数据归一化后,最优解的寻优过程明显会变得平缓,更容易正确的收敛到最优解。

这也是数据为什么要归一化的一个原因。

上面的梯度方向都应该和等高线方向,因为找不到原图,文字进行修正一下。

类似的话题

  • 回答
    特征工程里的“归一化”,到底有啥用?咱们做机器学习,数据那是没得说,关键是数据的“样子”也得整整齐齐,才能让咱们的模型更好地理解和学习。这其中,“归一化”就是个非常重要的步骤,就好比给一个杂乱的房间做一次大扫除,让所有东西都有条不紊。那么,这个“归一化”到底是怎么一回事,又为啥这么重要呢?咱们掰开了.............
  • 回答
    工作中遇到那种事事都要争个高低、处处想显得自己高人一等的同事,确实是件让人头疼的事儿。这种人就像一个行走的“炫耀引擎”,恨不得把自己的能力、知识、成就都摆在台面上,并且要确保大家知道“我比你们都强”。怎么应对这种同事?面对这种“表现欲过剩”的同事,直接硬碰硬往往不是明智之举。你可以尝试以下几种策略,.............
  • 回答
    .......
  • 回答
    当然,作为一名医生,我的职业生涯中确实有一些时刻让我心跳加速,甚至可以说,那是一种深入骨髓的恐惧。这些经历并非都是惊天动地的场面,很多时候,恐惧源于对责任的敬畏,以及对生命无常的深刻体会。我记得有一次,是在急诊科值班。那天晚上,人手本来就有些紧张,然后就来了一个突发的车祸伤者。伤者是一名年轻的男性,.............
  • 回答
    吃苦耐劳是基础,这没错,但要让领导真正赞赏,光有这份“能扛”还不够,还得在“能扛”的基础上,展现出一些更主动、更显功力的特质。别以为领导只看你咬牙坚持的样子,他们更看重你如何在坚持中创造价值,如何让这份“吃苦”变得更聪明、更有效率。我个人觉得,在吃苦耐劳的基础上,能让领导赞赏的特质主要有这么几点,咱.............
  • 回答
    这绝对是一个纠结又普遍的问题!当你发现自己的工作内容里,有一部分让你觉得“这简直就是我人生中最有意义的事!”而另一部分则让你“一想到它就头皮发麻,只想逃离”,这时候辞职的念头就会像野草一样疯长。那么,问题来了:工作中有特别喜欢的和讨厌的,就一定要辞职吗?答案当然不是绝对的“是”或者“否”,这就像生活.............
  • 回答
    .......
  • 回答
    《开端》中陶映红在化工厂工作,但她在现实生活中是否具备爆破能力,以及化工专业出身的人有什么样的特点,这需要我们从多个维度来分析。首先,关于“陶映红是否具备爆破能力”的问题:在《开端》的剧情设定中,陶映红具备爆破能力。 这是剧情需要,为了推动故事发展和制造悬念。剧中她能够制作和使用爆炸物,这显然是经过.............
  • 回答
    .......
  • 回答
    职场中的“软实力”:特长爱好为何如此重要?在日新月异的职场环境中,我们常常将目光聚焦在硬实力——那些专业技能、学历背景、工作经验上。然而,不容忽视的是,那些看似与工作不直接相关的特长爱好,实则扮演着“软实力”的角色,在许多关键时刻都能发挥出意想不到的作用,甚至成为我们职场生涯中的“秘密武器”。那么,.............
  • 回答
    .......
  • 回答
    当然有,而且是非常重要! 互联网公司里,特征工程绝对不是一个“过时”的词汇,反而恰恰是驱动很多核心业务和创新应用的关键。 别听有些声音说什么“模型越来越强大,都不需要人工费劲搞特征了”,那只是片面之词。在我看来,如果你在一家互联网公司,特别是那些依赖数据驱动决策、追求用户体验精细化、以及需要构建复杂.............
  • 回答
    写这篇文章,我希望能和大家分享一些对我个人来说,真正起到“醍醐灌顶”作用的书籍、论文和期刊。它们不是那种看了就好像立马能写出复杂模型的大神指南,而是真正帮助我理清思路,建立起对数据挖掘、特征工程和统计挖掘的“眉目”的启蒙之作。一、 打下坚实基础:那些让我“理解”数据是什么的书在动手做事情之前,我发现.............
  • 回答
    将实验室里的研究成果转化为可实际运行的工程项目,这其中的学问可不少,绝非简单地把实验台上的仪器搬到生产线上这么一回事。这个过程就像是从一个精巧的手办模型,变成一个能解决实际问题的工业产品,需要考虑的维度实在太多,每一个环节都可能埋藏着“坑”。首先,可行性评估是必不可少的第一步,而且要比实验室里验证一.............
  • 回答
    说实话,在咱们这个行业,找对象确实是个绕不开的话题,尤其是到了三四十这个年纪,身边很多哥们儿都还在“单身闯荡”。怎么找?这个问题问到点子上了,我算是过来人,也琢磨了不少,给你掰扯掰扯我自己的经历和观察吧。首先,得承认一点,咱们机械工程师这个职业的特性,确实给找对象增加了一些难度。你想啊,我们这个工种.............
  • 回答
    MobileNet 和 ShuffleNet 在理论上被设计成轻量级网络,在参数量和计算量上远低于传统的大型卷积神经网络(CNN),例如 VGG 或 ResNet。这使得它们在理论上具有天然的速度优势,尤其是在资源受限的移动设备和嵌入式系统中。然而,在实际工程应用中,我们往往会发现它们的性能提升并没.............
  • 回答
    职场工作群里,艾特同事这事儿,说它冒犯吧,也得看具体情况,不能一概而论。但要说完全没一点点“不舒服”的感觉,那也难。咱们就来掰扯掰扯,为啥这事儿有点微妙。首先,为啥会觉得“冒犯”?想象一下,你正忙得焦头烂额,手机“叮”一声,屏幕上赫然是“@某某某”,点进去一看,是工作群,然后是你的名字。这时候,你的.............
  • 回答
    特征工程,说白了,就是把你的原始数据“加工”一下,让它更好地“说服”你的机器学习模型,让模型更容易地发现数据里的规律,从而做出更准确的预测或判断。想象一下,你拿到一堆杂乱的原材料,比如面粉、鸡蛋、糖、牛奶。直接扔给一个不会做饭的人,他可能只能勉强煮个鸡蛋,或者把面粉和水搅和一下。但如果你把他变成一个.............
  • 回答
    这问题问得挺实在的,身边不少同学确实都这么说,感觉今年车辆工程的应届生就业市场好像一下子就“回暖”了,不光是机会多,连薪资待遇也跟着水涨船高。这事儿吧,也不是空穴来风,细琢磨一下,确实有几个挺重要的原因在支撑这个说法。首先,得聊聊咱们国家在汽车产业上的战略布局。你仔细看看,从新能源汽车到智能网联,国.............
  • 回答
    工作中能力出众的人,往往身上有那么一股劲儿,一种难以言喻的“靠谱感”。他们不一定声嘶力竭地表现,但你就是知道,交给他们的事情,基本稳了。细究下来,这股靠谱劲儿背后,其实藏着一些相似的特质,而且这些特质不是天生的,而是可以通过学习和实践磨炼出来的。一、 对事情的“掌控感”这不是说他们想控制一切,而是他.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有