【机器学习】为什么需要对数值型的特征做归一化(Normalization)?

news2025/7/13 2:50:33

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

  • 一、概念定义
  • 二、标准化、归一化的原因、用途
    • 2.1 原因
  • 三、数据归一化的影响
  • 四、常用的3种归一化方法
    • 4.1 归一化公式
      • 4.1.1 线性归一化(Min-Max Scaling,即我们一般指的归一化)
      • 4.1.2 均值归一化(Mean Normalization)
      • 4.1.3 零均值归一化(Z-Score Normalization,通常叫标准化)
  • 五、标准化 vs 归一化
  • 六、哪些模型必须归一化
  • 七、哪些模型不需要归一化?

一、概念定义

在数据处理场景中特征缩放 = 数据规范化,这个两个名词是相同的。

Feature scaling = data normalization

一个数字按照一定规则变小或者变大,这个数字就是特征,变小就是缩,变大就是放。

特征缩放是一种用于规范自变量或数据特征范围的方法。

在数据处理中,这也称为数据规范化,通常在数据预处理步骤中执行。

二、标准化、归一化的原因、用途

2.1 原因

  1. 统计建模中,如回归模型,自变量的量纲不一致导致了回归系数无法直接解读或者错误解读;为了消除数据特征之间的量纲影响,我们需要对特征进行归一化处理,使得不同指标之间具有可比性;
  2. 机器学习任务和统计学任务中有很多地方要用到“距离”的计算,比如PCA,比如KNN,比如K-means等等,假使算欧式距离,不同维度量纲不同可能会导致距离的计算依赖于量纲较大的那些特征而得到不合理的结果;
  3. 参数估计时使用梯度下降,在使用梯度下降的方法求解最优化问题时, 归一化/标准化后可以加快梯度下降的求解速度,即提升模型的收敛速度。

举例:

分析一个人的身高和体重对健康的影响,如果使用米(m)和千克(kg)作为单位,那么身高特征会在1.6~1.8m的数值范围内,体重特征会在50~100kg的范围内,分析出来的结果显然会倾向于数值差别比较大的体重特征。

想要得到更为准确的结果,就需要进行特征归一化(Normalization)处理,使各指标处于同一数值量级,以便进行分析。

三、数据归一化的影响

归一化之后等高线变得不再崎岖, x 1 x_1 x1 x 2 x_2 x2的更新速度变得更为一致,容易更快地通过梯度下降找到最优解。迭代次数变少,减小梯度下降算法的过程,从而加速模型的生成。

在这里插入图片描述

四、常用的3种归一化方法

线性函数归一化(最大最小值归一化)和零均值归一化。

4.1 归一化公式

4.1.1 线性归一化(Min-Max Scaling,即我们一般指的归一化)

它对原始数据进行线性变换,使结果映射到 [ 0 , 1 ] [0, 1] [0,1]的范围,实现对原始数据的等比缩放,最通用:
X n o r m = X − X m i n X m a x − X m i n X_{norm}=\frac{X-X_{min}}{X_{max}-X_{min}} Xnorm=XmaxXminXXmin
其中 X n o r m X_{norm} Xnorm为归一化后的数据, X X X为原始数据, X m a x X_{max} Xmax X m i n X_{min} Xmin分别为原始数据集的最大值和最小值。

注意:对异常值十分灵敏,异常值容易造成偏差!

4.1.2 均值归一化(Mean Normalization)

X = X − − X m a x ( X ) − m i n ( X ) X = \frac{X-\frac{-}{X}}{max(X)-min(X)} X=max(X)min(X)XX

4.1.3 零均值归一化(Z-Score Normalization,通常叫标准化)

给予原始数据的均值 μ μ μ(mean)和标准差 σ σ σ(standard deviation)进行数据的标准化。

它会将原始数据映射到均值为0、标准差为1的分布上。
z = x − μ δ z = \frac{x-\mu}{\delta} z=δxμ

五、标准化 vs 归一化

在这里插入图片描述

六、哪些模型必须归一化

  1. 在分类、聚类算法中,需要使用距离来度量相似性的时候、或者使用PCA技术进行降维的时候,标准化(Z-score standardization)表现更好

  2. 在不涉及距离度量、协方差计算、数据不符合正太分布的时候,可以使用归一化方法。比如图像处理中,将RGB图像转换为灰度图像后将其值限定在[0 255]的范围

