【机器学习300问】12、为什么要进行特征归一化?

当线性回归模型的特征量变多之后,会出现不同的特征量,然而对于那些同是数值型的特征量为什么要做归一化处理呢?

一、为了消除数据特征之间的量纲影响

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

二、为了让模型训练更迅速

归一化后的特征在数值上更接近,这可以使得模型训练过程中的梯度下降步长更加稳定,同时避免了某些特征因数值过大而在梯度下降过程中占据主导地位。
特征归一化对梯度下降有影响

三、为了使特征间的权重更公平

在一些算法中,比如逻辑回归,如果不进行归一化,那么特征的重要性可能会被特征的尺度所影响。即那些取值范围较大的特征可能会被模型认为是更重要的特征,从而导致在计算距离时,尺度较大的特征将会导致距离主要由它来决定,这可能会掩盖掉其他特征的信息,降低模型的预测精度。

四、归一化最常用的两种方法

对数值型特征做归一化处理可以将所有特征都统一到一个大致相同的区间内。

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

这是最常见的归一化形式,也被称为离差标准化,是把原始数据线性变换到 0, 1 区间。实现对数据的等比缩放。归一化公式如下

其中的X是原始数据,Xmax是其中的最大值,Xmin是其中的最小值。

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

它会将原始数据规范化为标准正态分布(均值为0,标准差为1),适合于原始数据的分布不满足正太分布的情况。其归一化公式如下

其中的是均值,是标准差。经过Z-Score Normalization,数据会被映射到一个均值为0,标准差为1的分布上。

(3)两种归一化的对比

这两种归一化方法在不同的场景下有不同的优势:

  • Min-Max Scaling 更适合于特征的最大值和最小值有明确意义且已知的情况下,或者是输入数据的上下界很重要时。
  • Z-Score Normalization 对于那些期望符合正态分布的模型或算法更有利,同时它不会改变数据的分布形状,而是将其调整到标准正态分布的形式,这有助于消除由于特征度量单位不同造成的偏差,并突出数据的内在结构。
相关推荐
南京兴帝文化传媒有限公司3 分钟前
地图SEO与AI搜索优化结合实践:宁国摄影工作室本地获客案例分析
大数据·前端·人工智能·geo 优化·geo优化避坑
sarasuki9 分钟前
上下文快爆炸了?Agent 的两种压缩手段:微压缩 vs LLM 摘要
人工智能·ai编程
林浩杨_12 分钟前
中科大 × NUS × 美团提出Pigeon:个性化图像生成
论文阅读·人工智能
杨女士YRJ14 分钟前
python+pytest+01
python·pytest
长谷深风11117 分钟前
AI自动化中的关键闸门:何时必须人工审批?
大数据·人工智能·ai·自动化·ai agent·智能体·hitl
深蓝AI18 分钟前
9B开源干翻30B:NeoHorse-1实测tau²-Bench 90.82,4B消费级显卡可跑
人工智能
TonyLee01718 分钟前
扩散模型初探(二)
人工智能·扩散模型
行者全栈架构师19 分钟前
WorkBuddy 实战:50 份简历 30 分钟筛完,还能自动出评估报告
人工智能·算法·微信
狠活科技20 分钟前
GPT Image 2.5 发布:AI 生图又进化了
人工智能·gpt·ai作画·aigc·image2.5
鸽芷咕21 分钟前
Mu Editor 鸿蒙 PC 适配全记录:用 Qt 与嵌入式 CPython 重建教学型 Python IDE
python·qt·harmonyos