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

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

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

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

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

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

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

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

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

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

相关推荐
力学与人工智能几秒前
“高雷诺数湍流数据库的构建及湍流机器学习集成研究”湍流重大研究计划集成项目顺利结题
数据库·人工智能·机器学习·高雷诺数·湍流·重大研究计划·项目结题
娟宝宝萌萌哒10 分钟前
智能体设计模式重点
人工智能·设计模式
u01092727121 分钟前
C++中的模板方法模式
开发语言·c++·算法
乾元22 分钟前
绕过艺术:使用 GANs 对抗 Web 防火墙(WAF)
前端·网络·人工智能·深度学习·安全·架构
蝈蝈tju26 分钟前
Vibe Coding 正确姿势: 先会指挥, 再让AI干
人工智能·经验分享·ai
重生之我是Java开发战士28 分钟前
【优选算法】滑动窗口:长度最小的子数组,无重复字符的最长子串,最大连续1的个数,将x减到0的最小操作数,水果成篮,异位词,串联所有单词的子串,最小覆盖子串
算法
想你依然心痛31 分钟前
AI 换脸新纪元:Facefusion 人脸融合实战探索
人工智能·换脸·facefusion·人脸融合
马士兵教育35 分钟前
计算机专业学生入行IT行业,编程语言如何选择?
java·开发语言·c++·人工智能·python
CoderJia程序员甲36 分钟前
GitHub 热榜项目 - 日榜(2026-01-28)
人工智能·ai·大模型·github·ai教程
naruto_lnq43 分钟前
C++与自动驾驶系统
开发语言·c++·算法