一种基于LightGBM算法的纵向联邦建模方法技术

技术编号:30650932 阅读:15 留言:0更新日期:2021-11-04 01:10
本发明专利技术涉及隐私保护的机器学习相关领域,具体为一种基于LightGBM算法的纵向联邦建模方法,包括纵向联邦建模准备工作、发起方P1数据准备工作、合作方P0数据准备工作、模型训练工作和模型评估工作,本发明专利技术提出了一种新的基于树模型的纵向联邦学习体系结构,允许双方在保护数据隐私的前提下,建设联合训练模型,实现双方在没有可信协调器的帮助下训练联合模型,从而保护了梯度值,增加协议的安全性;本方法架构易扩展,除了两方模型训练外,本方法架构支持多方联合建模;本方法实现的基于lightGBM算法的纵向联邦学习,综合考虑了安全、速度、准确,支持类别特征和连续特征,在相同的数据集和特征下可以处理大量的训练数据,适用于工程。适用于工程。适用于工程。

【技术实现步骤摘要】
一种基于LightGBM算法的纵向联邦建模方法


[0001]本专利技术涉及隐私保护的机器学习相关领域,具体为一种基于LightGBM算法的纵向联邦建模方法。

技术介绍

[0002]机器学习(Machine Learning,简称ML)是指用某些算法指导计算机利用已知数据自主构建合理的模型,并利用此模型对新的情境给出判断的过程,在网络搜索、在线广告、商品推荐、机械故障预测、保险定价、金融风险管理等各种应用中发挥着非常重要的作用。传统上,机器学习模型是在一个集中的数据语料库上训练的,这些数据可能是由单个或多个数据提供者收集的。虽然已经开发了并行分布式算法来加速训练过程,但是训练数据本身仍然集中收集和存储在一个数据中心。
[0003]2018年5月,欧盟通过General Data Protection Regulation(GDPR)法案把对隐私保护的要求提到了一个新的高度。除此以外,还有很多关于隐私数据的法律法规开始公布。因此,以前平台机构以任意方式进行数据共享受到挑战,也给机器学习的数据收集带来了严重的隐私问题。因为用于机器学习训练的数据通常是敏感的,可能来自具有不同隐私要求的多个所有者。这一严重的隐私问题限制了数据的实际数量。
[0004]有很多学者提出利用安全多方计算技术直接对数据加密进行训练,显然这样会带来相当大的计算开销。为了应对这一挑战,谷歌引入了联邦学习(FL)系统。一种全面安全的联邦学习框架,包括横向联邦学习(HFL)、纵向联邦学习(VFL)和联邦转移学习(FTL)。
[0005]联邦学习的定义是各方数据都保留在本地,不泄露隐私也不违反法规;多个参与者联合数据建立虚拟的共有模型,并且共同获益的体系。具体来说吗,可以做到各自数据不出本地,然后通过加密机制下的参数交换方式,在不违反数据隐私法规情况下,建立一个虚拟的共有模型。联邦学习作为一种保障数据安全的建模方法,在销售、金融等行业中拥有巨大的应用前景。在这些行业中,受到知识产权、隐私保护、数据安全等诸多因素影响,数据无法被直接聚合来进行机器学习模型训练。此时,就需要借助联邦学习来训练一个联合模型。
[0006]现有的联邦学习中LightGBM模型算法中,存在的难点和问题是:如何保证数据隐私的同时,保证联合建模结果与明文结果比较的准确性,如何进行联合建模数据的安全交互、如何保证建模过程中模型参数的安全传递,针对这些问题,本专利技术中提出了一种基于LightGBM算法的纵向联邦建模方法。

技术实现思路

[0007]本专利技术的目的在于提供一种基于LightGBM算法的纵向联邦建模方法,以解决上述
技术介绍
中提出的问题。
[0008]为实现上述目的,本专利技术提供如下技术方案:一种基于LightGBM算法的纵向联邦建模方法,包括纵向联邦建模准备工作、发起方P1数据准备工作、合作方P0数据准备工作、模型训练工作和模型评估工作,其特征在于:所述纵向联邦建模准备工作的具体步骤为:
[0009]步骤1

1、发起方和合作方分别对自己的数据集进行数据预处理;
[0010]步骤1

2、发起方P1和合作方P0采用ECC加密算法对两方数据集的id求交集,求交后发起方P1的数据集为data[id][Xa,Y],合作方P0的数据集为data[id][Xb];
[0011]步骤1

3、发起方P1将数据集data[id][Xa,Y]拆分为训练数据和测试数据,训练数据对应的索引为id_train,测试数据对应的索引为id_test,P1方的训练数据集为data[id_train][Xa,Y],测试数据集为data[id_test][Xa,Y];
[0012]步骤1

4、发起方将训练数据索引和测试数据索引发送给合作方;
[0013]所述发起方P1数据准备工作的具体步骤为:
[0014]步骤2

1、P1方准备数据集,初始化模型的各项训练参数;
[0015]步骤2

2、P1方将对齐后的训练数据集和测试数据集进行特征编码,将类别的特征进行labelencoder编码;
[0016]步骤2

3、通知P0准备参数;
[0017]步骤2

4、P1利用同态加密算法生成公钥Pk和私钥Sk;
[0018]所述合作方P0数据准备工作的具体步骤为:
[0019]步骤3

1、P0接收P1方发送过来的训练数据集索引和测试数据集索引,获取训练数据集data[id_train][Xb]和测试数据集data[id_test][Xb];
[0020]步骤3

2、P0接收P1方发送的初始化模型的各项训练参数;
[0021]步骤3

3、P0方将对齐后的数据集进行labelencoder特征编码,将类别的特征进行编码;
[0022]所述模型训练工作的具体步骤为:
[0023]步骤4

1、p1方互斥特征绑定:互斥特征绑定目的是将互斥的特征进行合并,从而达到降维,使计算直方图时间复杂度降低,互斥特征绑定过程是判断P1方数据集是否只有标签列Y,如果只有标签列,不需要互斥特征绑定,否则,P1方的训练数据集data[id_train][Xa]进行特征绑定,获取新的数据集EFB_Xa;
[0024]步骤4

2、p0方互斥特征绑定,获取新的数据集EFB_Xb;
[0025]步骤4

3、P1单边梯度采样:单边梯度采样的策略是保留大梯度的样本,对小梯度的样本随机采样,采用这样的策略处理后获取样本索引sample_data_index和样本权重sample_data_weight,p1方根据样本索引sample_data_index更新数据集EFB_Xa,P1将样本索引sample_data_index和样本权重sample_data_weight发送给P0方;
[0026]步骤4

4、P1方计算梯度:计算当前估计器的梯度,根据实际标签值和初始化的预测值计算损失,使用最小二乘法计算一阶梯度作为梯度值,使用同态加密,对梯度进行加密,并将加密的梯度值发送给P0;
[0027]步骤4

5、P1方开始建树:初始化树模型,输入为经过互斥特征绑定及单边梯度采样后的数据集guest_train_x,当前树模型的梯度current_gradient,树的最大深度max_depth,最小分裂样本数min_sample_split,样本权重sample_weight,当前树是第几颗树;然后对树模型进行分裂:从构建树的根节点开始,根节点所在模型的深度为0,获取根节点参数模型训练的样本guest_train_x,获取根节点参与训练样本的梯度current_gradient,获取根节点参与训练的样本权重sa本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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更新数据集...

【专利技术属性】
技术研发人员:孙银银祝文伟
申请(专利权)人:神谱科技上海有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1