一种基于公平联邦学习算法的数据分类方法及系统

文档序号:29570359发布日期:2022-04-09 03:43阅读:183来源:国知局
一种基于公平联邦学习算法的数据分类方法及系统

1.本发明涉及数据隐私技术领域,特别是涉及一种基于公平联邦学习算法的数据分类方法及系统。


背景技术:

2.人工智能的发展需要大量的数据,并且需要许多高质量的数据,但是通常在数据使用的过程中,面临着各方面的约束。首先是面临各种网络安全法或数据保护条例的约束;其次是各企业和机构之间的利益关系,导致数据在使用的过程中受到约束;再者是个人也在不断增强隐私保护意识,这些方面均不利于数据共享,使得数据共享成为难题,企业与企业之间、机构与机构之间存在“数据孤岛”的问题。因此,联邦学习应运而生,用于解决机器学习中的数据孤岛问题。联邦学习自2017年google提出,受到学者们的广泛关注。如无线通信与边缘计算、智慧医疗、环境保护等领域。
3.在传统的联邦学习训练过程中,在聚合时每一个用户的聚合权重是一样的,或者采用用户数据数量占总数据量的比重作为聚合时的权重,这样的方式对数据量多的用户有优势,但是对有些数据量多但其数据质量不好的用户,给该用户分配更多的权重会影响全局模型的训练,即让其他用户的计算代价更高,即其他用户在本地进行模型训练迭代需要的迭代次数和服务器与各用户之间的迭代次数更高。
4.针对以上问题,本发明在联邦学习训练过程中考虑了用户数据质量对模型训练的影响,提出了一种基于公平联邦学习算法的数据分类方法及系统。


技术实现要素:

