机器学习-归一化

news2025/1/16 21:04:02

文章目录

  • 一. 归一化
  • 二. 归一化的常见方法
    • 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. 避免数值计算问题

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

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

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

相关文章

STC的51单片机LED点灯基于KEIL

前言: 该文源于回答一个朋友的问题,代码为该朋友上传,略作修改,在此说明问题以及解决问题的思路,以减少新手错误。 电路图: 该位朋友未上传电路图,说明如下: stc8g1k08a-sop8控制…

手撕Transformer -- Day6 -- DecoderBlock

手撕Transformer – Day6 – DecoderBlock 目录 手撕Transformer -- Day6 -- DecoderBlockTransformer 网络结构图DecoderBlock 代码Part1 库函数Part2 实现一个解码器Block,作为一个类Part3 测试 参考 Transformer 网络结构图 Transformer 网络结构 DecoderBlock 代…

【功能测试总结】

功能测试 1. 功能测试用例1.1 设计用例容易出现的问题 2. 如何写用例2.1 什么是好的用例2.2 测试用例设计常见方法 3. 用例分级 1. 功能测试用例 1.1 设计用例容易出现的问题 基础功能点用例覆盖不全/描述不清 描述不清 什么是正常内容,仅看用例能否知道该输入什么…

Mac玩Steam游戏秘籍!

Mac玩Steam游戏秘籍! 大家好!最近有不少朋友在用MacBook玩Steam游戏时遇到不支持mac的问题。别担心,我来教你如何用第三方工具Crossover来畅玩这些不支持的游戏,简单又实用! 第一步:下载Crossover 首先&…

基于Springboot + vue实现的旅游网站

🥂(❁◡❁)您的点赞👍➕评论📝➕收藏⭐是作者创作的最大动力🤞 💖📕🎉🔥 支持我:点赞👍收藏⭐️留言📝欢迎留言讨论 🔥🔥&…

题解 CodeForces 430B Balls Game 栈 C/C++

题目传送门: Problem - B - Codeforceshttps://mirror.codeforces.com/contest/430/problem/B翻译: Iahub正在为国际信息学奥林匹克竞赛(IOI)做准备。有什么比玩一个类似祖玛的游戏更好的训练方法呢? 一排中有n个球…

Vue3播放视频报ReferenceError: SharedArrayBuffer is not defined

解决办法 前端本地测试vue.config.js server: {headers: {"Cross-Origin-Opener-Policy": "same-origin","Cross-Origin-Embedder-Policy": "require-corp",}, }, 后端vue.js生产环境 跨域隔离 是一种现代Web安全策略,…

Android BottomNavigationView不加icon使text垂直居中,完美解决。

这个问题网上千篇一律的设置iconsize为0,labale固定什么的,都没有效果。我的这个基本上所有人用都会有效果。 问题解决之前的效果:垂直方向,文本不居中,看着很难受 问题解决之后:舒服多了 其实很简单&…

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

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

基于32QAM的载波同步和定时同步性能仿真,包括Costas环的gardner环

目录 1.算法仿真效果 2.算法涉及理论知识概要 3.MATLAB核心程序 4.完整算法代码文件获得 1.算法仿真效果 matlab2022a仿真结果如下(完整代码运行后无水印): 仿真操作步骤可参考程序配套的操作视频。 2.算法涉及理论知识概要 载波同步是…

设计模式-工厂模式/抽象工厂模式

工厂模式 定义 定义一个创建对象的接口,让子类决定实列化哪一个类,工厂模式使一个类的实例化延迟到其子类; 工厂方法模式是简单工厂模式的延伸。在工厂方法模式中,核心工厂类不在负责产品的创建,而是将具体的创建工作…

【机器学习】零售行业的智慧升级:机器学习驱动的精准营销与库存管理

我的个人主页 我的领域:人工智能篇,希望能帮助到大家!!!👍点赞 收藏❤ 在当今数字化浪潮汹涌澎湃的时代,零售行业正站在转型升级的十字路口。市场竞争的白热化使得企业必须另辟蹊径&#xff0…

day_2_排序算法和树

文章目录 排序算法和树排序算法算法稳定性排序算法☆ 冒泡排序冒泡思路冒泡步骤代码实现效率优化 ☆ 选择排序排序思路排序步骤代码实现 ... 树01-树的基本概念02-树的相关术语03-二叉树的种类04-二叉树的存储05-树的应用场景_数据库索引06-二叉树的概念和性质07-广度优先遍历0…

蓝桥杯刷题第二天——背包问题

题目描述 有N件物品和一个容量是V的背包。每件物品只能使用一次。第i件物品的体积是Vi价值是Wi。 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。 输出最大价值。 输入格式 第一行两个整数,N,V&am…

Linux x86_64 程序动态链接之GOT 和 PLT

文章目录 前言一、动态链接二、位置无关代码三、GOT 和 PLT3.1 GOT3.2 PLT3.3 延时绑定3.4 示例 四、demo演示五、延迟绑定技术和代码修补参考资料 前言 这篇文章描述了:Linux x86_64 程序静态链接之重定位,接来本文描述Linux x86_64 程序动态链接之GOT…

学习记录-责任链模式验证参数

学习记录-责任链模式验证参数 1.什么是责任链模式 责任链模式(Chain of Responsibility Pattern)是一种行为设计模式,它允许将请求沿着一个处理链传递,直到链中的某个对象处理它。这样,发送者无需知道哪个对象将处理…

练习:MySQL单表查询与多表查询

一.单表查询 创建worke数据库,在数据库底下创建worker表 mysql> create database worke; Query OK, 1 row affected (0.00 sec)mysql> show databases; -------------------- | Database | -------------------- | information_schema | | mysql …

HarmonyOS NEXT应用开发边学边玩系列:从零实现一影视APP (四、最近上映电影滚动展示及加载更多的实现)

在HarmonyOS NEXT开发环境中,可以使用多种组件和库来构建丰富且交互友好的应用。本文将展示如何使用HarmonyOS NEXT框架和nutpi/axios库,从零开始实现一个简单的影视APP的首页,主要关注最近上映电影的滚动展示及加载更多功能的实现。 开源项目…

卷积神经05-GAN对抗神经网络

卷积神经05-GAN对抗神经网络 使用Python3.9CUDA11.8Pytorch实现一个CNN优化版的对抗神经网络 简单的GAN图片生成 CNN优化后的图片生成 优化模型代码对比 0-核心逻辑脉络 1)Anacanda使用CUDAPytorch2)使用本地MNIST进行手写图片训练3)…

客户案例:某家居制造企业跨境电商,解决业务端(亚马逊平台)、易仓ERP与财务端(金蝶ERP)系统间的业务财务数据对账互通

一、系统定义 1、系统定位: 数据中台系统是一种战略选择和组织形式,通过有型的产品支撑和实施方法论,解决企业面临的数据孤岛、数据维护混乱、数据价值利用低的问题,依据企业特有的业务和架构,构建一套从数据汇聚、开…