基于纵向联邦学习的通信成本优化方法、系统、设备及介质



1.本发明属于通信技术领域,涉及基于纵向联邦学习的通信成本优化方法、系统、设备及介质。


背景技术:



2.xgboost是基于gbdt的一种算法,其基本思想与gbdt相同,但在相关建模细节上进行了诸多改进。面向向纵向联邦学习场景的xgboost模型设计需要融合纵向联邦学习技术和xgboost算法自身特点。在联邦场景中,区别于集中式建模,各参与方的原始数据不能直接存储于某一方或者集中于第三方,即本地数据不能出本地;其重点在于确保各参与方本地数据隐私安全以及所建模型的效用性。联邦学习是一种分布式的机器学习框架,在确保各地数据隐私安全的前提下,通过让不同的本地数据方参与模型训练。在模型训练过程中,各参与方之间能够就模型的相关信息(如模型结构、参数等)进行通信(交换的方式可以是明文、对数据进行加密和添加相关的噪声等),但是各参与方所持有的参与模型训练的本地数据不会发送给任意一方。通过这种通信模式,不仅可以确保参与训练的各个本地数据安全性,还能降低泄露数据隐私的风险。纵向联邦学习适应于各参与方之间的样本空间出现较多重叠,并且样本的特征空间重叠又较少甚至没有重叠的场景。
3.已有的面向纵向联邦学习场景的xgboost算法,由于其算法自身的建模特点,在纵向联邦下进行xgboost建模过程中,各参与方之间需要进行频繁且数据量较大的通信,导致纵向联邦学习场景下的xgboost算法通信效率低下,在实际使用过程中,造成较大开销。


技术实现要素:



4.本发明的目的在于解决现有技术中各个参与方之间需要频繁进行数据量较大的通信,从而导致通信效率低下的问题,提供一种基于纵向联邦学习的通信成本优化方法、系统、设备及介质。
5.为达到上述目的,本发明采用以下技术方案予以实现:
6.基于纵向联邦学习的通信成本优化方法,包括以下步骤:
7.s1,获取有标签参与方和无标签参与方共同样本id集合;
8.s2,根据共同样本id集合,对当前决策树的损失函数进行求导,得到每个样本的导数结果;
9.s3,由导数结果对共同样本id集合进行k-means聚类,得到聚类结果;
10.s4,根据聚类结果对每个类中所包含样本的导数结果分别进行求和计算,并利用同态加密算法进行加密,得到密文,将密文和聚类结果发送至无标签参与方;
11.s5,无标签参与方根据密文和聚类结果,计算每个类中样本的导数近似值;
12.s6,根据有标签参与方和无标签参与方每个特征的取值,对共同样本id集合进行划分,基于划分后的共同样本id集合以及每个类中样本的导数近似值,计算出有标签参与方和无标签参与方各自的增益值,以及增益值对应的划分信息;其中,有标签参与方计算得
出明文形式的增益值,无标签参与方计算得出密文形式的增益值;
13.s7,对无标签参与方的增益值进行解密,与有标签参与方的增益值进行对比,将最大的增益值所对应的划分信息作为当前决策树的当前分裂点,生成当前决策树的新节点,并根据新节点的划分结果,有标签参与方和无标签参与方各自对共同样本id集合进行划分;
14.s8,根据有标签参与方和无标签参与方分别划分的共同样本id集合,判断当前决策树的生成是否达到预设条件,达到预设条件时,停止生成,计算当前决策树每个叶子节点的权重,记录在对应叶节点中,更新有标签参与方中每个样本的预测标签值;未达到预设值时,返回至s3;
15.s9,根据有标签参与方中每个样本的预测标签值,判断决策树的生成数量是否达到预计条件或残差小于给定阈值,达到预计条件或残差小于给定阈值时,停止生成,获取优化后的xgboost模型;否则,返回s2。
16.本发明的进一步改进在于:
17.所述s1中通过隐私保护集合求交方法获取共同样本id集合,具体包括以下步骤:
18.有标签参与方拥有数据{ia(id),fa(id)},无标签参与方拥有数据{ib(id),fb(id)};
19.有标签参与方和无标签参与方根据psi方法计算得到共同的样本id集合t(id),如式(1)所示:
20.t(id)=ia(id)∩ib(id)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
21.其中,ia(id),ib(id)分别表示有标签参与方和无标签参与方各自所拥有样本的id集合,fa(id),fb(id)分别表示有标签参与方和无标签参与方中样本id∈i(id)对应的特征属性。
22.所述s2中当前决策树为第t棵树,其目标函数l
(t)
如式(2)所示:
[0023][0024]
其中,损失函数表示真实值yi和预测值的差异,ω(f
t
)表示正则化项,所述损失函数如式(3)所示:
[0025][0026]
所述损失函数的导数包括一阶导数gi和二阶导数hi,如式(4)和式(5)所示:
[0027][0028][0029]
所述s3中,k-means聚类为基于轮廓系数的自适应k-means聚类方法,具体步骤为:
[0030]
s3.1,初始化平均轮廓系数阈值为-1;
[0031]
s3.2,根据共同样本集合t(id)中所包含的样本的数量n设置循环体,其中循环次数设置为(1,n);
[0032]
s3.3,在循环体中设置警告捕获机制,当出现聚类个数小于设定的阈值时,结束循
环;
[0033]
s3.4,执行循环体时,更新k-means聚类算法中聚类个数的阈值为已经执行循环体的次数;
[0034]
s3.5,在每次循环中,对导数结果进行聚类后获得此次聚类下的平均轮廓系数,与已有平均轮廓系数进行比较,并将当前已有轮廓系数更新为最大轮廓系数,将最大轮廓系数对应的聚类结果进行记录;
[0035]
s3.6,循环结束后,将最大轮廓系数所对应的聚类作为最终的对导数结果进行聚类的结果,得到每个聚类所包含的训练集子集id集合。
[0036]
所述s4中,对每个类中所包含样本的导数结果分别进行求和运算,利用同态加密paillier算法对求和结果进行加密,将密文和聚类结果发送至无标签参与方。
[0037]
所述s5中,无标签参与方根据密文和聚类结果,计算每个类中样本的导数近似值,包括一阶导数密文近似值和二阶导数密文近似值根据式(6)和式(7)计算:
[0038][0039][0040]
其中,en(gj)、en(hj)分别为每个类中密文形式的一阶导数和与二阶导数和,tj(id)为每个聚类中包含的训练集子集id集合。
[0041]
所述s6中有标签参与方和无标签参与方根据式(8)计算各自的划分增益:
[0042][0043]
其中,g
l
、gr、h
l
、hr分别是样本基于特征值进行划分后左右子树所包含的一阶导数和与二阶导数和,λ、μ为正则项ω(f
t
)中的正则化系数;
[0044]
具体计算步骤包括:
[0045]
s6.1,基于每个特征值划分时将样本id集合分为左右两个子集i
l
(id)和ir(id);
[0046]
s6.2,计算集合i
l
(id)上的一阶导数和g
l
与二阶导数和h
l
,计算集合ir(id)上的一阶导数和gr与二阶导数和hr;
[0047]
s6.2,根据式(8)计算每个特征值划分时对应的增益值。
[0048]
一种基于纵向联邦学习的通信成本优化系统,包括:
[0049]
数据获取模块,所述数据获取模块用于获取有标签参与方和无标签参与方共同样本id集合;
[0050]
第一数据计算模块,所述第一数据计算模块用于根据共同样本id集合,对当前决策树的损失函数进行求导,得到每个样本的导数结果;
[0051]
数据处理模块,所述数据处理模块用于由求导结果对共同样本id集合进行k-means聚类,得到聚类结果;
[0052]
数据加密模块,所述数据加密模块用于根据聚类结果对每个类中所包含样本的导数结果分别进行求和计算,并利用同态加密算法进行加密,得到密文,将密文和聚类结果发送至无标签参与方;
[0053]
第二数据计算模块,所述第二数据计算模块用于由无标签参与方根据密文和聚类结果,计算每个类中样本的导数近似值;
[0054]
第三数据计算模块,所述第三数据计算模块用于根据有标签参与方和无标签参与方每个特征的取值,对共同样本id集合进行划分,基于划分后的共同样本id集合以及每个类中样本的导数近似值,计算出有标签参与方和无标签参与方各自的增益值,以及增益值对应的划分信息;其中,有标签参与方计算得出明文形式的增益值,无标签参与方计算得出密文形式的增益值;
[0055]
数据解密模块,所述数据解密模块用于对无标签参与方的增益值进行解密,与有标签参与方的增益值进行对比,将最大的增益值所对应的划分信息作为当前决策树的当前分裂点,生成当前决策树的新节点,并根据新节点的划分结果,有标签参与方和无标签参与方各自对共同样本id集合进行划分;
[0056]
第一循环模块,根据有标签参与方和无标签参与方分别划分的共同样本id集合,判断当前决策树的生成是否达到预设条件,达到预设条件时,停止生成,计算当前决策树每个叶子节点的权重,记录在对应叶节点中,更新有标签参与方中每个样本的预测标签值;未达到预设值时,返回至数据处理模块;
[0057]
第二循环模块,根据有标签参与方中每个样本的预测标签值,判断决策树的生成数量是否达到预计条件或残差小于给定阈值,达到预计条件或残差小于给定阈值时,停止生成,获取优化后的xgboost模型;否则,返回第一数据计算模块。
[0058]
一种设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如前项任一项所述方法的步骤。
[0059]
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如前项任一项所述方法的步骤。
[0060]
与现有技术相比,本发明具有以下有益效果:
[0061]
本发明公开的一种基于纵向联邦学习的通信成本优化方法,通过采用k-means聚类算法,将处理之后的聚类信息代替现有技术中发送的一阶导数和二阶导数之和,显著的降低了通信量,有效的提升了通信效率;并且无标签参与方基于收到的经过处理加密后的聚类信息,计算每个样本中的导数均值作为近似值代替真实值,减小了基于近似值计算所带来的误差。
[0062]
进一步的,通过采用基于轮廓系数的自适应k-means聚类方法,能够自动调整聚类个数,进行聚类个数的最优化。
附图说明
[0063]
为了更清楚的说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0064]
图1为本发明的基于纵向联邦学习的通信成本优化方法流程图;
[0065]
图2为本发明的基于纵向联邦学习的通信成本优化系统结构图;
[0066]
图3为本发明的基于纵向联邦学习的通信成本优化建模方法逻辑图;
[0067]
图4为基于轮廓系数的自适应k-means聚类方法的逻辑流程图;
[0068]
图5为基于手动输入不同聚类个数的k-means方法的xgboost模型在公开boston房价数据上进行训练时平均平方误差mse指标;
[0069]
图6为基于手动输入不同聚类个数的k-means方法的xgboost模型在公开boston房价数据上进行训练时平均绝对误差mae指标;
[0070]
图7为基于手动输入不同聚类个数的k-means方法的xgboost模型在公开boston房价数据上进行训练时r方值r2指标;
[0071]
图8为基于手动输入不同聚类个数的k-means方法的xgboost模型在建模过程中的总通信量tc指标;
[0072]
图9为优化前后xgboost模型在公开boston房价数据上进行训练时通信量与最终模型性能的平均平方误差mse对比图;
[0073]
图10为优化前后xgboost模型在公开boston房价数据上进行训练时通信量与最终模型性能的平均绝对误差mae对比图;
[0074]
图11为优化前后xgboost模型在公开boston房价数据上进行训练时通信量与最终模型性能的r方值r2对比图;
[0075]
图12为优化前后xgboost模型在公开boston房价数据上进行训练时通信量与最终模型性能的总通信量tc对比图。
具体实施方式
[0076]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
[0077]
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0078]
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0079]
在本发明实施例的描述中,需要说明的是,若出现术语“上”、“下”、“水平”、“内”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0080]
此外,若出现术语“水平”,并不表示要求部件绝对水平,而是可以稍微倾斜。如“水平”仅仅是指其方向相对“竖直”而言更加水平,并不是表示该结构一定要完全水平,而是可
以稍微倾斜。
[0081]
在本发明实施例的描述中,还需要说明的是,除非另有明确的规定和限定,若出现术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
[0082]
下面结合附图对本发明做进一步详细描述:
[0083]
参见图1,为本发明中一种基于纵向联邦学习的通信成本优化方法流程图,具体包括以下步骤:
[0084]
s1,获取有标签参与方和无标签参与方共同样本id集合;
[0085]
基于有标签参与方ua和无标签参与方ub各自所拥有样本的id集合ia(id)、ib(id),通过隐私保护集合求交psi方法,获取双方共同的样本id集合t(id);
[0086]
有标签参与方ua拥有数据{ia(id),fa(id)},无标签参与方ub拥有数据{ib(id),fb(id)},ua和ub利用psi方法计算出双方共同的样本集合t(id),如式(1)所示:
[0087]
t(id)=ia(id)∩ib(id)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0088]
其中,ia(id),ib(id)分别表示有标签参与方和无标签参与方各自所拥有样本的id集合,fa(id),fb(id)分别表示有标签参与方和无标签参与方中样本id∈i(id)对应的特征属性。
[0089]
s2,根据共同样本id集合,对当前决策树的损失函数进行求导,得到每个样本的导数结果;
[0090]
开始对第t棵树建模,在有标签参与方ua,基于训练集的样本id集合t(id)对当前模型的平方损失函数进行求导,确定训练集合中每个样本的一阶导数gi和二阶导数hi;
[0091]
当前决策树为第t棵树,其目标函数l
(t)
如式(2)所示:
[0092][0093]
其中,损失函数表示真实值yi和预测值的差异,ω(f
t
)表示正则化项,所述损失函数如式(3)所示:
[0094][0095]
所述损失函数的导数包括一阶导数gi和二阶导数hi,如式(4)和式(5)所示:
[0096][0097][0098]
s3,由导数结果对样本id集合进行k-means聚类,得到聚类结果;
[0099]
在有标签参与方ua,基于求导结果(gi,hi)对训练集样本集合t(id)进行基于轮廓系数的自适应k-means聚类,得到每个聚类所包含的训练集子集id集合tj(id),参见图4,具体步骤为:
[0100]
s3.1,初始化平均轮廓系数阈值为-1;
[0101]
s3.2,根据共同样本集合t(id)中所包含的样本的数量n设置循环体,其中循环次数设置为(1,n);
[0102]
s3.3,在循环体中设置警告捕获机制,使其当出现聚类个数小于设定的阈值时,自动结束循环,以减少循环执行次数及时间开销;
[0103]
s3.4,执行循环体时,更新k-means聚类算法中聚类个数的阈值为已经执行循环体的次数;
[0104]
s3.5,在每次循环中,对导数结果(gi,hi)进行聚类后获得此次聚类下的平均轮廓系数,与已有平均轮廓系数进行比较,并将当前已有轮廓系数更新为最大轮廓系数,将最大轮廓系数对应的(gi,hi)聚类结果进行记录;
[0105]
s3.6,循环结束后,将最大轮廓系数所对应的聚类作为最终的对导数结果进行聚类的结果,得到每个聚类所包含的训练集子集id集合tj(id),其中tj(id)∈t(id)。
[0106]
s4,根据聚类结果对每个类中所包含样本的导数结果分别进行求和计算,并利用同态加密算法进行加密,得到密文,将密文和聚类结果发送至无标签参与方;
[0107]
在有标签参与方ua,基于k-means聚类后的结果tj(id),对每个类中所包含样本的gi、hi分别进行求和运算,得到gi、hi,并利用同态加密paillier算法对每个类的gj、hj进行加密,得到密文en(gj)、en(hj),将{en(gj),en(hj),tj(id)}发送至无标签参与方ub。其中gj、hj的计算如式(6)和(7)所示:
[0108][0109][0110]
s5,无标签参与方根据密文和聚类结果,计算每个类中样本的导数近似值;
[0111]
在无标签参与方ub,基于接收到的密文和聚类结果{en(gj),en(hj),tj(id)},计算类中每个样本一阶导数和二阶导数的密文近似值其中的计算如式(8)和(9)所示:
[0112][0113][0114]
并且以作为当前聚类中每个样本的一阶导数近似值和二阶导数近似值。
[0115]
s6,根据有标签参与方和无标签参与方每个特征的取值,对共同样本id集合进行划分,基于划分后的共同样本id集合以及每个类中样本导数的近似值,计算出有标签参与方和无标签参与方各自的增益值,以及增益值对应的划分信息;其中,有标签参与方计算得出明文形式的增益值,无标签参与方计算得出密文形式的增益值;
[0116]
基于有标签参与方ua和无标签参与方ub每个特征的每个取值,对训练集的t(id)进
行划分,并基于每个特征属性值划分后的样本id集合以及集合中每个样本的导数,计算出有标签参与方ua和无标签参与方ub各自的划分增益,无标签参与方ub将己方的增益值发送至有标签参与方ua;其中,有标签参与方计算得出明文形式的增益值无标签参与方计算得出密文形式的增益值
[0117]
在有标签参与方ua和无标签参与方ub对训练集的t(id)进行划分时,有标签参与方ua和无标签参与方ub计算各自所选择相应特征值进行划分时增益的计算公式如式(10)所示:
[0118][0119]
其中,g
l
、gr、h
l
、hr分别是样本基于特征值进行划分后左右子树所包含的一阶导数和与二阶导数和,λ、μ为正则项ω(f
t
)中的正则化系数;
[0120]
所述有标签参与方ua和无标签参与方ub计算各自的划分增益,具体步骤包括:
[0121]
s6.1,基于每个特征值划分时将样本id集合分为左右两个子集i
l
(id)和ir(id);
[0122]
s6.2,计算集合i
l
(id)上的一阶导数和g
l
与二阶导数和h
l
,计算集合ir(id)上的一阶导数和gr与二阶导数和hr;
[0123]
s6.2,根据式(10)计算每个特征值划分时对应的增益值。
[0124]
s7,对无标签参与方的增益值进行解密,与有标签参与方的增益值进行对比,将最大的增益值所对应的划分信息作为当前决策树的当前分裂点,生成当前决策树的新节点,并根据新节点的划分结果,有标签参与方和无标签参与方各自对共同样本id集合进行划分;
[0125]
在有标签参与方ua,对接收到无标签参与方ub发送的增益值进行解密得到对比和将最大增益值对应的划分信息作为当前树当前分裂点的信息,生成当前树新的节点并根据节点的划分信息,有标签参与方ua和无标签参与方ub各自对t(id)进行划分。
[0126]
s8,根据有标签参与方和无标签参与方分别划分的共同样本id集合,判断当前决策树的生成是否达到预设条件,达到预设条件时,停止生成,计算当前决策树每个叶子节点的权重w
kt
,记录在对应叶节点中,更新有标签参与方ua中每个样本的预测标签值;未达到预设值时,返回至s3;
[0127]
s9,根据有标签参与方中每个样本的预测标签值,判断决策树的生成数量是否达到预计条件或残差小于给定阈值,达到预计条件或残差小于给定阈值时,停止生成,获取优化后的xgboost模型;否则,返回s2。
[0128]
参见图2,为本发明的一种基于纵向联邦学习的通信成本优化系统结构图,包括:
[0129]
数据获取模块,所述数据获取模块用于获取有标签参与方和无标签参与方共同样本id集合;
[0130]
第一数据计算模块,所述第一数据计算模块用于根据共同样本id集合,对当前决策树的损失函数进行求导,得到每个样本的导数结果;
[0131]
数据处理模块,所述数据处理模块用于由求导结果对共同样本id集合进行k-means聚类,得到聚类结果;
[0132]
数据加密模块,所述数据加密模块用于根据聚类结果对每个类中所包含样本的导数结果分别进行求和计算,并利用同态加密算法进行加密,得到密文,将密文和聚类结果发送至无标签参与方;
[0133]
第二数据计算模块,所述第二数据计算模块用于由无标签参与方根据密文和聚类结果,计算每个类中样本的导数近似值;
[0134]
第三数据计算模块,所述第三数据计算模块用于根据有标签参与方和无标签参与方每个特征的取值,对共同样本id集合进行划分,基于划分后的共同样本id集合以及每个类中样本的导数近似值,计算出有标签参与方和无标签参与方各自的增益值,以及增益值对应的划分信息;其中,有标签参与方计算得出明文形式的增益值,无标签参与方计算得出密文形式的增益值;
[0135]
数据解密模块,所述数据解密模块用于对无标签参与方的增益值进行解密,与有标签参与方的增益值进行对比,将最大的增益值所对应的划分信息作为当前决策树的当前分裂点,生成当前决策树的新节点,并根据新节点的划分结果,有标签参与方和无标签参与方各自对共同样本id集合进行划分;
[0136]
第一循环模块,根据有标签参与方和无标签参与方分别划分的共同样本id集合,判断当前决策树的生成是否达到预设条件,达到预设条件时,停止生成,计算当前决策树每个叶子节点的权重,记录在对应叶节点中,更新有标签参与方中每个样本的预测标签值;未达到预设值时,返回至数据处理模块;
[0137]
第二循环模块,根据有标签参与方中每个样本的预测标签值,判断决策树的生成数量是否达到预计条件或残差小于给定阈值,达到预计条件或残差小于给定阈值时,停止生成,获取优化后的xgboost模型;否则,返回第一数据计算模块。
[0138]
参见图5-图8,为基于手动输入聚类个数的xgboost模型在公开boston房价数据集上进行训练测试所得结果,其中以平均平方误差mse、平均绝对误差mae和r方值r2作为模型性能评估指标,包括建模过程中的总的通信量tc。通过对比图中输入不同聚类个数所得的的模型性能可知,输入的聚类个数越少,即进行聚类操作时所聚类后的类的个数越少,xgboost模型的通信量越小。
[0139]
参见图9-图12,为优化前后xgboost模型在公开boston房价数据集上进行训练测试所得结果,其中以平均平方误差mse、平均绝对误差mae和r方值r2作为模型性能评估指标,包括建模过程中的总通信量tc,其中baseline model表示优化前的xgboost模型,optimization model表示优化后的xgboost模型。优化后的模型是指在加入本发明中所设置的基于轮廓系数的自适应k-means聚类后的xgboost模型。通过与又花钱xgboost模型的相关指标进行对比,发现优化后的模型不仅性能没有损失,通信量tc也压缩了51%。因此,本方法可以大幅提升通信量,比现有方法节省更多的通信资源,同时保证模型原有性能的损失最小化。
[0140]
相比于已有纵向联邦xgboost建模过程,在使用所设计的基于轮廓系数的自适应k-means聚类方法,自动调整聚类个数,进行聚类个数最优化后,能够极大的提高通信效率,同时由于自动进行聚类个数最优化,使得基于聚类结果计算的导数均值代替真实值,进行
后续相关计算时所带来的误差极小,在部分公开数据集上,甚至出现误差为零的情况。
[0141]
本发明一实施例提供一种终端设备。该实施例的终端设备包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序。所述处理器执行所述计算机程序时实现上述各个通信成本优化方法实施例中的步骤。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能。
[0142]
所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。
[0143]
所述通信成本优化装置/终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述通信成本优化装置/终端设备可包括,但不仅限于,处理器、存储器。
[0144]
所述处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
[0145]
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述通信成本优化装置/终端设备的各种功能。
[0146]
所述通信成本优化装置/终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0147]
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术特征:


1.基于纵向联邦学习的通信成本优化方法,其特征在于,包括以下步骤:s1,获取有标签参与方和无标签参与方共同样本id集合;s2,根据共同样本id集合,对当前决策树的损失函数进行求导,得到每个样本的导数结果;s3,由导数结果对共同样本id集合进行k-means聚类,得到聚类结果;s4,根据聚类结果对每个类中所包含样本的导数结果分别进行求和计算,并利用同态加密算法进行加密,得到密文,将密文和聚类结果发送至无标签参与方;s5,无标签参与方根据密文和聚类结果,计算每个类中样本的导数近似值;s6,根据有标签参与方和无标签参与方每个特征的取值,对共同样本id集合进行划分,基于划分后的共同样本id集合以及每个类中样本的导数近似值,计算出有标签参与方和无标签参与方各自的增益值,以及增益值对应的划分信息;其中,有标签参与方计算得出明文形式的增益值,无标签参与方计算得出密文形式的增益值;s7,对无标签参与方的增益值进行解密,与有标签参与方的增益值进行对比,将最大的增益值所对应的划分信息作为当前决策树的当前分裂点,生成当前决策树的新节点,并根据新节点的划分结果,有标签参与方和无标签参与方各自对共同样本id集合进行划分;s8,根据有标签参与方和无标签参与方分别划分的共同样本id集合,判断当前决策树的生成是否达到预设条件,达到预设条件时,停止生成,计算当前决策树每个叶子节点的权重,记录在对应叶节点中,更新有标签参与方中每个样本的预测标签值;未达到预设值时,返回至s3;s9,根据有标签参与方中每个样本的预测标签值,判断决策树的生成数量是否达到预计条件或残差小于给定阈值,达到预计条件或残差小于给定阈值时,停止生成,获取优化后的xgboost模型;否则,返回s2。2.如权利要求1所述的基于纵向联邦学习的通信成本优化方法,其特征在于,所述s1中通过隐私保护集合求交方法获取共同样本id集合,具体包括以下步骤:有标签参与方拥有数据{i
a
(id),f
a
(id)},无标签参与方拥有数据{i
b
(id),f
b
(id)};有标签参与方和无标签参与方根据psi方法计算得到共同的样本id集合t(id),如式(1)所示:t(id)=i
a
(id)∩i
b
(id)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)其中,i
a
(id),i
b
(id)分别表示有标签参与方和无标签参与方各自所拥有样本的id集合,f
a
(id),f
b
(id)分别表示有标签参与方和无标签参与方中样本id∈i(id)对应的特征属性。3.如权利要求1所述的基于纵向联邦学习的通信成本优化方法,其特征在于,所述s2中当前决策树为第t棵树,其目标函数l
(t)
如式(2)所示:其中,损失函数表示真实值y
i
和预测值的差异,ω(f
t
)表示正则化项,所述损失函数如式(3)所示:
所述损失函数的导数包括一阶导数g
i
和二阶导数h
i
,如式(4)和式(5)所示:,如式(4)和式(5)所示:4.如权利要求1所述的基于纵向联邦学习的通信成本优化方法,其特征在于,所述s3中,k-means聚类为基于轮廓系数的自适应k-means聚类方法,具体步骤为:s3.1,初始化平均轮廓系数阈值为-1;s3.2,根据共同样本集合t(id)中所包含的样本的数量n设置循环体,其中循环次数设置为(1,n);s3.3,在循环体中设置警告捕获机制,当出现聚类个数小于设定的阈值时,结束循环;s3.4,执行循环体时,更新k-means聚类算法中聚类个数的阈值为已经执行循环体的次数;s3.5,在每次循环中,对导数结果进行聚类后获得此次聚类下的平均轮廓系数,与已有平均轮廓系数进行比较,并将当前已有轮廓系数更新为最大轮廓系数,将最大轮廓系数对应的聚类结果进行记录;s3.6,循环结束后,将最大轮廓系数所对应的聚类作为最终的对导数结果进行聚类的结果,得到每个聚类所包含的训练集子集id集合。5.如权利要求1所述的基于纵向联邦学习的通信成本优化方法,其特征在于,所述s4中,对每个类中所包含样本的导数结果分别进行求和运算,利用同态加密paillier算法对求和结果进行加密,将密文和聚类结果发送至无标签参与方。6.如权利要求1所述的基于纵向联邦学习的通信成本优化方法,其特征在于,所述s5中,无标签参与方根据密文和聚类结果,计算每个类中样本的导数近似值,包括一阶导数密文近似值和二阶导数密文近似值根据式(6)和式(7)计算:根据式(6)和式(7)计算:其中,en(g
j
)、en(h
j
)分别为每个类中密文形式的一阶导数和与二阶导数和,t
j
(id)为每个聚类中包含的训练集子集id集合。7.如权利要求1所述的基于纵向联邦学习的通信成本优化方法,其特征在于,所述s6中有标签参与方和无标签参与方根据式(8)计算各自的划分增益:其中,g
l
、g
r
、h
l
、h
r
分别是样本基于特征值进行划分后左右子树所包含的一阶导数和与二阶导数和,λ、μ为正则项ω(f
t
)中的正则化系数;具体计算步骤包括:
s6.1,基于每个特征值划分时将样本id集合分为左右两个子集i
l
(id)和i
r
(id);s6.2,计算集合i
l
(id)上的一阶导数和g
l
与二阶导数和h
l
,计算集合i
r
(id)上的一阶导数和g
r
与二阶导数和h
r
;s6.2,根据式(8)计算每个特征值划分时对应的增益值。8.一种基于纵向联邦学习的通信成本优化系统,其特征在于,包括:数据获取模块,所述数据获取模块用于获取有标签参与方和无标签参与方共同样本id集合;第一数据计算模块,所述第一数据计算模块用于根据共同样本id集合,对当前决策树的损失函数进行求导,得到每个样本的导数结果;数据处理模块,所述数据处理模块用于由求导结果对共同样本id集合进行k-means聚类,得到聚类结果;数据加密模块,所述数据加密模块用于根据聚类结果对每个类中所包含样本的导数结果分别进行求和计算,并利用同态加密算法进行加密,得到密文,将密文和聚类结果发送至无标签参与方;第二数据计算模块,所述第二数据计算模块用于由无标签参与方根据密文和聚类结果,计算每个类中样本的导数近似值;第三数据计算模块,所述第三数据计算模块用于根据有标签参与方和无标签参与方每个特征的取值,对共同样本id集合进行划分,基于划分后的共同样本id集合以及每个类中样本的导数近似值,计算出有标签参与方和无标签参与方各自的增益值,以及增益值对应的划分信息;其中,有标签参与方计算得出明文形式的增益值,无标签参与方计算得出密文形式的增益值;数据解密模块,所述数据解密模块用于对无标签参与方的增益值进行解密,与有标签参与方的增益值进行对比,将最大的增益值所对应的划分信息作为当前决策树的当前分裂点,生成当前决策树的新节点,并根据新节点的划分结果,有标签参与方和无标签参与方各自对共同样本id集合进行划分;第一循环模块,根据有标签参与方和无标签参与方分别划分的共同样本id集合,判断当前决策树的生成是否达到预设条件,达到预设条件时,停止生成,计算当前决策树每个叶子节点的权重,记录在对应叶节点中,更新有标签参与方中每个样本的预测标签值;未达到预设值时,返回至数据处理模块;第二循环模块,根据有标签参与方中每个样本的预测标签值,判断决策树的生成数量是否达到预计条件或残差小于给定阈值,达到预计条件或残差小于给定阈值时,停止生成,获取优化后的xgboost模型;否则,返回第一数据计算模块。9.一种设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7任一项所述方法的步骤。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7任一项所述方法的步骤。

技术总结


本发明公开了一种基于纵向联邦学习的通信成本优化方法、系统、设备及介质,方法包括获取各参与方共同样本ID,确定各参与方需要参与训练的具有相同样本ID的数据集合;对所有参与训练的样本进行聚类,得到不同的分组,计算每个样本损失函数的导数,对聚类分组后的每组样本分别计算其导数和,并加密,将密文和每组的样本发送给无标签参与方;根据接收到的信息计算每个样本的近似导数,然后计算增益将其结果发给有标签参与方;由接收到信息选取最大增益值处作为最佳分裂点,如果分裂点所属无标签参与方,则将其最佳分裂点的信息发送回无标签参与方。既保证双方传输信息的隐私安全,又显著降低通信数据量的传输,同时保证了所传输的信息具有有效性。息具有有效性。息具有有效性。


技术研发人员:

杨树森 袁博文 李亚男 任雪斌 赵鹏 韩青 郭思言

受保护的技术使用者:

西安交通大学

技术研发日:

2022.08.22

技术公布日:

2022/12/16

本文发布于:2024-09-24 04:22:21,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/38378.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:标签   导数   样本   所述
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议