实际应用中,通过梯度下降法求解模型的通常需要归一化,包括线性回归、逻辑回归、支持向量机、神经网络等。

七、哪些模型不需要归一化?

不是所有的模型都需要做归一的,比如模型算法里面有没关于对距离的衡量,没有关于对变量间标准差的衡量。

  1. 决策树模型不要要归一化,他采用算法里面没有涉及到任何和距离等有关的,看的是信息增益比,所以在做决策树模型时,通常是不需要将变量做标准化的

  2. 概率模型不需要归一化,因为它们不关心变量的值,而是关心变量的分布和变量之间的条件概率

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/362431.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

十二、Django表单

表单 在之前的案例中,每次我们需要提交表单数据的时候。我们都需要去手动编辑html表单,根据不同的字段,字段名,进行编码。做了很多重复的部分,所以django提供了一个专门用来处理表单的类,django.forms.For…

23年PMP真的值得考吗?分析+资料分享

我觉得,如过是真的想学习项目管理,或者工作要求考PMP,招聘要求又的确“PMP证书”优先,那考一个是划算的,毕竟在项目管理这一块,PMP是专业和知名度最高的证书了。 它是由美国项目管理协会(PMI)在全球范围内推…

Java 给视频添加背景音乐 | Java工具

目录 前言 Maven依赖 环境依赖 代码 总结 前言 本文提供给视频添加背景音乐的java工具&#xff0c;一如既往的实用主义。 Maven依赖 <dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>30.1.1…

Towards Efficient Adversarial Training on Vision Transformers

视觉转换器(ViT)作为卷积神经网络(CNN)的有力替代方案&#xff0c;受到了广泛的关注。最近的研究表明&#xff0c;vit也容易受到cnn等对抗实例的攻击。为了构建健壮的vit&#xff0c;一种直观的方法是应用对抗性训练&#xff0c;因为它已被证明是实现健壮cnn的最有效方法之一。…

笔记本cpu温度多少正常?温度过高的4个常见原因

电脑CPU指的是中央处理器&#xff0c;它与电脑运行速度的快慢存在很大关系。如果电脑的处理器温度过高&#xff0c;就会影响我们电脑的运行速度&#xff0c;甚至出现蓝屏、卡顿的情况。 那么&#xff0c;对于电脑来说&#xff0c;笔记本cpu温度多少正常&#xff1f;有什么原因…

如何高效开发一个OA办公系统?

如何才能高效开发一个OA办公系统&#xff1f;这篇教你使用零代码工具从0-1搭建一个OA办公系统&#xff0c;无需代码基础&#xff0c;只要你懂业务&#xff0c;只需3步即可搭建&#xff01; 先来看看效果—— 系统模板>>https://www.jiandaoyun.com/ 整个系统包含物资管理…

2023年可穿戴智能设备三大应用领域的发展前景

科技化进程的不断推进&#xff0c;让可穿戴智能设备在智能设备市场占比逐渐增多&#xff0c;通过传感器和无线通信等技术的结合&#xff0c;为用户带来良好体验&#xff0c;为智能设备市场发展注入活力。消费类电子产品也朝着移动化、便携化、可穿戴化方向发展&#xff0c;可穿…

【蓝桥杯集训7】并查集专题(3 / 5)

目录 并查集模板 1249. 亲戚 - 并查集 837. 连通块中点的数量 - 并查集 240. 食物链 - 带权并查集 238. 银河英雄传说 - 并查集模板 活动 - AcWing int find(int x) //返回x的祖宗结点状态压缩 {if(p[x]!x) p[x]find(p[x]);return p[x]; }p[find(a)]find(b); //合并操作…

Jest使用

一、测试到底测什么 提到测试的时候&#xff0c;即使是最简单的一个代码块可能都让初学者不知所措。最常问的问题的是“我怎么知道要测试什么&#xff1f;”。如果你正在写一个 Web 应用&#xff0c;那么你每个页面每个页面的测试用户交互的方式&#xff0c;就是一个很好的开端…

技术干货!如何玩转Salesforce测试类 (Test Class)?

测试类主要用于评估其他代码片段&#xff0c;确保一切正常且可靠地运行。这可以作为一种早期预警系统&#xff0c;提醒开发人员出现了错误或问题。 不同类型的程序化测试 测试类可以分为多种不同的类型&#xff0c;这改变了我们编写测试的方式及其预期结果。对于Apex测试类&…

