当前位置: 首页 > news >正文

机器学习-归一化

文章目录

  • 一. 归一化
  • 二. 归一化的常见方法
    • 1. 最小-最大归一化 (Min-Max Normalization)
    • 2. Z-Score 归一化(标准化)
    • 3. MaxAbs 归一化
  • 三. 归一化的选择
  • 四. 为什么要进行归一化
    • 1. 消除量纲差异
    • 2. 提高模型训练速度
    • 3. 增强模型的稳定性
    • 4. 保证正则化项的有效性
    • 5. 避免数值计算问题

一. 归一化

归一化(Normalization)是数据预处理中的一种常用方法,主要用于将不同尺度的数据转换到一个统一的范围内,通常是将数据缩放到一个固定的区间,如 [0, 1] 或 [-1, 1]。归一化有助于消除特征之间的量纲差异,使得所有特征在同一个尺度上进行计算,避免某些特征对模型的训练过程产生过大影响。
在这里插入图片描述

二. 归一化的常见方法

1. 最小-最大归一化 (Min-Max Normalization)

最常见的归一化方法,将数据按比例缩放到指定的区间(通常是 [0, 1])。其公式为:

x ′ = x − min ⁡ ( x ) max ⁡ ( x ) − min ⁡ ( x ) x' = \frac{x - \min(x)}{\max(x) - \min(x)} x=max(x)min(x)xmin(x)