5.本发明的目的是提供一种基于公平联邦学习算法的数据分类方法及系统,解决传统的联邦学习训练过程中,对各用户的权重分配不公平的问题。
6.为实现上述目的,本发明提供了一种基于公平联邦学习算法的数据分类方法,包括以下步骤:
7.基于熵权法,根据用户端本地数据集中每种属性的熵权及每种属性对应的样本数据的数量确定得到各用户端的数据质量分数;所述本地数据集中包含若干个样本数据和每个样本数据的属性;
8.初始化全局模型,并将初始化后的所述全局模型参数发送给各用户端;
9.根据所述全局模型参数,利用各用户端拥有的本地数据集,在各用户端进行训练,得到各用户端的本地模型参数;
10.根据各用户端的数据数量和各用户端的数据质量分数,确定各用户端的聚合权重;
11.根据各用户端的聚合权重和各用户端的本地模型参数,确定并更新所述全局模型参数;
12.判断是否达到结束迭代条件;
13.若否,则跳转到所述“根据所述全局模型的参数,利用各用户端拥有的本地数据集,在各用户端进行训练,得到各用户端的本地模型参数”;
14.若是,则结束训练,全局模型根据训练好的全局模型参数进行数据分类。
15.可选地,基于熵权法,根据用户端中每个属性的熵权及每个属性中数据的数量确定得到各用户端的数据质量分数,具体包括:
16.对各用户端拥有的本地数据集进行预处理;
17.根据预处理后的本地数据集,确定各用户端在本地数据集中每个样本出现的概率;
18.根据每个样本出现的概率确定各用户端中每个属性的信息熵;
19.根据每个属性的信息熵确定各用户端中每个属性的熵权;
20.根据各用户端中每个属性的熵权及每个属性中数据的数量,确定各用户端的数据质量分数。
21.可选地,采用以下公式确定各用户端的数据质量分数:
[0022][0023]
其中,表示用户ui的数据质量分数;ki表示第i个用户的属性个数,m表示第m个属性,d
ui
表示用户ui的样本个数,j表示第j个样本。
[0024]
可选地,所述获取各用户端的数据数量和数据质量分数,确定各用户端的聚合权重,具体包括:
[0025]
根据各用户端的数据数量占总的数据量的比重,确定各用户的数据数量权重;
[0026]
根据各用户数据质量分数占总的数据质量分数的比重,确定各用户的数据质量权重;
[0027]
根据各用户的数据数量权重和数据质量权重,确定各用户的混合权重;
[0028]
根据各用户的混合权重,确定各用户的聚合权重。
[0029]
可选地,采用以下公式确定各用户的混合权重:
[0030][0031]
其中,表示用户ui的混合权重,表示用户ui的数据质量权重,表示用户ui的数据数量权重,λ表示数据质量权重在混合权重中的比重。
[0032]
可选地,采用以下公式初始化全局模型:
[0033][0034]
其中,p(y=1|x;θ)表示输入属性x时,分类结果y为1的概率;θ表示属性x的比重,即需要优化的模型参数;e是自然对数的底;t表示矩阵的转置操作;g(θ
t
x)为初始化后的全局模型;
[0035]
其损失函数为:
[0036][0037]
其中,m表示用户端参与训练的样本个数;p(x(i))表示输入第i个属性时,通过所述全局模型的分类结果y为1的概率。
[0038]
可选地,所述根据所述全局模型的参数,利用各用户端拥有的本地数据集,在各用户端进行训练,具体包括:
[0039]
根据所述全局模型参数在各用户端生成本地模型;
[0040]
利用所述本地模型对各用户端拥有的本地数据进行分类;
[0041]
进行预设次数的迭代训练,更新所述本地模型的参数,如下式:
[0042][0043]
其中,θ
lt+1
表示第lt+1次的本地模型参数,θ
lt
表示第lt次的本地模型参数;η表示用户端的学习率;l表示全局模型的损失函数。
[0044]
可选地,采用以下公式更新所述全局模型的参数:
[0045][0046]
其中,θ
gt+1
表示第gt+1次更新后的全局模型参数,表示第i个用户端的聚合权重,表示第i个用户端的本地模型参数,n为用户端的数量。
[0047]
可选地,在确定并更新所述全局模型参数时,采用差分隐私进行扰动。
[0048]
另一方面,对应于上述的一种基于公平联邦学习算法的数据分类方法,本发明还提供了一种基于公平联邦学习算法的数据分类系统,包括:
[0049]
数据质量确定模块,用于基于熵权法,根据用户端本地数据集中每种属性的熵权及每种属性对应的样本数据的数量确定得到各用户端的数据质量分数;
[0050]
初始化模块,初始化全局模型,并将初始化后的所述全局模型的参数发送给各用户端;
[0051]
本地训练模块,根据所述全局模型的参数,利用各用户端拥有的本地数据集,在各用户端进行训练,得到各用户端的本地模型参数;
[0052]
聚合权重确定模块,用于根据各用户端的数据数量和各用户端的数据质量分数,确定各用户端的聚合权重;
[0053]
全局模型更新模块,用于根据各用户端的聚合权重和各用户端的本地模型参数,确定并更新所述全局模型的参数;
[0054]
判断模块,用于判断是否达到结束迭代条件,得到判断结果;
[0055]
迭代更新模块,用于当所述判断结果为否时,调用所述本地训练模块、所述聚合权重确定模块和所述全局模型更新模块;
[0056]
数据分类模块,用于当所述判断结果为是时,结束迭代更新,根据训练好的全局模型参数进行数据分类。
[0057]
根据本发明提供的具体发明内容,本发明公开了以下技术效果:
[0058]
本发明提供的一种基于公平联邦学习算法的数据分类方法及系统,利用各用户端
拥有的本地数据集,基于熵权法确定得到各用户端的数据质量分数;在初始化全局模型后,将全局模型的参数发送给各用户端;根据全局模型的参数,利用各用户端拥有的本地数据集进行训练,得到各用户端的本地模型参数;获取各用户端的数据数量和数据质量分数,确定各用户端的聚合权重;根据各用户端的聚合权重和本地模型参数,更新全局模型的参数;根据全局模型的参数生成新的全局模型;若全局训练次数未达到全局训练次数上限时,继续根据全局模型的参数,利用各用户端拥有的本地数据集进行训练,得到各用户端的本地模型参数;获取各用户端的数据数量和数据质量分数,确定各用户端的聚合权重;根据各用户端的聚合权重和本地模型参数,对全局模型的参数进行更新;当全局训练次数达到全局训练次数上限时,结束训练,根据所述全局模型进行数据分类;本发明基于熵权法确定出用户端的数据质量分数,基于用户端的数据数量和用户端的数据质量两方面定义聚合权重,解决了传统的联邦学习中仅考虑了用户端的数据数量一方面,对各用户的聚合权重分配不公平的问题,本发明的方案相对于传统的联邦学习方案,对于参与训练的各用户端更加公平,更能够促进数据质量分数高的用户端加入到联邦学习中来。
附图说明
[0059]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0060]
图1为本发明实施例1提供的一种基于公平联邦学习算法的数据分类方法的流程图;
[0061]
图2为本发明实施例1提供的数据分类方法中步骤s1的流程图;
[0062]
图3为本发明实施例1提供的数据分类方法中步骤s3的流程图;
[0063]
图4为本发明实施例1提供的数据分类方法中步骤s4的流程图;
[0064]
图5为本发明实施例1提供的数据分类方法的总体框架图。
具体实施方式
[0065]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0066]
本发明的目的是提供一种基于公平联邦学习算法的数据分类方法及系统,解决传统的联邦学习训练过程中,对各用户的权重分配不公平的问题。
[0067]
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0068]
实施例1:
[0069]
如图1-4所示,本发明提供了一种基于公平联邦学习算法的数据分类方法,用来对信用卡欺诈检测数据进行分类,包括以下步骤:
[0070]
本实施例中,分类数据来源于uci,机器学习常用的分类数据集信用卡欺诈检测数
据集creditcard,该数据集执行二分类任务,数据集中共有30个属性特征值,且都为数值型数据,共有284807个样本,如表1所示:
[0071]
表1creditcard原始数据集
[0072][0073]
将表1中的数据划分给n个用户,每个用户中包含di个样本,每个用户的样本不同,ki个属性(每个用户的属性特征可以相同),进行划分后各用户的数据情况如表2所示:
[0074]
表2各用户数据表
[0075][0076]
s1、基于熵权法,根据用户端本地数据集中每种属性的熵权及每种属性对应的样本数据的数量确定得到各用户端的数据质量分数;所述本地数据集中包含若干个样本数据和每个样本数据的属性;
[0077]
如图2所示,步骤s1具体包括:
[0078]
s11、对各用户端拥有的本地数据集进行预处理;主要包括数据化归一化和数据非负化,即将所有的数据转化到0~1范围内以及将含有负数的数据转换成正数,将用户数据中的每个属性按下式进行预处理:
[0079][0080]
其中,ui表示第i个用户,i=1,2,

