一种基于联邦学习的分类方法与流程

文档序号:26522204发布日期:2021-09-04 10:34阅读:129来源:国知局
一种基于联邦学习的分类方法与流程

1.本发明属于信息技术技术领域,特别是涉及一种基于联邦学习的分类 方法。


背景技术:

2.为充分发掘数据背后的潜在价值,传统的数据建模方法会尽可能多的 汇总各数据拥有方的数据。如银行为发现潜在贷款客户,会收集企业的工 商数据、税务数据、征信数据和历史贷款数据等,并基于汇总数据挖掘客 户潜在的贷款需求。又如医院要通过分析某种疾病患者的数据来实现该疾 病的智能诊断,受限于单家医院病例较少,会收集多家医院同类患者的数 据,并基于汇总数据研究致病机理。这种跨行业跨企业的数据合并需付出 极高的成本,而且随着社会对隐私安全认知的提高,隐私安全的相关法案 逐步出台,这类传统直接交易数据的方式不再能满足隐私安全和相关法规 的要求,进而形成大量数据孤岛。
3.联邦学习是解决这类数据孤岛的有效方式。在联邦学习框架下,各参 与方可借助其他地方的数据进行联合建模,各方无需共享数据资源,在数 据不出本地的情况下进行数据联合训练,建立共享的机器学习模型。分类 问题是机器学习中极为重要的一类问题,为使得现有分类方法可在数据孤 岛的客观约束下挖掘数价值,提供一种基于联邦学习的分类方法。


技术实现要素:

4.为解决上述问题,本发明是提供一种降低数据的汇总成本,避免数据 中个体的隐私泄漏,而所学习的分类器还具有较高的可用性的基于联邦学 习的分类方法。
5.一种基于联邦学习的分类方法,按照如下步骤进行:
6.s1.获取多个参与方提供的原始数据,并将该各参与方提供的原始数据 上传到本地服务器中;多个参与方包括一个提供属性数据矩阵和标签数据 向量的参与方和多个只提供属性数据矩阵的参与方;
7.s2.对各参与方提供的属性数据矩阵进行数据标准化处理,得到标准化 的属性数据矩阵;
8.s3.对只提供属性数据矩阵的参与方在本地计算中间变量;
9.s4.对提供标签数据向量的参与方结合标签数据向量和步骤s3中计算 的中间变量计算梯度中间量;
10.s5.根据步骤s4得到的梯度中间量在本地计算出各参与方的属性数据 矩阵对应的梯度向量;
11.s6.各参与方根据计算的梯度向量更新各自子分类超平面,并根据更新 的子分类超平面汇总为分类超平面;
12.s7.重复步骤s3

s6,直至达到容忍误差精度或最大迭代次数,输出最 终的分类器。
13.步骤s1中所述的参与方是3个(为3个参与方仅作为对本发明说明解释的 一种实施例,),分别为a参与方、b参与方和c参与方,所述参与方a提供属 性数据矩阵d
a
和标签数据向量y
a
,参与方b提供属性数据矩阵d
b
,参与方c 提供属性数据矩阵d
c

14.步骤s1中所述属性数据矩阵d
a
、d
b
和d
c
的维度分别为p
a
、p
b
和p
c
,d
a
、 d
b
、d
c
和y
a
具有相同的样本量n,且y
a
中元素的值属于{0,1};
15.步骤s2中,对属性数据矩阵d
a
按照如下方法进行标准化处理,对于n
×ꢀ
p
a
的属性数据矩阵d
a
计算其列均值m
a
和列方差s
a
,令x
a
=(d
a

m
a
)/s
a
为标准化的属性数据矩阵;
16.按照属性数据矩阵d
a
的标准化处理方法对属性数据矩阵d
b
和d
c
进行标 准化处理得到标准化的属性数据矩阵x
b
和x
c

