热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Fate1.6支持的机器学习算法

联邦机器学习Federatedml模块包括许多常见机器学习算法联邦化实现。所有模块均采用去耦的模块化方法开发,以增强模块的可扩展性。具体来说,我们提供

联邦机器学习

Federatedml模块包括许多常见机器学习算法联邦化实现。所有模块均采用去耦的模块化方法开发,以增强模块的可扩展性。具体来说,我们提供:


  1. 联邦统计: 包括隐私交集计算,并集计算,皮尔逊系数, PSI等
  2. 联邦特征工程:包括联邦采样,联邦特征分箱,联邦特征选择等。
  3. 联邦机器学习算法:包括横向和纵向的联邦LR, GBDT, DNN,迁移学习等
  4. 模型评估:提供对二分类,多分类,回归评估,聚类评估,联邦和单边对比评估
  5. 安全协议:提供了多种安全协议,以进行更安全的多方交互计算。

联邦学习结构


图1

算法清单


算法模块名描述数据输入数据输出模型输入模型输出
ReaderReader当输入数据的存储引擎当前计算引擎不支持时,会自动转存到FATE集群适配计算引擎的组件输出存储引擎;当输入数据的存储格式非FATE支持存储格式时,会自动转换格式,并存储到FATE集群的组件输出存储引擎用户原始存储数据转换后原始数据
DataIODataIO该组件将原始数据转换为Instance对象(FATE-v1.7后会逐步弃用,使用DataTransform)。Table,值为原始数据转换后的数据表,值为在 : federatedml/feature/instance.py 中定义的Data Instance的实例DataIO模型
DataTransform_DataTransform该组件将原始数据转换为Instance对象。Table,值为原始数据转换后的数据表,值为在 : federatedml/feature/instance.py 中定义的Data Instance的实例DataTransform模型
IntersectIntersection计算两方的相交数据集,而不会泄漏任何差异数据集的信息。主要用于纵向任务。Table两方Table中相交的部分Intersect模型
Federated SamplingFederatedSample对数据进行联邦采样,使得数据分布在各方之间变得平衡。这一模块同时支持单机和集群版本。Table采样后的数据,同时支持随机采样和分层采样
Feature ScaleFeatureScale特征归一化和标准化。Table,其值为instance转换后的Table变换系数,例如最小值/最大值,平均值/标准差
Hetero Feature BinningHetero Feature Binning使用分箱的输入数据,计算每个列的iv和woe,并根据合并后的信息转换数据。Table,在guest中有标签y,在host中没有标签y转换后的Table每列的iv/woe,分裂点,事件计数,非事件计数等
Homo Feature BinningHomo Feature Binning计算横向场景的等频分箱Table转换后的Table每列的分裂点
OneHot EncoderOneHotEncoder将一列转换为One-Hot格式。Table, 值为Instance转换了带有新列名的Table原始列名和特征值到新列名的映射
Hetero Feature SelectionHeteroFeatureSelection提供多种类型的filter。每个filter都可以根据用户配置选择列。Table, 值为Instance转换的Table具有新的header和已过滤的数据实例模型输入如果使用iv filters,则需要hetero_binning模型每列是否留下
UnionUnion将多个数据表合并成一个。Tables多个Tables合并后的Table
Hetero-LRHeteroLR通过多方构建纵向逻辑回归模块。Table, 值为InstanceLogistic回归模型,由模型本身和模型参数组成
Local BaselineLocalBaseline使用本地数据运行sklearn Logistic回归模型。Table, 值为Instance
Hetero-LinRHeteroLinR通过多方建立纵向线性回归模块。Table, 值为Instance线性回归模型,由模型本身和模型参数组成
Hetero-PoissonHeteroPoisson通过多方构建纵向泊松回归模块。Table, 值为Instance泊松回归模型,由模型本身和模型参数组成
Homo-LRHomoLR通过多方构建横向逻辑回归模块。Table, 值为InstanceLogistic回归模型,由模型本身和模型参数组成
Homo-NNHomoNN通过多方构建横向神经网络模块。Table, 值为Instance神经网络模型,由模型本身和模型参数组成
Hetero Secure BoostingHeteroSecureBoost通过多方构建纵向Secure Boost模块。Table,值为InstanceSecureBoost模型,由模型本身和模型参数组成
Hetero Fast Secure BoostingHeteroFastSecureBoost使用分层/混合模式快速构建树模型Table,值为InstanceTable,值为InstanceFastSecureBoost模型
Hetero Secure Boost Feature TransformerSBT Feature Transformer利用SBT叶子为特征编码Table,值为InstanceTable,值为InstanceSBT Transformer模型
EvaluationEvaluation为用户输出模型评估指标。Table(s), 值为Instance
Hetero PearsonHeteroPearson计算来自不同方的特征的Pearson相关系数。Table, 值为Instance
Hetero-NNHeteroNN构建纵向神经网络模块。Table, 值为Instance纵向神经网络模型
Homo Secure BoostingHomoSecureBoost通过多方构建横向Secure Boost模块Table, 值为InstanceSecureBoost模型,由模型本身和模型参数组成
Homo OneHot Encoder横向 OneHotEncoder将一列转换为One-Hot格式。Table, 值为Instance转换了带有新列名的Table原始列名和特征值到新列名的映射
Data Split数据切分将输入数据集按用户自定义比例或样本量切分为3份子数据集Table, 值为Instance3 Tables
Column Expand对原始Table添加任意列数的任意数值Table, 值为原始数据转换后带有新数列与列名的TableColumn Expand模型
Secure Information Retrieval通过不经意传输协议安全取回所需数值Table, 值为InstanceTable, 值为取回数值
Hetero Federated Transfer Learning纵向联邦迁移学习在两个party间构建联邦迁移模型Table, 值为InstanceFTL神经网络模型参数等
PSIPSI模块计算两个表特征间的PSI值Table, 值为InstancePSI 结果
Hetero KMeans纵向 K均值算法构建K均值模块Table, 值为InstanceTable, 值为Instance; Arbiter方输出2个TableHetero KMeans模型
Data Statistics数据统计这个组件会对数据做一些统计工作,包括统计均值,最大最小值,中位数等Table, 值为InstanceTableStatistic Result
Scorecard评分卡转换二分类预测分数至信用分Table, 值为二分类预测结果Table, 值为转化后信用分结果
Sample Weight样本加权根据用户设置对输入数据加权Table, 值为InstanceTable, 值为加权后Instance
Feldman Verifiable Sum费尔德曼秘密分享求和不暴露隐私数据的前提下进行多方隐私数据求和Table, 值为加数或被加数Table, 值为求和结果

