PrimiHub 隐私计算平台简述
Primihub
Primihub是原语科技有限公司研发的开源隐私计算平台。
https://docs.primihub.com/
安全多方计算MPC
联邦学习FL
Hetero XGB算法
- 概念
Hetero XGB是联邦学习任务的常用算法之一。Hetero是指异构数据,Xgb是指XGBoost算法,是一种梯度提升算法,用于解决分类和回归问题。 - 算法流程
- Host端:数据中拥有标签的一方。
- Guest端:数据中没有标签的一放。
- Host端生成公私钥,并将公钥发送给Guest端;
- Host端根据当前预测值和Label计算一阶导数和二阶倒数,并将一阶导数和二阶导数进行半同态加密,发送给Guest端;
- Host端根据己端数据,计算Host_Best_Gain,同时Guest端计算所有可能的Guest_Best_Gain,并将Guest_Best_Gain加密后发送给Host端;
- Host端将从Guest端获取的加密Guest_Best_Gain进行解密,得到解密后的Guest_Best_Gain;
- 在Host端比较Host_Best_Gain与Guest_Best_Gain的大小,确定XGB树的最优分裂点;
- 重复步骤3、4、5,直到模型收敛或达到迭代最大次数,模型训练完成。
- 算法核心
XGB树节点的分裂。树节点的分裂是指在构建决策树的过程中,确定如何将节点划分为两个子节点的过程。每个节点都有一个划分规则,该规则基于选择一个特征和一个阈值,将节点中的样本分配到左子节点或右子节点。 - 并行逻辑
XGBboost的并行并不是在tree粒度上的并行,因为迭代过程需要一次完成后才能进行下一次。XGBboost的并行粒度是在特征粒度上,决策树需要对特征的值进行排序,计算特征增益,这个过程可以使用多线程并行处理。当然,上述的解密加密流程中的一些操作也可以并行处理。
匿踪查询PIR
隐私求交PSI
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Writer-X!