17.步骤3中所述只提供属性数据矩阵的参与方在本地计算中间变量的方法 是,迭代算法在第t步迭代时的分类超平面为β
t
,首次执行是给定初始分类 超平面为β1;其中和分别为当前第t步x
a
、x
b
和x
c
中所包含属性对应的子分类超平面;
18.参与方b和参与方c分别在本地计算与并将与传输 给参与方a,参与方a得到中间变量。
19.步骤s4中所述参与方a基于标签数据向量和中间变量信息得到参与方a 在本地计算的梯度中间量为:
[0020][0021]
并将该梯度中间量传输给参与方b和c;
[0022]
步骤5中在本地计算出各参与方的属性数据矩阵对应的梯度向量的方 法是,根据所得梯度中间量计算参与方a、参与方b和参与方c的属性数据 矩阵中属性对应的梯度向量,梯度向量为
[0023][0024][0025][0026]
其中λ2≥0为l2型罚项对应的惩罚参数;
[0027]
步骤6中所述更新超分类平面的方法如下:
[0028]
对参与方a的子分类超平面更新:
[0029]
首先令
[0030][0031]
η
t
为给定的学习率;
[0032]
其次根据预先设定的l1型罚项对应的惩罚参数λ1≥0,对进行截断, 对于中的第i个元素这里i∈{1,2,

,p
a
},截断方式为:
[0033]
如果则
[0034]
如果则
[0035]
对中的p
a
个元素分别执行如上截断过程可得到更新后的子分类超平 面
[0036]
按照参与方a的子分类超平面更新方式,对参与方b和参与方c的子分类 超平面进行更新,更新后的子分类超平面为和再进行汇总获得更 新后的分类超平面
[0037]
重复步骤s3

s6,直至达到容忍误差精度或最大迭代次数,输出最终的 分类器。
[0038]
本发明的有益效果是:在联邦学习框架下学习分类器可打破数据壁垒, 降低数据的汇总成本,避免数据中个体的隐私泄漏,而所学习的分类器还 具有较高的可用性,可以判断出目标数据的具体类别。
具体实施方式
[0039]
下面结合实施例对本发明进行详细的描述。
[0040]
一种基于联邦学习的分类方法,
[0041]
步骤1:各参与方将数据上传到本地节点
[0042]
在联邦学习框架下,不要求各参与方直接提供原始数据,参与方只需 将数据上传到本地服务器,在联合建模过程中提供某些中间变量。
[0043]
本方法允许多个参与方共同参与联合建模。不失一般性,假定有a、b 和c三个参与方参与联合建模,参与方a提供属性数据矩阵d
a
和标签数据 向量y
a
,参与方b提供属性数据矩阵d
b
,参与方c提供属性数据矩阵d
c
, 属性数据矩阵d
a
、d
b
和d
c
的维度分别为p
a
、p
b
和p
c
,要求d
a
、d
b
、d
c
和y
a
具有相同的样本量n,且y
a
中元素的值属于{0,1}。
[0044]
步骤2:各节点分别进行数据标准化处理
[0045]
为保证在后续步骤中各参与方的参与度相同,需对数据进行标准化处 理。以d
a
为例,对于n
×
p
a
的属性数据矩阵d
a
,计算其列均值m
a
和列方差 s
a
,令x
a
=(d
a

m
a
)/s
a
为标准化的属性数据矩阵,同样可得标准化的属 性数据矩阵x
b
和x
c

[0046]
步骤3:只提供属性数据的参与方本地计算
[0047]
基于步骤2标准化处理的数据,只提供属性数据的参与方在本地计算 中间变量。本方案迭代执行,记第t步迭代时的分类超平面为β
t
(首次执 行时需给定初始分类超平面
为β1),和分别为当前步x
a
、x
b
和x
c
中所包含属性对应的子分类超平面。
[0048]
参与方b和c分别在本地计算与并将与传输给参 与方a。
[0049]
步骤4:标签数据提供方计算梯度中间量
[0050]
标签数据提供方结合标签数据与步骤3提供的信息计算梯度中间量。
[0051]
参与方a在本地计算并将该梯度中间 量传输给参与方b和c。
[0052]
步骤5:各参与方分别计算其属性对应梯度
[0053]
各参与方根据步骤4所得梯度中间量分别在本地计算各自数据矩阵中 属性对应的梯度向量。
[0054]
记梯度向量为参与方a、b和c分别计算
[0055][0056][0057][0058]
其中λ2≥0为l2型罚项对应的惩罚参数,需提前给定。
[0059]
步骤6:更新分类超平面
[0060]
各参与方根据步骤5计算的梯度向量更新分类超平面。为得到稀疏的 分类超平面,每次更新分两步进行。
[0061]
以参与方a为例,首先令
[0062][0063]
这里η
t
为给定的学习率。
[0064]
其次根据预先设定的l1型罚项对应的惩罚参数λ1≥0,对进行截断, 对于中的第i个元素这里i∈{1,2,

,p
a
},截断方式为
[0065]
如果则
[0066]
如果则
[0067]
对中的每个元素执行如上截断过程可得到更新后的子分类超平面 同
理,参与方b和c分别执行如上过程可得到更新后的子分类超平面 和汇总可得更新后的分类超平面
[0068]
步骤7:重复步骤3

