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

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

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

它对原始数据进行线性变换,使结果映射到【0,1】的范围,实现对数据的等比放缩。归一化公式如下

其中为原始数据,分别为数据最大值和最小值。

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

它会将原始数据映射到均值为0,标准差为1的分布上。具体来说,假设原始特征的均值为、标准差为,那么归一化公式定义为

为什么需要对数值型特征做归一化呢?我们不妨借助随机梯度下降的实例来说明归一化的重要性。假设有两种数值型特征,的取值范围为【0,10】,的取值范围为【0,3】,于是可以构造一个目标函数符合图1.1(a)中的等值图。

在学习速率相同的情况下,的更新速度会大于,需要较多的迭代才能找到最优解。如果将归一化到相同的数值区间后,优化目标的等值图会变成图1.1(b)中的圆形。 的更新速度变得更为一致,容易更快地通过梯度下降找到最优解

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

相关推荐
尼罗河女娲4 分钟前
【Token系列】01 | Token不是词:GPT如何切分语言的最小单元
人工智能·语言模型·自然语言处理
没有梦想的咸鱼185-1037-16637 分钟前
【大语言模型DeepSeek+ChatGPT+GIS+Python】AI大语言模型驱动的地质灾害全流程智能防治:风险评估、易发性分析与灾后重建多技术融合应用
人工智能·python·机器学习·arcgis·语言模型·chatgpt·数据分析
roc-ever18 分钟前
用Python做有趣的AI项目 6:AI音乐生成器(LSTM Melody Generator)
人工智能·python·lstm
xiaohanbao0924 分钟前
day10 python机器学习全流程实践
人工智能·python·学习·机器学习·信息可视化·pandas
layneyao26 分钟前
神经辐射场(NeRF)技术解析:3D重建与虚拟世界的未来
人工智能·3d
菜还不练就废了28 分钟前
数据结构|并查集
数据结构·算法
heyCHEEMS37 分钟前
[USACO09OCT] Bessie‘s Weight Problem G Java
java·开发语言·算法
凢en39 分钟前
NOC科普一
网络·笔记·算法·智能路由器·硬件工程
RanceGru1 小时前
C++——调用OpenCV和NVIDIA Video Codec SDK库实现使用GPU硬解码MP4视频文件
c++·opencv·算法·gpu算力·视频编解码
yangmf20401 小时前
私有知识库 Coco AI 实战(四):打造 ES 索引参数小助手
大数据·人工智能·elasticsearch·coco ai