,n,i表示用户端的编号,n为用户端总数;j=
1,2,

,di,j表示样本的编号,di为样本总数;m=1,2,

,ki,m表示属性的编号,ki表示属性总数;如表示第一个用户中属性1中的第一个样本,表示样本进行非负化和归一化处理后的结果。如用户u1的原始数据如表3所示,其归一化和非负化后的数据如表4所示,其它用户数据归一化和非负化的方法同理。
[0081][0082]
s12、根据预处理后的本地数据集,确定各用户端在本地数据集中每个样本出现的概率,其计算公式如下:
[0083][0084]
s13、根据每个样本出现的概率确定各用户端中每个属性的信息熵;其计算公式如下:
[0085][0086]
s14、根据每个属性的信息熵确定各用户端中每个属性的熵权;其计算公式如下:
[0087][0088]
s15、根据各用户端中每个属性的熵权及每个属性中数据的数量,确定各用户端的数据质量分数,其计算公式如下:
[0089][0090]
s2、初始化全局模型,并将初始化后的所述全局模型的参数发送给各用户端。
[0091]
选用如下公式初始化全局模型:
[0092][0093]
其中,p(y=1|x;θ)表示输入属性x时,分类结果y为1的概率;θ表示属性x的比重,
即需要优化的模型参数;e是自然对数的底;t表示矩阵的转置操作;g(θ
t
x)为初始化后的全局模型。
[0094]
其损失函数为:
[0095][0096]
其中,m表示用户端参与训练的样本个数;p(x(i))表示输入第i个属性时,通过所述全局模型的分类结果y为1的概率。
[0097]
s3、根据所述全局模型的参数,利用各用户端拥有的本地数据集,在各用户端进行训练,得到各用户端的本地模型参数;
[0098]
s31、根据所述全局模型参数在各用户端生成本地模型;
[0099]
s32、利用所述本地模型对各用户端拥有的本地数据进行分类;
[0100]
s33、进行预设次数的迭代训练,更新所述本地模型的参数,如下式:
[0101][0102]
其中,θ
lt+1
表示第lt+1次的本地模型参数,θ
lt
表示第lt次的本地模型参数;η表示用户端的学习率;l表示全局模型的损失函数。
[0103]
s4、根据各用户端的数据数量和各用户端的数据质量分数,确定各用户端的聚合权重;
[0104]
s41、根据各用户端的数据数量占总的数据量的比重,确定各用户的数据数量权重
[0105][0106]
s42、根据各用户数据质量分数占总的数据质量分数的比重,确定各用户的数据质量权重
[0107][0108]
s43、根据各用户的数据数量权重和数据质量权重采用以下公式确定各用户的混合权重
[0109][0110]
其中,表示用户ui的混合权重,表示用户ui的数据质量权重,表示用户ui的数据数量权重,λ表示数据质量权重在混合权重中的比重。
[0111]
s44、根据各用户的混合权重采用以下公式确定各用户的聚合权重
[0112][0113]
s5、根据各用户端的聚合权重和各用户端的本地模型参数,采用以下公式确定并更新所述全局模型的参数:
[0114][0115]
其中,θ
gt+1
表示第gt+1次更新后的全局模型参数,表示第i个用户端的聚合权重,表示第i个用户端的本地模型参数,n为用户端的数量。
[0116]
在对全局模型的参数进行确定并更新时,通过差分隐私进行扰动,如下式:
[0117][0118]
其中,n(0,σ2)表示添加的差分隐私,差分隐私扰动的作用是防止在训练的过程中造成信息泄露。
[0119]
s6、判断是否达到结束迭代条件;若否,则跳转到步骤s3;若是,则跳转到步骤s7;结束迭代条件可以是:达到预先设置的训练次数或者损失函数l(θ)值收敛,即趋向于一个稳定的值。
[0120]
s7、结束训练,根据训练好的全局模型进行数据分类。
[0121]
根据本实施例提出的基于公平联邦学习算法的数据分类方法得到的全局模型需要与其他方案进行对比,主要的指标有公平性。目前没有公平性定义标准,因此根据输入的贡献数据,即数量和质量的混合权重hw
(u)
,与用户的收益要匹配的理念提出公平性评估标准。此处的用户收益是指用户在未加入联邦训练前的模型准确率与最终最优全局模型准确率之间的差值为该用户的收益income
(u)
,其形式化表示如下式:
[0122][0123]
等比例-公平:用户得到的收益income
(u)
与用户的贡献w
(u)
是等比例的,即:用户的贡献分布和用户的收益分布的距离d
kl
越小越公平,运用相对熵知识进行计算如下式:
[0124][0125]
实施例2:
[0126]
对应于实施例1的一种基于公平联邦学习算法的数据分类方法,本发明还提供了一种基于公平联邦学习算法的数据分类系统,包括:
[0127]
数据质量确定模块,用于利用各用户端拥有的本地数据集,基于熵权法,根据用户端中每个属性的熵权及每个属性中数据的数量确定得到各用户端的数据质量分数;
[0128]
初始化模块,初始化全局模型,并将初始化后的全局模型参数发送给各用户端;
[0129]
本地训练模块,根据全局模型参数,利用各用户端拥有的本地数据集,在各用户端进行训练,得到各用户端的本地模型参数;
[0130]
聚合权重确定模块,用于根据各用户端的数据数量和各用户端的数据质量分数,确定各用户端的聚合权重;
[0131]
全局模型更新模块,用于根据各用户端的聚合权重和各用户端的本地模型参数,更新全局模型参数,并根据更新后的全局模型参数更新全局模型;
[0132]
判断模块,用于判断是否达到结束迭代条件,得到判断结果;
[0133]
迭代更新模块,用于当所述判断结果为否时,调用所述本地训练模块、所述聚合权重确定模块和所述全局模型更新模块;
[0134]
数据分类模块,用于当所述判断结果为是时,结束迭代更新,根据训练好的全局模型进行数据分类。
[0135]
技术中的程序部分可以被认为是以可执行的代码和/或相关数据的形式而存在的“产品”或“制品”,通过计算机可读的介质所参与或实现的。有形的、永久的储存介质可以包括任何计算机、处理器、或类似设备或相关的模块所用到的内存或存储器。例如,各种半导体存储器、磁带驱动器、磁盘驱动器或者类似任何能够为软件提供存储功能的设备。
[0136]
所有软件或其中的一部分有时可能会通过网络进行通信,如互联网或其他通信网络。此类通信可以将软件从一个计算机设备或处理器加载到另一个。例如:从视频目标检测设备的一个服务器或主机计算机加载至一个计算机环境的硬件平台,或其他实现系统的计算机环境,或与提供目标检测所需要的信息相关的类似功能的系统。因此,另一种能够传递软件元素的介质也可以被用作局部设备之间的物理连接,例如光波、电波、电磁波等,通过电缆、光缆或者空气等实现传播。用来载波的物理介质如电缆、无线连接或光缆等类似设备,也可以被认为是承载软件的介质。在这里的用法除非限制了有形的“储存”介质,其他表示计算机或机器“可读介质”的术语都表示在处理器执行任何指令的过程中参与的介质。
[0137]
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;本领域的技术人员应该理解,上述本发明的各模块或各步骤可以用通用的计算机装置来实现,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。本发明不限制于任何特定的硬件和软件的结合。
[0138]
同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1