步骤6学习出分类器
[0069]
重复执行上述步骤3

步骤6直至达到容忍误差精度或最大迭代次数,输 出最终的分类器。
[0070]
实施例
[0071]
一种基于联邦学习的分类方法,
[0072]
步骤1:各参与方将数据上传到本地节点
[0073]
在本实施样例中有a、b和c三个参与方参与联合建模,共同学习一个 判断企业是否为银行潜在贷款客户的分类器。参与方a在本地服务器上传 包含4个属性的企业历史贷款数据d
a
和企业本轮是否贷款成功的标签数据 y
a
,标签值为0表示企业本轮获贷失败,标签值为1表示企业本轮货代成 功。参与方b在本地服务器上传包含11个属性的企业税务数据d
b
,参与方 c在本地服务器上传包含6个属性的企业税务数据d
c
,属性数据矩阵d
a
、d
b
和d
c
的维度分别为4,11和6,这里属性数据d
a
、d
b
、d
c
和标签数据y
a
的样本量均为208。
[0074]
步骤2:各节点分别进行数据标准化处理
[0075]
为保证在后续步骤中各参与方的参与度相同,需对数据进行标准化处 理。对于208
×
4的属性数据矩阵d
a
,计算其4列均值m
a
= (m
a1
,m
a2
,m
a3
,m
a4
)和4列方差s
a
=(s
a1
,s
a2
,s
a3
,s
a4
),令x
a
=(d
a
‑ꢀ
m
a
)/s
a
为标准化的属性数据矩阵,同样可得标准化的属性数据矩阵x
b
和x
c

[0076]
步骤3:参与方b和c在本地计算中间变量
[0077]
基于步骤2标准化处理的数据,参与方b和c在本地计算中间变量。 基于第t步的更新结果β
t
,参与方b和c分别在本地计算与并 将与传输给参与方a。
[0078]
对于第t=1步,给定初始值β
t
为元素均为1的21维向量。
[0079]
步骤4:参与方a计算梯度中间量
[0080]
参与方a结合其标签数据与步骤3提供的信息计算梯度中间量。具体 地,参与方a在本地计算
[0081][0082]
并将该梯度中间量传输给参与方b和c。
[0083]
步骤5:各参与方分别计算其属性对应梯度
[0084]
各参与方根据步骤4所得梯度中间量计算各自数据矩阵中属性对应的 梯度向量。记梯度向量为参与方a、b和c分别计 算
[0085]
[0086][0087][0088]
步骤6:更新分类超平面
[0089]
各参与方根据步骤5计算的梯度向量更新分类超平面。为得到稀疏的 分类超平面,每次更新分两步进行。
[0090]
以参与方a为例,首先令
[0091][0092]
其次对进行截断,对于中的第i个元素这里i∈{1,2,3,4}, 截断方式为
[0093]
如果则
[0094]
如果则
[0095]
对中的4个元素分别执行如上截断过程可得到更新后的子分类超 平面同理,参与方b和c分别执行如上过程可得到更新后的子分类超 平面和汇总可得更新后的分类超平面
[0096]
步骤7:重复步骤3

步骤6学习出分类器
[0097]
重复执行步骤3

步骤6直至达到容忍误差精度或最大迭代次数,输出 最终的分类器。在算法实际执行过程中,容忍误差精度通常设置为0.001, 最大迭代次数通常设置为100;
[0098]
在目标数据下测试分类器的准确率可得如下结果。本申请中的联邦学 习分类算法在测试集上的表现与本地分类方法(汇总各方数据后本地建模) 非常接近,说明本技术方案具有较高的可用性。
[0099][0100]
发明是在联邦学习框架下训练分类器的一种方法,在联邦学习框架下 学习分类器可打破数据壁垒,降低数据的汇总成本,避免数据中个体的隐 私泄漏,而所学习的分类
器还具有较高的可用性,可以判断出目标数据的 具体类别。
[0101]
通过logistic回归模型学习分类器是数据价值挖掘中广泛使用的一种 方法,本发明解决了该模型在联邦学习框架下的实现问题。
[0102]
以上实施例仅仅是对本发明的举例说明,并不构成对本发明的保护范围 的限制,凡是与本发明相同或相似的设计均属于本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1