其中:

  • ( x ) ( x ) (x) 是原始数据;
  • ( min ⁡ ( x ) ) ( \min(x) ) (min(x)) 是数据集中的最小值;
  • ( max ⁡ ( x ) ) ( \max(x) ) (max(x)) 是数据集中的最大值;
  • ( x ′ ) ( x' ) (x) 是归一化后的数据。

优点

  • 适用于数据范围已知且具有固定上下界的情况。
  • 结果数据范围固定,便于后续操作。

缺点

  • 对于异常值非常敏感,异常值可能会拉大数据的范围,使得大部分数据集中在某一小范围内。

2. Z-Score 归一化(标准化)

Z-Score 归一化将数据转换为具有零均值和单位方差的分布,常用于需要满足正态分布假设的机器学习算法中。其公式为:

x ′ = x − μ σ x' = \frac{x - \mu}{\sigma} x=σxμ

其中:

  • ( x ) ( x ) (x) 是原始数据;
  • ( μ ) ( \mu ) (μ) 是数据集的均值;
  • ( σ ) ( \sigma ) (σ) 是数据集的标准差;
  • ( x ′ ) ( x' ) (x) 是标准化后的数据。

优点

  • 对异常值不敏感,能保持数据的分布形态。
  • 保持数据的相对差异,适用于大多数机器学习算法,尤其是需要度量距离的算法。

缺点

  • 对数据本身的分布要求较高,尤其是对于数据呈现非正态分布时,可能需要更多的处理。

正态分布
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3. MaxAbs 归一化

将每个特征值除以其最大绝对值,使得数据的范围在 [-1, 1] 之间。这种方法在数据中没有负值时,尤其适用。

x ′ = x max ⁡ ( ∣ x ∣ ) x' = \frac{x}{\max(|x|)} x=max(x)x

优点

  • 保留了稀疏矩阵的零值,适合处理稀疏数据。
  • 不改变数据的分布形态,适用于数据不含异常值的情况。

缺点

  • 数据不一定遵循均值为0的分布,可能对一些算法(如线性回归)不太适用。

三. 归一化的选择

  • 如果数据的数值范围已知且有明确的上下限(如图像像素值通常在[0, 255]之间),使用 最小-最大归一化 比较合适。
  • 如果数据的分布较为均匀,且目标是让特征符合标准正态分布,使用 Z-Score 归一化(标准化) 更为合适。
  • 如果数据本身已经分布得很好,且不希望改变分布特性,可以选择 MaxAbs 归一化

总之,归一化是对特征进行尺度调整的过程,选择合适的归一化方法能够显著提高模型的表现和训练效率。

四. 为什么要进行归一化

1. 消除量纲差异

不同特征可能有不同的单位或量纲,例如,某些特征可能是温度(单位是摄氏度或华氏度),而其他特征可能是收入(单位是人民币、美元等)。这些特征的数值范围可能相差很大。比如,温度可能在0到100之间,而收入可能在几千到几百万之间。如果不进行处理,这种量纲差异可能会导致一些特征在模型中占主导地位,影响模型的学习效果。
归一化:将数据缩放到一个固定的范围(如[0, 1])。这样可以消除量纲差异,让每个特征在同一尺度上进行处理。
标准化:通过去除均值并除以标准差,使数据具有零均值和单位方差。标准化后的数据使得每个特征的分布更加一致,便于算法进行处理。

2. 提高模型训练速度

许多机器学习算法,特别是基于梯度下降的算法(如线性回归、逻辑回归、神经网络等),对特征的尺度非常敏感。如果数据的尺度不一致,某些特征可能对梯度的更新产生较大影响,而其他特征则几乎没有影响。这样会导致优化过程收敛速度慢,甚至不收敛。

通过归一化或标准化,可以确保所有特征对模型的贡献大致相同,从而加快收敛速度,避免梯度爆炸或梯度消失问题。

3. 增强模型的稳定性

一些模型,如支持向量机(SVM)、K-近邻(KNN)和K-means聚类等,基于距离度量(如欧式距离、曼哈顿距离等)来进行预测或分类。如果特征的尺度差异较大,模型计算距离时,尺度较大的特征会主导距离计算,从而影响预测结果。通过归一化或标准化,特征尺度变得一致,能提高模型的稳定性和预测准确性。

4. 保证正则化项的有效性

在一些机器学习算法中,正则化项(如L2正则化)用于控制模型的复杂度,避免过拟合。如果特征的尺度差异较大,某些特征可能会对正则化项产生较大影响,导致模型偏向某些特征,进而影响模型的泛化能力。归一化或标准化后,正则化项会对所有特征产生更均衡的影响,有助于提高模型的鲁棒性。

5. 避免数值计算问题

在某些机器学习算法中,如果输入数据的数值范围过大,可能会导致计算中的数值稳定性问题。例如,在神经网络中,输入数据的数值过大可能导致梯度更新过程不稳定,进而影响训练过程。通过归一化或标准化,可以避免这种数值计算问题。

相关文章:

机器学习-归一化

文章目录 一. 归一化二. 归一化的常见方法1. 最小-最大归一化 (Min-Max Normalization)2. Z-Score 归一化(标准化)3. MaxAbs 归一化 三. 归一化的选择四. 为什么要进行归一化1. 消除量纲差异2. 提高模型训练速度3. 增强模型的稳定性4. 保证正则化项的有效…...

Linux 串口检查状态的实用方法

在 Linux 系统中,串口通信是非常常见的操作,尤其在嵌入式系统、工业设备以及其他需要串行通信的场景中。为了确保串口设备的正常工作,检查串口的连接状态和配置信息是非常重要的。本篇文章将介绍如何在 Linux 上检查串口的连接状态&#xff0…...

Qt的核心机制概述

Qt的核心机制概述 1. 元对象系统(The Meta-Object System) 基本概念:元对象系统是Qt的核心机制之一,它通过moc(Meta-Object Compiler)工具为继承自QObject的类生成额外的代码,从而扩展了C语言…...

微调神经机器翻译模型全流程

MBART: Multilingual Denoising Pre-training for Neural Machine Translation 模型下载 mBART 是一个基于序列到序列的去噪自编码器,使用 BART 目标在多种语言的大规模单语语料库上进行预训练。mBART 是首批通过去噪完整文本在多种语言上预训练序列到序列模型的方…...

Cesium加载地形

Cesium的地形来源大致可以分为两种,一种是由Cesium官方提供的数据源,一种是第三方的数据源,官方源依赖于Cesium Assets,如果设置了AccessToken后,就可以直接使用Cesium的地形静态构造方法来获取数据源CesiumTerrainPro…...

gitlab runner正常连接 提示 作业挂起中,等待进入队列 解决办法

方案1 作业挂起中,等待进入队列 重启gitlab-runner gitlab-runner stop gitlab-runner start gitlab-runner run方案2 启动 gitlab-runner 服务 gitlab-runner start成功启动如下 [rootdocserver home]# gitlab-runner start Runtime platform …...

C#对动态加载的DLL进行依赖注入,并对DLL注入服务

文章目录 什么是依赖注入概念常用的依赖注入实现什么是动态加载定义示例对动态加载的DLL进行依赖注入什么是依赖注入 概念 依赖注入(Dependency Injection,简称 DI)是一种软件设计模式,用于解耦软件组件之间的依赖关系。在 C# 开发中,它主要解决的是类与类之间的强耦合问题…...

HDMI接口

HDMI接口 前言各版本区别概述(Overview)接口接口类型Type A/E 引脚定义Type B 引脚定义Type C 引脚定义Type D 引脚定义 传输流程概述Control Period前导码字符边界同步Control Period 编/解码 Data Island PeriodLeading/Trailing Guard BandTERC4 编/解…...

A/B 测试:玩转假设检验、t 检验与卡方检验

一、背景:当“审判”成为科学 1.1 虚拟场景——法庭审判 想象这样一个场景:有一天,你在王国里担任“首席审判官”。你面前站着一位嫌疑人,有人指控他说“偷了国王珍贵的金冠”。但究竟是他干的,还是他是被冤枉的&…...

第143场双周赛:最小可整除数位乘积 Ⅰ、执行操作后元素的最高频率 Ⅰ、执行操作后元素的最高频率 Ⅱ、最小可整除数位乘积 Ⅱ

Q1、最小可整除数位乘积 Ⅰ 1、题目描述 给你两个整数 n 和 t 。请你返回大于等于 n 的 最小 整数,且该整数的 各数位之积 能被 t 整除。 2、解题思路 问题拆解: 题目要求我们找到一个整数,其 数位的积 可以被 t 整除。 数位的积 是指将数…...

【STM32】LED状态翻转函数

1.利用状态标志位控制LED状态翻转 在平常编写LED状态翻转函数时,通常利用状态标志位实现LED状态的翻转。如下所示: unsigned char led_turn_flag; //LED状态标志位,1-点亮,0-熄灭/***************************************函…...

uniapp 小程序 textarea 层级穿透,聚焦光标位置错误怎么办?

前言 在开发微信小程序时,使用 textarea 组件可能会遇到一些棘手的问题。最近我在使用 uniapp 开发微信小程序时,就遇到了两个非常令人头疼的问题: 层级穿透:由于 textarea 是原生组件,任何元素都无法遮盖住它。当其…...

汽车 SOA 架构下的信息安全新问题及对策漫谈

摘要:随着汽车行业的快速发展,客户和制造商对车辆功能的新需求促使汽车架构从面向信号向面向服务的架构(SOA)转变。本文详细阐述了汽车 SOA 架构的协议、通信模式,并与传统架构进行对比,深入分析了 SOA 给信…...

Unity-Mirror网络框架-从入门到精通之RigidbodyPhysics示例

文章目录 前言示例一、球体的基础配置二、三个球体的设置差异三、示例意图LatencySimulation前言 在现代游戏开发中,网络功能日益成为提升游戏体验的关键组成部分。本系列文章将为读者提供对Mirror网络框架的深入了解,涵盖从基础到高级的多个主题。Mirror是一个用于Unity的开…...

小程序如何引入腾讯位置服务

小程序如何引入腾讯位置服务 1.添加服务 登录 微信公众平台 注意:小程序要企业版的 第三方服务 -> 服务 -> 开发者资源 -> 开通腾讯位置服务 在设置 -> 第三方设置 中可以看到开通的服务,如果没有就在插件管理中添加插件 2.腾讯位置服务…...

H3CNE-12-静态路由(一)

静态路由应用场景: 静态路由是指由管理员手动配置和维护的路由 路由表:路由器用来妆发数据包的一张“地图” 查看命令: dis ip routing-table 直连路由:接口配置好IP地址并UP后自动生成的路由 静态路由配置: ip…...

多线程锁

在并发编程中,锁(Lock)是一种用于控制多个线程对共享资源访问的机制。正确使用锁可以确保数据的一致性和完整性,避免出现竞态条件(Race Condition)、死锁(Deadlock)等问题。Java 提供…...

ZooKeeper 核心知识全解析:架构、角色、节点与应用

1.ZooKeeper 分布式锁怎么实现的 ZooKeeper 是一个高效的分布式协调服务,它提供了简单的原语集来构建更复杂的同步原语和协调数据结构。利用 ZooKeeper 实现分布式锁主要依赖于它的顺序节点(Sequential Node)特性以及临时节点(Ep…...

笔记本电脑 选购 回收 特权模式使用 指南

笔记本电脑 factor 无线网卡:有些笔记本无法检测到特定频段的信息,会导致连不上校园网 sudo iwlist wlp2s0 scan | grep Frequency > net.txt cat net.txt>表示用终端输出覆盖后续文件,>>表示添加到后续文件的末尾 一种更简…...

2023-2024 学年 广东省职业院校技能大赛(高职组)“信息安全管理与评估”赛题一

2023-2024 学年 广东省职业院校技能大赛(高职组“信息安全管理与评估”赛题一) 模块一:网络平台搭建与设备安全防护第一阶段任务书任务 1:网络平台搭建任务 2:网络安全设备配置与防护DCRS:DCFW:DCWS:DCBC:WAF: 模块二:网络安全事件…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具

作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...

大型活动交通拥堵治理的视觉算法应用

大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...

ssc377d修改flash分区大小

1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

高防服务器能够抵御哪些网络攻击呢?

高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程

本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...

【从零学习JVM|第三篇】类的生命周期(高频面试题)

前言: 在Java编程中,类的生命周期是指类从被加载到内存中开始,到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期,让读者对此有深刻印象。 目录 ​…...

TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?

在工业自动化持续演进的今天,通信网络的角色正变得愈发关键。 2025年6月6日,为期三天的华南国际工业博览会在深圳国际会展中心(宝安)圆满落幕。作为国内工业通信领域的技术型企业,光路科技(Fiberroad&…...

Matlab实现任意伪彩色图像可视化显示

Matlab实现任意伪彩色图像可视化显示 1、灰度原始图像2、RGB彩色原始图像 在科研研究中,如何展示好看的实验结果图像非常重要!!! 1、灰度原始图像 灰度图像每个像素点只有一个数值,代表该点的​​亮度(或…...

手动给中文分词和 直接用神经网络RNN做有什么区别

手动分词和基于神经网络(如 RNN)的自动分词在原理、实现方式和效果上有显著差异,以下是核心对比: 1. 实现原理对比 对比维度手动分词(规则 / 词典驱动)神经网络 RNN 分词(数据驱动&#xff09…...

用js实现常见排序算法

以下是几种常见排序算法的 JS实现,包括选择排序、冒泡排序、插入排序、快速排序和归并排序,以及每种算法的特点和复杂度分析 1. 选择排序(Selection Sort) 核心思想:每次从未排序部分选择最小元素,与未排…...