【机器学习】DBSCAN密度聚类算法(理论 + 图解)

文章目录一、前言二、DBSCAN聚类算法三、DBSCAN算法步骤四、算法的理解五、常用评估方法&#xff1a;轮廓系数一、前言 之前学聚类算法的时候&#xff0c;有层次聚类、系统聚类、K-means聚类、K中心聚类&#xff0c;最后呢&#xff0c;被DBSCAN聚类算法迷上了。 为什么呢&…

等保2.0丨5分钟速览:小白也能看懂的等保2.0介绍

等级保护2.0自2019年12月1日正式实施起&#xff0c;到现在已经有两个多月的时间&#xff0c;但是仍然有刚刚进入等保领域的“萌新”反馈&#xff0c;需要小编再做一个简单的介绍&#xff0c;那么今天的干货内容&#xff0c;我们就来一起了解什么是等保2.0&#xff0c;最新实施的…

数学(一)-- LeetCode[12][13] 整数转罗马数字

1 整数转罗马数字 1.1 题目描述 罗马数字包含以下七种字符&#xff1a; I&#xff0c; V&#xff0c; X&#xff0c; L&#xff0c;C&#xff0c;D 和 M。 字符数值I1V5X10L50C100D500M1000例如&#xff0c; 罗马数字 2 写做 II &#xff0c;即为两个并列的 1。12 写做 XII &…

消灭EMC的三大利器:电容器/电感/磁珠

滤波电容器、共模电感、磁珠在EMC设计电路中是常见的身影&#xff0c;也是消灭电磁干扰的三大利器。 对于这三者在电路中的作用&#xff0c;相信还有很多工程师搞不清楚&#xff0c;文章从设计中详细分析了消灭EMC三大利器的原理。 1 、滤波电容 尽管从滤除高频噪声的角度…

json-server的入门到抢后端饭碗

1.json-server概述 json-server是一个 Node 模块&#xff0c;运行 Express 服务器&#xff0c;你可以指定一个 json 文件作为 api 的数据源。 通俗来说&#xff0c; json-server模拟服务端接口数据&#xff0c;一般用在前端人员可以不依赖后端的API开发&#xff0c;而在本地搭…

基于Spring Boot的教务管理系统

文章目录项目介绍主要功能截图&#xff1a;登录首页学生信息管理班级信息管理教师信息管理教师评价部分代码展示设计总结项目获取方式&#x1f345; 作者主页&#xff1a;Java韩立 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、 简历模板、学习资料、面试题…

Java服务导致CPU爆表异常排查

一、前言之前的博客有提到过面对Tomcat部署的java服务出现内存溢出该如何定位&#xff0c;今天来记录下Tomcat部署的java服务出现CPU爆表的事故该如何定位。二、正文针对Linux系统在处理CPU爆满时会有相关指令可以一步到位&#xff0c;相关资料度娘有很多。本文重点以Windows系…

九龙证券|权重股引领A股强势反弹 沪指创今年以来最大单日涨幅

周一&#xff0c;沪深两市强势反弹&#xff0c;上证综指全天收涨超2%&#xff0c;创本年以来最大单日涨幅。到收盘&#xff0c;上证综指报3290.34点&#xff0c;上涨2.06%&#xff1b;深证成指报11954.13点&#xff0c;上涨2.03%&#xff1b;创业板指报2480.79点&#xff0c;上…

JAVA集合之并发集合

从Java 5 开始&#xff0c;在java.util.concurrent 包下提供了大量支持高效并发访问的集合接口和实现类&#xff0c;如下图所示&#xff1a; 以CopyOnWrite开头的集合即写时复制的容器。通俗的理解是当我们往一个容器添加元素的时候&#xff0c;不直接往容器添加&#xff0c;而…

Spring依赖注入(一):字段注入的方式是如何工作的?

前言写这篇文章的起因&#xff0c;是因为我想写篇文章来分享一下&#xff1a;Spring是如何解决循环依赖的&#xff1f;然后在分析的时候&#xff0c;我发现如果要想说清楚Spring是如何解决循环依赖的&#xff0c;那么就必须得先说清楚什么是循环依赖&#xff1f;从字面理解&…