首页 > 其他分享 >联邦学习基础

联邦学习基础

时间:2023-05-02 13:11:07浏览次数:46  
标签:纵向 基础 横向 学习 联邦 对齐 数据

作者:程勇
链接:https://zhuanlan.zhihu.com/p/87858287
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

联邦学习(Federated Learning, a.k.a. Federated Machine Learning)可以分为三类:横向联邦学习(Horizontal Federated Learning),纵向联邦学习(Vertical Federated Learning),联邦迁移学习(Federated Transfer Learning)[1, 2]。

有不少读者说,横向联邦学习和纵向联邦学习容易混淆,不太清楚为什么这么分类。我在这里再解释一下横向联邦学习和纵向联邦学习。

横向联邦学习

数据矩阵(也可以是表格,例如,Excel表格)的横向的一行表示一条训练样本,纵向的一列表示一个数据特征(或者标签)。通常用表格查看数据(例如,病例数据),用一行表示一条训练样本比较好,因为可能有很多条数据。

横向联邦学习,适用于参与者的数据特征重叠较多,而样本ID重叠较少的情况,例如,两家不同地区的银行的客户数据 [1, 2]。“横向”二字来源于数据的“横向划分(horizontal partitioning, a.k.a. sharding)”。如图1所示例,联合多个参与者的具有相同特征的多行样本进行联邦学习,即各个参与者的训练数据是横向划分的,称为横向联邦学习。图2给出了一个横向划分表格的示例。横向联邦使训练样本的总数量增加

横向联邦学习也称为特征对齐的联邦学习(Feature-Aligned Federated Learning),即横向联邦学习的参与者的数据特征是对齐的,如图3所示例。“特征对齐的联邦学习”这个名字有点长,还是用“横向联邦学习”比较好。

图1 横向联邦学习示例,横向联邦使训练样本量增大 图2 横向(按行)划分数据示例 图3 横向联邦学习,也称为特征对齐的联邦学习,横向联邦使训练样本量增大

 

 

纵向联邦学习

纵向联邦学习,适用于参与者训练样本ID重叠较多,而数据特征重叠较少的情况,例如,同一地区的银行和电商的共同的客户数据 [1, 2]。“纵向”二字来源于数据的“纵向划分(vertical partitioning)”。如图4所示例,联合多个参与者的共同样本的不同数据特征进行联邦学习,即各个参与者的训练数据是纵向划分的,称为纵向联邦学习。图5给出了一个纵向划分表格的示例。纵向联邦学习需要先做样本对齐,即找出参与者拥有的共同的样本,也就叫“数据库撞库(entity resolution, a.k.a. entity alignment)”。只有联合多个参与者的共同样本的不同特征进行纵向联邦学习,才有意义。纵向联邦使训练样本的特征维度增多

纵向联邦学习也称为样本对齐的联邦学习(Sample-Aligned Federated Learning),即纵向联邦学习的参与者的训练样本是对齐的,如图6所示例。“样本对齐的联邦学习”这个名字有点长,还是用“纵向联邦学习”比较好。

图4 纵向联邦学习示例,纵向联邦使训练数据特征维度增加 图5 纵向(按列)划分数据示例 图6 纵向联邦学习,也称为样本对齐的联邦学习,纵向联邦使训练数据特征维度增加

小节

横向联邦学习的名称来源于训练数据的“横向划分”,也就是数据矩阵或者表格的按行(横向)划分。不同行的数据有相同的数据特征,即数据特征是对齐的。

纵向联邦学习的名称来源于训练数据的“纵向划分”,也就是数据矩阵或者表格的按列(纵向)划分。不同列的数据有相同的样本ID,即训练样本是对齐的。

参考:

https://www.zhihu.com/search?type=content&q=%E7%BA%B5%E5%90%91%E8%81%94%E9%82%A6%E5%AD%A6%E4%B9%A0%20%E6%A8%AA%E5%90%91%E8%81%94%E9%82%A6%E5%AD%A6%E4%B9%A0

标签:纵向,基础,横向,学习,联邦,对齐,数据
From: https://www.cnblogs.com/cat-study987/p/17367575.html

