【机器学习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 对于那些期望符合正态分布的模型或算法更有利,同时它不会改变数据的分布形状,而是将其调整到标准正态分布的形式,这有助于消除由于特征度量单位不同造成的偏差,并突出数据的内在结构。
相关推荐
ku_code_ku2 分钟前
python bert_score使用本地模型的方法
开发语言·python·bert
嗷嗷哦润橘_6 分钟前
AI Agent学习:MetaGPT之我的工作
人工智能·学习·flask
PPIO派欧云8 分钟前
PPIO上线阿里Wan 2.6:制作电影级AI视频,对标Sora2
人工智能
火山kim22 分钟前
经典论文研读报告:DAGGER (Dataset Aggregation)
人工智能·深度学习·机器学习
祁思妙想22 分钟前
linux常用命令
开发语言·python
流水落花春去也33 分钟前
用yolov8 训练,最后形成训练好的文件。 并且能在后续项目使用
python
Coding茶水间34 分钟前
基于深度学习的水果检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
图像处理·人工智能·深度学习·yolo·目标检测·机器学习·计算机视觉
Serendipity_Carl34 分钟前
数据可视化实战之链家
python·数据可视化·数据清洗
檐下翻书17336 分钟前
算法透明度审核:AI 决策的 “黑箱” 如何被打开?
人工智能
undsky_38 分钟前
【RuoYi-SpringBoot3-Pro】:接入 AI 对话能力
人工智能·spring boot·后端·ai·ruoyi