预处理和隐私求交
预处理
- DataFrame:联邦表格数据的封装,DataFrame由多个参与方的数据块构成,支持数据水平、垂直切分和混合切分,分别对应3组API:HDataFrame、VDataFrame、MixDataFrame。
- FedNdarray:联邦ndarray的封装,同样由多个参与方的数据块构成,支持水平和垂直切分,对应统一的API:FedNdarray
隐语提供多种预处理工具来处理这些数据,可以直接使用 DataFrame API 处理数据,或者使用sf.preprocessing 包内的各类预处理组件处理
隐私求交
隐私求交(Private Set Intersection)是一种使用密码学方法,获取两份数据内容的交集的算法。PSI过程中不泄露任务交集以外的信息。
在垂直拆分场景中,隐私求交常用于第一步的数据对齐,然后可以进一步做数据分析或机器学习建模。
- 垂直拆分指的是将数据按不同的特性分成多个部分,每个部分包含不同种类的信息。例如,医院和保险公司分别拥有同一批患者的不同数据,医院有患者的健康记录,保险公司有患者的保险信息。这种情况下,数据被垂直拆分在不同的机构之间。
- 隐私求交允许不同机构在不暴露彼此原始数据的情况下,找出他们共同拥有的数据部分。比如,在医院和保险公司的例子中,隐私求交可以帮助他们找出共同的患者,但不会泄露其他患者的信息。
- 数据对齐是在隐私求交的基础上,将不同机构的数据匹配起来。假设医院和保险公司找出了共同的患者,然后他们需要对齐这些患者的数据(患者A的健康记录(如病历、检查结果等)、患者A的保险记录(如保单信息、理赔记录等)),使得医院的健康记录和保险公司的保险信息能够关联起来,形成完整的患者档案。
- 数据分析是对收集到的数据进行处理和解释,以提取有用的信息和洞见。例如,医院和保险公司对齐数据后,可以分析这些患者的健康趋势、保险赔付情况等,帮助决策和优化服务。
- 机器学习建模是指使用机器学习算法从数据中学习模式,建立预测模型。例如,医院和保险公司可以利用对齐后的数据训练机器学习模型,预测某些患者未来的健康状况或保险理赔的概率。
在隐语中 PSI 有两种使用方式,分别如下。
决策树模型和线性回归模型
隐语支持多种决策树算法(XGB),同时支持回归和二分类训练,可根据使用场景和安全性需求选用。
决策树模型
XGB是“eXtreme Gradient Boosting”的简称,它是一种优化过的决策树算法,主要用于提升决策树的性能和准确率。XGBoost通过构建多个决策树并组合它们的预测结果,从而形成更强大的预测模型。它通过“梯度提升”的方法,即每次添加新的树时,都会专注于之前模型预测错误的地方,这样不断迭代改进,最终形成一个强大的集成模型。
线性回归模型
神经网络算法
水平联邦学习
隐语提供的水平联邦学习 FLModel是一个通用的范式,而不是一个具体的模型或算法,您可以自由的定义模型和训练参数。
目前 FLModel 支持 TensorFlow 和 PyTorch 两种后端,您可以使用 tf 或 torch 原生的方式编写模型代码,然后使用FLModel 训练。
垂直拆分模型
拆分后的模型,只是模型的一部分。各方合在一起才是完整的模型