相关文章

  • vue学习 第五天 css基础 --- ps操作 / 圆角边框(border-radius) / 阴影(盒子/文字)b
      ps基本操作1、ps的基本操作2、ps快捷操作的位置3、样式书写习惯 4、样式设置的小细节(注意)1、图片设置width:100%这样图片的宽度就不会超过父容器的宽度。2、块元素没有设置宽度,给margin左右是没有效果的。......
  • Redis 是在CentOS 5.7上学习入门文章起步
    Redis是在CentOS5.7上学习入门文章起步  Rdis和JQuery一样是纯粹为应用而产生的,这里记录:1.Redis简介Redis是一个key-value存储系统。和Memcached类似,但是解决了断电后数据完全丢失的情况,而且她支持更多无化的value类型,除了和string外,还支持lists(链表)、sets(集合)和zsets(有......
  • 学习jdbc时遇到的问题
    jar包问题问题描述:java.sql.SQLException:Unabletoloadauthenticationplugin'caching_sha2_password”如果是上述的问题,可能就是jar包的问题我的Mysql是8.0.26的,而我所用的Java包时MySQL5的Java包,这时只要把jar包更改为MySQL8的jar包即可解决问题成功使用......
  • 【pandas基础】--概述
    Pandas是一个开源的Python数据分析库。它提供了快速,灵活和富有表现力的数据结构,旨在使数据清洗和分析变得简单而快速。Pandas是基于NumPy数组构建的,因此它在许多NumPy函数上提供了直接的支持。它还提供了用于对表格数据进行操作的数据结构,例如Series和DataFrame。Pandas提供了......
  • 医学图像的深度学习的完整代码示例:使用Pytorch对MRI脑扫描的图像进行分割
    图像分割是医学图像分析中最重要的任务之一,在许多临床应用中往往是第一步也是最关键的一步。在脑MRI分析中,图像分割通常用于测量和可视化解剖结构,分析大脑变化,描绘病理区域以及手术计划和图像引导干预,分割是大多数形态学分析的先决条件。本文我们将介绍如何使用QuickNAT对人脑的......
  • 图灵奖大佬 Lecun 发表对比学习新作,比 SimCLR 更好用!
    文|Rukawa_Y编|智商掉了一地,Sheryc_王苏比SimCLR更好用的Self-SupervisedLearning,一起来看看吧!Self-SupervisedLearning作为深度学习中的独孤九剑,当融汇贯通灵活应用之后,也能打败声名在外的武当太极剑。比如在NLP领域中,每当遇到文本分类的问题,BERT+funetuning的套路来应......
  • 01 Docker基础
    第一章Docker基础目录第一章Docker基础一、Docker简介1Docker是什么?2为什么使用Docker?3Docker的架构与结构4官方资料5Docker特点5.1优点5.2缺点二、Docker快速入门1Docker历程2官方要求3Docker安装4Docker加速器5Docker其它简介5.1Docker的基本命令格式5.2删除Do......
  • java(1)基础下载安装以及path环境变量配置
    一.java1.java语言跨平台原理(1):这里JVM指的是Java虚拟机,而Java虚拟机根据自己的需求下载不同的版本,有Window版JVM,macOs版JVM,linux版JVM。大概就是在需要运行JAVA应用程序的操作系统上,安装一个与操作系统相对应的java虚拟机(JVM)。2.JRE和JDK(1.)JRE(JavaRuntimeEnvironment)是j......
  • Treap 学习笔记
    一、TreapTreap是一种通过旋转操作维护性质的二叉搜索树。定义详见要维护的东西还是一样,对于每个节点,要维护它的左右儿子,子树大小,还有权值和随机的优先级(这样才能保证树的高度是\(O(\logn)\)级别的)。注意:旋转、分裂、伸展什么的都是手段,维持平衡树的2个性质才是目的。......
  • Quixel Mixer学习笔记:软件入门使用
    本随笔用于记录随笔作者在学习使用纹理和材质制作软件QuixelMixer时学到的知识点,属于入门级别的笔记。本随笔使用的QuixelMixer版本为2022.1.1Beta,内容整理自官方手册。随笔作者还处在学习阶段,在软件的使用和理解还不够透彻,难免在技术上或书写上出现问题,如出现类似的问题欢迎......