安全协议


  • Encrypt
    • Paillier encryption
    • Affine Homomorphic Encryption
    • IterativeAffine Homomorphic Encryption
    • RSA encryption
    • Fake encryption
  • Encode
  • Diffne Hellman Key Exchange
  • SecretShare MPC Protocol(SPDZ)
  • Oblivious Transfer
  • Feldman Verifiable Secret Sharing

推荐阅读
  • 本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了作者在开发过程中遇到的问题,即播放框架内容安全策略设置不起作用的错误。作者通过使用编译时依赖注入的方式解决了这个问题,并分享了解决方案。文章详细描述了问题的出现情况、错误输出内容以及解决方案的具体步骤。如果你也遇到了类似的问题,本文可能对你有一定的参考价值。 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • 开发笔记:计网局域网:NAT 是如何工作的?
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了计网-局域网:NAT是如何工作的?相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • 如何在php中将mysql查询结果赋值给变量
    本文介绍了在php中将mysql查询结果赋值给变量的方法,包括从mysql表中查询count(学号)并赋值给一个变量,以及如何将sql中查询单条结果赋值给php页面的一个变量。同时还讨论了php调用mysql查询结果到变量的方法,并提供了示例代码。 ... [详细]
  • Oracle seg,V$TEMPSEG_USAGE与Oracle排序的关系及使用方法
    本文介绍了Oracle seg,V$TEMPSEG_USAGE与Oracle排序之间的关系,V$TEMPSEG_USAGE是V_$SORT_USAGE的同义词,通过查询dba_objects和dba_synonyms视图可以了解到它们的详细信息。同时,还探讨了V$TEMPSEG_USAGE的使用方法。 ... [详细]
  • 如何在php文件中添加图片?
    本文详细解答了如何在php文件中添加图片的问题,包括插入图片的代码、使用PHPword在载入模板中插入图片的方法,以及使用gd库生成不同类型的图像文件的示例。同时还介绍了如何生成一个正方形文件的步骤。希望对大家有所帮助。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 本文介绍了在Vue项目中如何结合Element UI解决连续上传多张图片及图片编辑的问题。作者强调了在编码前要明确需求和所需要的结果,并详细描述了自己的代码实现过程。 ... [详细]
  • 本文详细介绍了MySQL表分区的创建、增加和删除方法,包括查看分区数据量和全库数据量的方法。欢迎大家阅读并给予点评。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
author-avatar
百合想你511
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有