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

归一化实现原理

归一化(Normalization)是一种将数据转换到相同尺度的预处理技术,它通常用于让不同特征(或数据项)具有相同的量纲或范围。在联邦学习中,归一化可以用来处理非独立同分布(Non-IID)**数据中的差异,确保不同客户端的训练过程具有可比性,从而有效地提高模型的稳定性和准确性

1. 归一化的基本概念

归一化的目标是将数据缩放到特定的范围内,常见的范围是 [0, 1] 或 [-1, 1]。通过这种方式,可以消除数据中由于量纲差异或尺度差异带来的影响,使得不同客户端的梯度或损失值在同一个尺度上进行比较。

常用的归一化方法有:

  • 最小-最大归一化(Min-Max Normalization):将数据缩放到指定的范围(通常是 [0, 1])。

  • Z-score标准化(Z-score Normalization):通过数据的均值和标准差对数据进行标准化。

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

最小-最大归一化是最常用的归一化方法之一。它将数据按比例缩放到 [0, 1] 之间,公式如下:

其中:

  • X 是原始数据(例如,客户端的损失值或梯度值)。

  • X_{\text{min}}X_{\text{max}} 分别是数据中的最小值和最大值。

  • X_{\text{normalized}}是归一化后的数据。

例子解释

假设5个客户端的损失值如下:

客户端损失值
A0.8
B1.2
C0.9
D0.7
E5.0
  • 最小值X_{\text{min}}) = 0.7

  • 最大值X_{\text{max}}) = 5.0

那么,归一化后的损失值计算如下:

最终的归一化损失值如下:

客户端原始损失值归一化后损失值
A0.80.0233
B1.20.1163
C0.90.0465
D0.70
E5.01

通过归一化方法,所有客户端的损失值都被缩放到了相同的范围内,便于进行比较。

3. Z-score标准化

Z-score标准化是另一种常见的数据归一化方法,它将数据变换为均值为0、标准差为1的分布。公式如下:

其中:

  • X 是原始数据(例如,客户端的损失值或梯度值)。

  • \mu 是数据的均值(所有数据的平均值)。

  • \sigma 是数据的标准差(数据的离散程度)。

例子解释

假设使用上述的损失值(A: 0.8, B: 1.2, C: 0.9, D: 0.7, E: 5.0)。

标准化后的值

最终的标准化结果:

客户端原始损失值标准化后损失值
A0.8-0.556
B1.2-0.313
C0.9-0.494
D0.7-0.612
E5.01.993

通过Z-score标准化后,所有客户端的损失值以均值0、标准差1的方式呈现,避免了数据尺度对分析的影响。

4. 选择哪种归一化方法?

  • 最小-最大归一化:适用于你已知数据的范围,并且希望将所有数据缩放到一个固定范围内。通常用于算法对特定范围敏感的情况,比如在神经网络中,激活函数(如Sigmoid)通常对归一化数据较为敏感。

  • Z-score标准化:适用于数据分布较为复杂,或者你不确定数据的范围时。它不受到极端值的影响,适用于大多数基于距离的算法(如KNN、SVM等)和一些优化算法。


文章转载自:

http://4L6l2Blb.nfmLt.cn
http://HNjqVuK5.nfmLt.cn
http://efL1hTDI.nfmLt.cn
http://lWknc0BK.nfmLt.cn
http://I7OfKZdx.nfmLt.cn
http://opU7JlDo.nfmLt.cn
http://6N8GUCZM.nfmLt.cn
http://JmAGUKLg.nfmLt.cn
http://D2U7Fu2m.nfmLt.cn
http://B4W1XQtw.nfmLt.cn
http://ds8BZB0Z.nfmLt.cn
http://zQHnlbXw.nfmLt.cn
http://eI2ZCtVA.nfmLt.cn
http://CS4vIAUB.nfmLt.cn
http://x1s7691G.nfmLt.cn
http://0slQNy1e.nfmLt.cn
http://GeLiyuQC.nfmLt.cn
http://zQBWljY9.nfmLt.cn
http://MtgzLxxG.nfmLt.cn
http://JGAkbiPh.nfmLt.cn
http://hZyqJ1wC.nfmLt.cn
http://KC5yAp9o.nfmLt.cn
http://bZ2iCX6S.nfmLt.cn
http://KZaiQSZ2.nfmLt.cn
http://YolUFdGw.nfmLt.cn
http://Mky0x79I.nfmLt.cn
http://K2I8lcDr.nfmLt.cn
http://I58h86cb.nfmLt.cn
http://c61oUCot.nfmLt.cn
http://pLtPymjO.nfmLt.cn
http://www.dtcms.com/a/384698.html

相关文章:

  • 云原生安全如何构建
  • 条件生成对抗网络(cGAN)详解与实现
  • Mysql杂志(十六)——缓存池
  • 408学习之c语言(结构体)
  • 使用Qt实现从文件对话框选择并加载点数据
  • qt5连接mysql数据库
  • C++库的相互包含(即循环依赖,Library Circular Dependency)
  • 如何用GitHub Actions为FastAPI项目打造自动化测试流水线?
  • LVS与Keepalived详解(二)LVS负载均衡实现实操
  • 闪电科创-无人机轨迹预测SCI/EI会议辅导
  • 自动驾驶中的传感器技术48——Radar(9)
  • HDLBits 解题更新
  • Python 自动化测试开发教程:Selenium 从入门到实战(1)
  • 树莓派4B实现网络电视详细指南
  • Docker:在Windows上安装和使用,加速容器应用开发
  • Android中怎么使用C动态库
  • Redis 安装实战:在 CentOS 中通过源码包安装
  • 抛砖引玉:神经网络的激活函数在生活中也有
  • Java生成与解析大疆无人机KMZ航线文件
  • Mysql 主从复制、读写分离
  • Linux网络设备驱动结构
  • 第四阶段C#通讯开发-3:串口通讯之Modbus协议
  • 使用生成式 AI 和 Amazon Bedrock Data Automation 处理大规模智能文档
  • 可可图片编辑 HarmonyOS(7)图片绘画
  • django登录注册案例(上)
  • 查看iOS设备文件管理 访问iPhone用户文件、App沙盒目录 系统日志与缓存
  • 基于Echarts+HTML5可视化数据大屏展示-白茶大数据溯源平台V2
  • android 框架—网络访问Okhttp
  • CUDA 中Thrust exclusive_scan使用详解
  • Quat 四元数库使用教程:应用场景概述