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

人工智能学习--归一化(Normalization)

概念

归一化是数据预处理中将不同量纲的特征数据缩放至同一尺度的过程,使特征值落在同一范围(如[0, 1]或[-1, 1])。归一化有助于消除量纲影响,提升算法的收敛速度和模型稳定性,尤其在梯度下降和距离计算等算法中尤为重要。

主要归一化方式

1. 最小-最大缩放(Min-Max Scaling)

  • 原理:将数据缩放到指定范围内(如[0, 1]),公式为:                                            

       优点

  • 缩放后的数据在固定范围内,适合需要归一化输入的模型(如神经网络)。
  • 易于实现,适用于对数值范围有要求的模型。

       缺点

  • 对异常值敏感,异常值会拉大范围,影响归一化效果。
  • 适用场景:数值差距较大、没有明显异常值的场景,特别适用于神经网络。 

2. Z-score 标准化(Standardization)

  • 原理:将数据按均值为0、方差为1进行标准化,公式为:
  • Xstd=X−μσX_{\text{std}} = \frac{X - \mu}{\sigma}Xstd​=σX−μ​ 其中,μ\muμ 是均值,σ\sigmaσ 是标准差。
  • 优点
    • 对异常值相对不敏感,因为归一化过程受数据分布中心影响。
    • 适用于数据有正态分布的情况。
  • 缺点
    • 对于数值分布非正态、非对称的特征效果不佳。
  • 适用场景:广泛用于线性模型、逻辑回归、SVM等需正态分布数据的场景。

3. 小数定标归一化(Decimal Scaling Normalization)

  • 原理:将数据除以10的幂次,使所有数据缩放到[-1, 1],公式为: Xnorm=X10jX_{\text{norm}} = \frac{X}{10^j}Xnorm​=10jX​ 其中,jjj 是使 ∣X∣<1|X| < 1∣X∣<1 的最小整数。
  • 优点:简单直观,将数据调整到固定的[-1, 1]范围。
  • 缺点:受数据分布形状限制,归一化效果较为有限。
  • 适用场景:适合数值范围较小且无显著离群点的数据集。

4. 向量归一化(Vector Normalization)

  • 原理:将样本值除以向量的L2范数,使每个样本的特征向量单位化: Xnorm=X∥X∥X_{\text{norm}} = \frac{X}{\|X\|}Xnorm​=∥X∥X​
  • 优点:适用于计算余弦相似度的模型,有利于将数据缩放到单位向量。
  • 缺点:若特征间存在强相关性,则无法保证良好表现。
  • 适用场景:文本挖掘、图像处理、聚类等任务中余弦距离计算的场景。

不同方法适用的场景总结

  • Min-Max Scaling:适合无异常值的数据集,尤其在神经网络等对数值范围敏感的模型中。
  • Z-score Standardization:适合正态分布的数据和线性模型、SVM等模型。
  • Decimal Scaling Normalization:适用于数值范围较小且分布均匀的数据集。
  • Vector Normalization:适合计算相似度、文本和图像处理中对特征长度敏感的场景。

4o


http://www.kler.cn/a/381115.html

相关文章:

  • 从0开始搭建一个生产级SpringBoot2.0.X项目(八)SpringBoot 使用Redis
  • 如何学习Java“高并发”,并在项目中实际应用?
  • unity3d————叉乘的知识点
  • 文件系统上云的挑战
  • React第十三章(useTransition)
  • 如何对LabVIEW软件进行性能评估?
  • 编译工具与文件学习(一)-YAML、repos、vcstoolcolcon
  • 【大模型LLM面试合集】大语言模型架构_chatglm系列模型
  • STM32移植RT-Thread---时钟管理
  • 【MyBatis源码】CacheKey缓存键的原理分析
  • 【AI照片数字人整合包及教程】EchoMimic:开启照片数字人的新纪元
  • 【启明智显技术分享】开发Model系列遇到像素时钟Pclk与接口时钟SCL相关问题
  • macOS 开发环境配置与应用开发指南
  • 使用 OpenCV 读取和显示图像与视频
  • Flutter鸿蒙next中封装一个输入框组件
  • 数据结构--二叉树_链式(下)
  • Node.js:Express 中间件 CORS 跨域资源共享
  • ETLCloud怎么样?深度解析其在数据管理中的表现
  • 小菜家教平台(二):基于SpringBoot+Vue打造一站式学习管理系统
  • 数据结构与算法——Java实现 54.力扣1008题——前序遍历构造二叉搜索树
  • C语言中如何实现动态内存分配
  • Unity网络开发基础(part5.网络协议)
  • 软硬链接与动静态库
  • [N-155]基于springboot,vue宿舍管理系统
  • Java项目实战II基于Spring Boot的交通管理在线服务系统设计与实现(开发文档+数据库+源码)
  • VSCode Markdown pdf导出修改字体、行距等