【技术实现步骤摘要】
一种基于LightGBM算法的纵向联邦建模方法
[0001]本专利技术涉及隐私保护的机器学习相关领域,具体为一种基于LightGBM算法的纵向联邦建模方法。
技术介绍
[0002]机器学习(Machine Learning,简称ML)是指用某些算法指导计算机利用已知数据自主构建合理的模型,并利用此模型对新的情境给出判断的过程,在网络搜索、在线广告、商品推荐、机械故障预测、保险定价、金融风险管理等各种应用中发挥着非常重要的作用。传统上,机器学习模型是在一个集中的数据语料库上训练的,这些数据可能是由单个或多个数据提供者收集的。虽然已经开发了并行分布式算法来加速训练过程,但是训练数据本身仍然集中收集和存储在一个数据中心。
[0003]2018年5月,欧盟通过General Data Protection Regulation(GDPR)法案把对隐私保护的要求提到了一个新的高度。除此以外,还有很多关于隐私数据的法律法规开始公布。因此,以前平台机构以任意方式进行数据共享受到挑战,也给机器学习的数据收集带来了严重的隐私问题。因为用于机器学习训练的数据通常是敏感的,可能来自具有不同隐私要求的多个所有者。这一严重的隐私问题限制了数据的实际数量。
[0004]有很多学者提出利用安全多方计算技术直接对数据加密进行训练,显然这样会带来相当大的计算开销。为了应对这一挑战,谷歌引入了联邦学习(FL)系统。一种全面安全的联邦学习框架,包括横向联邦学习(HFL)、纵向联邦学习(VFL)和联邦转移学习(FTL)。
[0005 ...
【技术保护点】
【技术特征摘要】
1.一种基于LightGBM算法的纵向联邦建模方法,包括纵向联邦建模准备工作、发起方P1数据准备工作、合作方P0数据准备工作、模型训练工作和模型评估工作,其特征在于:所述纵向联邦建模准备工作的具体步骤为:步骤1
‑
1、发起方和合作方分别对自己的数据集进行数据预处理;步骤1
‑
2、发起方P1和合作方P0采用ECC加密算法对两方数据集的id求交集,求交后发起方P1的数据集为data[id][Xa,Y],合作方P0的数据集为data[id][Xb];步骤1
‑
3、发起方P1将数据集data[id][Xa,Y]拆分为训练数据和测试数据,训练数据对应的索引为id_train,测试数据对应的索引为id_test,P1方的训练数据集为data[id_train][Xa,Y],测试数据集为data[id_test][Xa,Y];步骤1
‑
4、发起方将训练数据索引和测试数据索引发送给合作方;所述发起方P1数据准备工作的具体步骤为:步骤2
‑
1、P1方准备数据集,初始化模型的各项训练参数;步骤2
‑
2、P1方将对齐后的训练数据集和测试数据集进行特征编码,将类别的特征进行labelencoder编码;步骤2
‑
3、通知P0准备参数;步骤2
‑
4、P1利用同态加密算法生成公钥Pk和私钥Sk;所述合作方P0数据准备工作的具体步骤为:步骤3
‑
1、P0接收P1方发送过来的训练数据集索引和测试数据集索引,获取训练数据集data[id_train][Xb]和测试数据集data[id_test][Xb];步骤3
‑
2、P0接收P1方发送的初始化模型的各项训练参数;步骤3
‑
3、P0方将对齐后的数据集进行labelencoder特征编码,将类别的特征进行编码;所述模型训练工作的具体步骤为:步骤4
‑
1、p1方互斥特征绑定:互斥特征绑定目的是将互斥的特征进行合并,从而达到降维,使计算直方图时间复杂度降低,互斥特征绑定过程是判断P1方数据集是否只有标签列Y,如果只有标签列,不需要互斥特征绑定,否则,P1方的训练数据集data[id_train][Xa]进行特征绑定,获取新的数据集EFB_Xa;步骤4
‑
2、p0方互斥特征绑定,获取新的数据集EFB_Xb;步骤4
‑
3、P1单边梯度采样:单边梯度采样的策略是保留大梯度的样本,对小梯度的样本随机采样,采用这样的策略处理后获取样本索引sample_data_index和样本权重sample_data_weight,p1方根据样本索引sample_data_index更新数据集EFB_Xa,P1将样本索引sample_data_index和样本权重sample_data_weight发送给P0方;步骤4
‑
4、P1方计算梯度:计算当前估计器的梯度,根据实际标签值和初始化的预测值计算损失,使用最小二乘法计算一阶梯度作为梯度值,使用同态加密,对梯度进行加密,并将加密的梯度值发送给P0;步骤4
‑
5、P1方开始建树:初始化树模型,输入为经过互斥特征绑定及单边梯度采样后的数据集guest_train_x,当前树模型的梯度current_gradient,树的最大深度max_depth,最小分裂样本数min_sample_split,样本权重sample_weight,当前树是第几颗树;然后对树模型进行分裂:从构建树的根节点开始,根节点所在模型的深度为0,获取根节点参数模
型训练的样本guest_train_x,获取根节点参与训练样本的梯度current_gradient,获取根节点参与训练的样本权重sample_weight,当前树需要拟合的值residual=
‑
gradient,设置初始树的分裂信号finish=True;步骤4
‑
6、P0方开始建树:接收P1方发送的采样结果,根据p1方的样本索引sample_data_index更新数据集...
【专利技术属性】
技术研发人员:孙银银,祝文伟,
申请(专利权)人:神谱科技上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。