CN114925786A - 基于秘密分享的纵向联邦线性支持向量分类方法 - Google Patents

基于秘密分享的纵向联邦线性支持向量分类方法 Download PDF

Info

Publication number
CN114925786A
CN114925786A CN202210796849.9A CN202210796849A CN114925786A CN 114925786 A CN114925786 A CN 114925786A CN 202210796849 A CN202210796849 A CN 202210796849A CN 114925786 A CN114925786 A CN 114925786A
Authority
CN
China
Prior art keywords
secret
guest
initiator
participant
host
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210796849.9A
Other languages
English (en)
Inventor
陈星强
刘文博
裴阳
马煜翔
任江哲
毛仁歆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lanxiang Zhilian Hangzhou Technology Co ltd
Original Assignee
Lanxiang Zhilian Hangzhou Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lanxiang Zhilian Hangzhou Technology Co ltd filed Critical Lanxiang Zhilian Hangzhou Technology Co ltd
Priority to CN202210796849.9A priority Critical patent/CN114925786A/zh
Publication of CN114925786A publication Critical patent/CN114925786A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开提供一种基于秘密分享的纵向联邦线性支持向量分类方法,方法包括:构建纵向联邦线性支持向量分类模型,纵向联邦线性支持向量分类模型包括发起方Guest和参与方Host;在训练环节发起方Guest提供模型训练样本的本方特征
Figure 150875DEST_PATH_IMAGE001
,同时提供用于训练的样本标签
Figure 599174DEST_PATH_IMAGE002
;参与方Host用于在训练过程中提供参与方特征
Figure 926381DEST_PATH_IMAGE003
,发起方Guest和参与方Host是采用参数秘密共享方式并通过误差学习的方式协同训练得到线性分类模型权重参数。本发明通过秘密分享和误差学习的方式保护两方通信数据安全,无需借助可信任第三方作为数据安全传输方。

Description

基于秘密分享的纵向联邦线性支持向量分类方法
技术领域
本公开涉及一种分类方法,尤其涉及一种基于秘密分享的纵向联邦线性支持向量分类方法。
背景技术
在机器学习中,支持向量机(support vector machine,简称为SVM)是在分类与回归任务中的监督式学习算法。给定一组训练实例,每个训练实例被标记为属于两个类别中的一个或另一个,SVM训练算法创建一个将新的实例分配给两个类别之一的模型,使其成为非概率二元线性分类器(Linear-SVC)。除了进行线性分类之外,SVM还可以使用核技巧有效地进行非线性分类。
在两方联邦建模的场景中,需要对SVM算法过程进行加密,现有的技术主要通过借助第三方进行数据传输过程安全加密,通过约定三方之间的数据交换和通信流程,保护本方数据安全,该方法对两方场景不能适配。
因此,本领域需要一种新的分类方法来解决上述问题。
发明内容
本发明的目的在于提供一种基于秘密分享的纵向联邦线性支持向量分类方法,旨在解决两方的纵向联邦线性支持向量分类的问题。
为了实现上述目的,本发明采用如下技术方案:
一种基于秘密分享的纵向联邦线性支持向量分类方法,所述方法包括:
构建纵向联邦线性支持向量分类模型,所述纵向联邦线性支持向量分类模型包括发起方Guest和参与方Host;
所述发起方Guest用于模型训练样本的本方样本特征
Figure 75955DEST_PATH_IMAGE001
,同时提供用于训练的样 本标签
Figure 952644DEST_PATH_IMAGE002
;所述参与方Host用于在训练过程中提供本方样本特征
Figure 306265DEST_PATH_IMAGE003
,在预测环节中为所述 发起方Guest提供本方特征,协同发起方Guest进行训练;
其中,所述发起方Guest和参与方Host是采用参数秘密共享方式并通过误差学习的方式协同训练得到的分类模型。
较佳地,所述发起方Guest和参与方Host的协同训练过程包括:
步骤Sa1:所述参与方Host的权重向量Wb维度协同到所述参与方Guest 方以初始化全局权重向量W;
步骤Sa2:所述发起方Guest选取样本向量i和样本向量j,将i、j协同到所述参与方Host;所述发起方Guest选取样本向量(i,j)协同到所述参与方Host;
步骤Sa3:计算K = Kb + Ka,其中,K为线性核函数,Ka为发起方Guest的核函数计算结果,Kb为参与方Host的核函数计算结果;
步骤Sa4:所述发起方Guest计算训练迭代终止条件,更改运行状态,协同到所述参与方Host同步运行状态;
步骤Sa5:所述发起方Guest 单独参与更新
Figure 120768DEST_PATH_IMAGE004
,所述
Figure 850827DEST_PATH_IMAGE004
为核函数K的约束系数,
Figure 50864DEST_PATH_IMAGE004
包括
Figure 575386DEST_PATH_IMAGE005
Figure 611606DEST_PATH_IMAGE006
Figure 879777DEST_PATH_IMAGE007
Figure 934320DEST_PATH_IMAGE008
分别为样本向量i和j对应的核函数K的约束系数;
步骤Sa6:所述发起方Guest更新模型参数
Figure 911635DEST_PATH_IMAGE009
后将模型参数
Figure 684419DEST_PATH_IMAGE009
前后的变化量(
Figure 490701DEST_PATH_IMAGE010
)乘以(yi, yj)并发送到所述参与方Host参与权重Wb的更新,其中yi为样本向量i 的标签;
步骤Sa7:所述参与方Host将计算后的
Figure 930909DEST_PATH_IMAGE011
,通过秘密共享的方式分享到所述发起 方Guest,参与全局权重
Figure 547967DEST_PATH_IMAGE012
的更新,其中
Figure 808047DEST_PATH_IMAGE011
为参与方Host更新后的权重向量;
步骤Sa8:重复执行步骤Sa1至步骤Sa7,直到达到终止条件。
较佳地,在模型训练过程中,
所述纵向联邦线性支持向量分类模型的目标函数如下式所示:
Figure 418020DEST_PATH_IMAGE013
所述发起方Guest的目标函数为:
Figure 463467DEST_PATH_IMAGE014
所述参与方Host的目标函数为:
Figure 766272DEST_PATH_IMAGE015
所述发起方Guest和所述参与方Host共同优化的目标为:
Figure 248069DEST_PATH_IMAGE016
其中,
Figure 661733DEST_PATH_IMAGE017
满足:
Figure 561687DEST_PATH_IMAGE018
Figure 35394DEST_PATH_IMAGE019
其中,C是用户定义的超参数,且C>0。
较佳地,所述发起方Guest和参与方Host迭代训练包括:
步骤Sb1:在所述发起方Guest初始化
Figure 270066DEST_PATH_IMAGE020
, 在所述参与方Host 初始化
Figure 972574DEST_PATH_IMAGE021
;
步骤Sb2:初始化样本向量i对应的误差项
Figure 976302DEST_PATH_IMAGE022
和偏移量
Figure 77299DEST_PATH_IMAGE024
;
步骤Sb3:在所述发起方Guest选取两个向量(i, j)作为需要调整的点
步骤Sb4:令
Figure 583498DEST_PATH_IMAGE025
,其中
Figure 441733DEST_PATH_IMAGE026
Figure 257242DEST_PATH_IMAGE027
为更新后的
Figure 200927DEST_PATH_IMAGE028
值,
Figure 799834DEST_PATH_IMAGE029
为更新前的
Figure 512575DEST_PATH_IMAGE030
值,
Figure 233406DEST_PATH_IMAGE031
为样本向量j对应的误差项;
步骤Sb5:再所述发起方 Guest判断
Figure 680699DEST_PATH_IMAGE032
Figure 777968DEST_PATH_IMAGE033
Figure 502527DEST_PATH_IMAGE030
的上 界;
步骤Sb6:令
Figure 437116DEST_PATH_IMAGE035
Figure 338076DEST_PATH_IMAGE036
Figure 25410DEST_PATH_IMAGE030
的下界;
步骤Sb7:如果
Figure 104355DEST_PATH_IMAGE037
步骤Sb8:令
Figure 244350DEST_PATH_IMAGE038
步骤Sb9:令
Figure 949000DEST_PATH_IMAGE039
步骤Sb10:利用更新的
Figure 490840DEST_PATH_IMAGE040
Figure 6266DEST_PATH_IMAGE041
修改
Figure 633557DEST_PATH_IMAGE042
Figure 876319DEST_PATH_IMAGE043
的值, 并通过 秘密共享的方式加密,其中,
Figure 23398DEST_PATH_IMAGE044
,concat()”表示按照水平方向拼接两方 权重;
步骤Sb11:如果达到终止条件,则停止算法,否则转步骤Sb3。
较佳地,所述秘密共享包括终秘密生成与恢复的步骤和秘密的计算步骤,
终秘密生成与恢复的步骤包括:
对于秘密
Figure 224572DEST_PATH_IMAGE045
和它本身的秘密分享
Figure 339159DEST_PATH_IMAGE046
满足:
Figure 870765DEST_PATH_IMAGE047
,其中
Figure 387197DEST_PATH_IMAGE048
代表 发起方Guest拥有的秘密分片,
Figure 228114DEST_PATH_IMAGE049
代表在参与方Host拥有的秘密分片;
设置秘密生成算法
Figure 829997DEST_PATH_IMAGE050
: 秘密拥有者发起方Guest 或者参与方Host, 记作 Pi生成一个随机数
Figure 165294DEST_PATH_IMAGE051
,并设定
Figure 801812DEST_PATH_IMAGE052
;其中
Figure 813630DEST_PATH_IMAGE053
表示秘密生 成算法的发起者本方拥有的秘密分片,其中B代表该秘密分片是在布尔布尔电路下进行分 享,
Figure 637230DEST_PATH_IMAGE054
代表秘密生成算法调用者的对方所有的秘密分片,⊕符号代表异或门;
设置秘密恢复算法
Figure 41798DEST_PATH_IMAGE055
将自己的秘密分享
Figure 532822DEST_PATH_IMAGE056
发送给Pi,则恢复 秘密
Figure 715541DEST_PATH_IMAGE057
;
所述秘密计算的步骤包括:
设置秘密加法:定义z为加法计算结果,<z>为加法计算结果的分片,<x>,<y>代表 加数x,y的两个秘密分片,
Figure 42749DEST_PATH_IMAGE058
,则每个用户P在本地计算自己对于秘密
Figure 969116DEST_PATH_IMAGE059
的分 享为:
Figure 49068DEST_PATH_IMAGE060
设置秘密乘法:定义z为乘法计算结果,<z>为乘法计算结果的分片,<x>,<y>代表 乘数x,y的两个秘密分片,
Figure 668268DEST_PATH_IMAGE061
,定义乘法三元组(c=a*b),对于某一方Pi,定义秘 密分片
Figure 482771DEST_PATH_IMAGE062
,则有
Figure 212830DEST_PATH_IMAGE063
Figure 147288DEST_PATH_IMAGE064
Figure 953701DEST_PATH_IMAGE065
分别为
Figure 239189DEST_PATH_IMAGE066
Figure 507359DEST_PATH_IMAGE067
在Pi方的秘密分享值,
Figure 561903DEST_PATH_IMAGE068
Figure 539217DEST_PATH_IMAGE069
Figure 46422DEST_PATH_IMAGE070
分别为三元组(a,b,c)在Pi方的秘密分享值。
较佳地,所述
Figure 309224DEST_PATH_IMAGE036
Figure 175549DEST_PATH_IMAGE072
为 的下界和上界,并满足下式:
Figure 61914DEST_PATH_IMAGE073
Figure 91050DEST_PATH_IMAGE074
较佳地,所述终止条件为KKT条件对所有向量均满足,或者目标函数
Figure 128276DEST_PATH_IMAGE075
增长率 小于预设阈值。
较佳地,在模型训练过程中,所述发起方Guest生成与训练轮次长度一样的随机数 向量
Figure 141231DEST_PATH_IMAGE076
,对该向量
Figure 305627DEST_PATH_IMAGE076
取负值,并做打乱操作后发送到所述参与方Host,并再次打乱得到
Figure 189270DEST_PATH_IMAGE077
; 在之后的训练迭代过程中,在所述发起方Guest方取
Figure 662976DEST_PATH_IMAGE078
, 将
Figure 648381DEST_PATH_IMAGE079
;在所 述参与方Host方取
Figure 600157DEST_PATH_IMAGE080
, 将
Figure 869464DEST_PATH_IMAGE081
,。
较佳地,所述方法还包括纵向联邦线性支持向量分类模型的模型评估的步骤,具体为:
按下式所示的方法评估分类准率:
Figure 248493DEST_PATH_IMAGE082
其中,TP为真正例, TN为真负例, FP为假正, FN为假负例,Accuracy为准确率。
较佳地,所述方法还包括纵向联邦线性支持向量分类模型的模型预测的步骤,具体为:
按下所示的方法获取纵向联邦线性支持向量分类模的预测结果:
Figure 455614DEST_PATH_IMAGE083
按下式所示的方法对所述预测结果进行分类:
Figure 476660DEST_PATH_IMAGE084
综上所述,本发明提供的基于秘密分享的纵向联邦线性支持向量分类方法具有如下有益效果:
1)构建的纵向联邦线性支持向量分类模型能够在理想时间内完成待测样本的分类;
2)基于秘密分享的方式和误差学习的方式实现了高安全和高性能、准确性保真的训练过程。
附图说明
图1为纵向联邦线性支持向量分类模型的训练初始化准备的流程示意图;
图2为纵向联邦线性支持向量分类模型中两方秘密共享纵向 Linear-SVC算法训练、预测和评估的流程示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
应当理解,在本公开的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。
应当理解,在本公开中,“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本公开中,“多个”是指两个或两个以上。“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。“包含A、B和C”、“包含A、B、C”是指A、B、C三者都包含,“包含A、B或C”是指包含A、B、C三者之一,“包含A、B和/或C”是指包含A、B、C三者中任1个或任2个或3个。
应当理解,在本公开中,“与A对应的B”、“与A相对应的B”、“A与B相对应”或者“B与A相对应”,表示B与A相关联,根据A可以确定B。根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其他信息确定B。A与B的匹配,是A与B的相似度大于或等于预设的阈值。
取决于语境,如在此所使用的“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。
下面以具体地实施例对本公开的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
一、建模初始化准备过程
参与附图1,图1为纵向联邦线性支持向量分类模型的训练初始化准备情况。本发 明主要解决两方的纵向联邦线性支持向量分类的问题,其中一方称为发起方Guest,即图1 左侧的Guest,发起方Guest主要负责模型训练样本的本方样本特征
Figure 334894DEST_PATH_IMAGE001
部分, 同时提供用 于训练的样本标签
Figure 901136DEST_PATH_IMAGE002
;另一方称为参与方Host,即图1右侧的Host,参与方Host方主要参与 模型训练环节和预测环节,在训练过程中提供本方样本特征
Figure 844821DEST_PATH_IMAGE003
,在预测环节提供同样维度 的特征为预测提供特征支持,在纵向联邦学习过程中,参与方Host一般不提供样本标签Y。 明确参与两方的数据和模型参数后,我们就可以对模型训练进行初始化,其中发起方Guest 和参与方Host分别初始化权重向量 <Wa> 和 <Wb> 。同时参与方Host将本方权重向量 <Wb > 的维度发送给发起方Guest,协助发起方Guest方完成全局模型M的权重向量 <W> 的初始 化。后续训练过程中权重向量 <Wa> ,<Wb>,<W> 将协同更新。
二、模型训练、评估和预测过程
本发明纵向联邦线性支持向量分类模型(两方联邦Linear-SVC)在训练过程中,构建参数秘密共享机制,并通过误差学习的方式,在训练过程中进一步对敏感信息进行加密传输,确保模型训练准确性的同时,能够灵活使用秘密共享(Secret sharing)和误差学习来确保训练准确性和高效安全训练的需求。其中下述主要过程按照模型训练、模型预测、模型评估分别详述。
参阅附图2为纵向联邦线性支持向量分类模型中两方秘密共享纵向 Linear-SVC算法训练、预测和评估的流程示意图。本发明是通过秘密共享(secret sharing)的方式进行纵向联邦线性支持向量分类模型安全训练。
模型训练过程
在模型完成两方建模的初始化和数据准备工作后,初始化主要包括,两方建模之间安全通信的可靠实现,两方数据纵向样本构建可行,在公共样本空间进行模型训练工作,其中一方为发起方Guest,拥有 Y标签,另一方为参与方 Host,无标签,训练任务由发起方发起Guest,训练任务开始后,两方分别更新和训练本方模型,得到本地模型La和Lb(见图2),经过发起方Guest对两方模型参数Wa和Wb的安全聚合后得到全局模型G(图2 中GlobalModel) 和权重向量 <W>,则完成整个训练过程。
模型的评估
在模型完成训练后,基于发起、参与两方按照约定方式和比例切分数据集为训练集和验证集,其中训练集用于上述训练过程,测试集用于评估全局模型G的准确性,从而确保模型的训练过程有效,其中训练集和测试集的划分通过确定的比例和固定的样本id进行切分,确保两方之间能够各自准确的获取对应的数据集进行训练和评估。在评估过程中,我们采用准确率(Accuracy)指标作为分类准确性的评估指标,其中评估结果由发起方 Guest比较验证集中真实标签 Ytrue和预测标签Ypredict,计算公式为(1),其中TP为真正例,即预测为正例实际为正例;TN为真负例,即预测为负实际为负例;FP为假正,即预测为正例实际为负例;FN为假负例, 即预测为负例实际为正例。则准确率指标计算为:
Figure 138399DEST_PATH_IMAGE085
模型的预测
在纵向联邦线性支持向量分类模型完成预测和相应模型文件由发起方Guest保存 共享后,可完成模型的上线部署和预测。在预测环节发起方Guest和参与方Host均可作为数 据的输入方且双方均输出预测结果,其中模型预测阶段考虑两方数据安全的前提下,通过 公式(2)进行模型参数代入计算得出预测结果,并通过公式(3)完成分类任务, 其中
Figure 116720DEST_PATH_IMAGE086
表示为预测时发起方Guest数据和参与方Host数据:
Figure 853863DEST_PATH_IMAGE087
Figure 284844DEST_PATH_IMAGE088
三、模型训练过程中参数安全传输与加密
在模型训练过程中,发起方Guest 和参与方Host将协同开展训练工作,其中训练主要涉及到的协同过程分为:
步骤Sa1:参与方Host权重向量Wb维度协同到发起方Guest初始化全局权重向量W。
步骤Sa2:发起方Guest 选取样本向量 i,j协同到参与方Host;样本向量 i,j分别样本集中的第i、j个样本。
步骤Sa3:计算K = Kb + Ka = Kii a + Kjj a+ Kij a + Kii b + Kjj b+ Kij b,其中 Kb需要 通信传输到发起方Guest完成K值的计算;其中K为线性核函数,
Figure 382113DEST_PATH_IMAGE089
,
Figure 949361DEST_PATH_IMAGE090
为 发起方Guest核函数计算结果,
Figure 122984DEST_PATH_IMAGE091
为参与方Host 核函数计算结果;Kii a为发起方Guest对 应的样本向量i与样本向量i的内积,Kij a为发起方Guest对应的样本向量i与样本向量j的内 积,Kjj a为发起方Guest对应的样本向量j与样本向量j的内积,Kii b为参与方Host对应的样本 向量i与样本向量i的内积,Kij b为参与方Host对应的样本向量i与样本向量j的内积,Kjj b为 参与方Host对应的样本向量j与样本向量j的内积。
步骤Sa4:发起方Guest计算训练迭代终止条件,更改运行状态,协同到参与方Host同步运行状态;
步骤Sa5:发起方Guest 单独参与更新模型参数
Figure 41261DEST_PATH_IMAGE004
Figure 676642DEST_PATH_IMAGE004
为核函数K的约束系数,
Figure 114708DEST_PATH_IMAGE004
包括
Figure 708500DEST_PATH_IMAGE092
Figure 114074DEST_PATH_IMAGE093
Figure 569457DEST_PATH_IMAGE092
Figure 845718DEST_PATH_IMAGE093
分别为样本向量i和j对应的核函数K的约束系数;
步骤Sa6:发起方Guest更新
Figure 610411DEST_PATH_IMAGE004
后将
Figure 237702DEST_PATH_IMAGE004
前后的变化量
Figure 965617DEST_PATH_IMAGE094
,乘以
Figure 627543DEST_PATH_IMAGE095
,
Figure 563138DEST_PATH_IMAGE096
发送到参与方Host参与参与方Host的权重Wb的更新;
Figure 677724DEST_PATH_IMAGE004
的前后变化量即为变化前的 值
Figure 474910DEST_PATH_IMAGE097
减去变化后的值
Figure 991342DEST_PATH_IMAGE098
,即
Figure 832259DEST_PATH_IMAGE099
步骤Sa7:参与方Host将计算后的
Figure 184874DEST_PATH_IMAGE100
通过秘密共享的方式分享到发起方 Guest,参与全局权重
Figure 769439DEST_PATH_IMAGE012
的更新;
Figure 405957DEST_PATH_IMAGE100
为更新前的权重
Figure 417776DEST_PATH_IMAGE101
减去更新后的权重
Figure 992107DEST_PATH_IMAGE102
, 即
Figure 380363DEST_PATH_IMAGE103
步骤Sa8:重复步骤Sa1至步骤Sa7,直到达到终止条件。
delta_Q,即
Figure 871388DEST_PATH_IMAGE104
y_grad即
Figure 804840DEST_PATH_IMAGE105
,
Figure 381315DEST_PATH_IMAGE106
四、Fed-SMO 优化算法
联邦Linear-SVC算法的最优解过程是一个凸优化问题的求解过程,我们将序列最小优化算法(SMO)应用在联邦 Linear-SVC 算法最优化求解任务中。
问题定义
考虑发起方Guest数据集为
Figure 307682DEST_PATH_IMAGE107
和参与方Host数据集 为
Figure 653213DEST_PATH_IMAGE108
的两方线性二分类问题,其中
Figure 23146DEST_PATH_IMAGE109
分别是发起方Guest 和参与方Host的 输入向量,
Figure 821337DEST_PATH_IMAGE110
是输入样本向量
Figure 285817DEST_PATH_IMAGE109
的类别标签,仅在发起方Guest输入,并 且只允许取两个值。那么两方联邦线性支持向量二分类任务的目标函数最优化等价于求解 以下二次规划问题的最大值:
Figure 485854DEST_PATH_IMAGE111
其中,Guest 方的求解目标函数为:
Figure 26688DEST_PATH_IMAGE112
Host 方的求解目标函数为:
Figure 312176DEST_PATH_IMAGE113
两方的共同优化目标:
Figure 111504DEST_PATH_IMAGE114
对于
Figure 916780DEST_PATH_IMAGE017
满足:
Figure 612204DEST_PATH_IMAGE115
Figure 384988DEST_PATH_IMAGE116
其中,C是用户定义的超参数,C>0,
Figure 473161DEST_PATH_IMAGE117
是核函数,本发明为线性核计算方法,即
Figure 382211DEST_PATH_IMAGE118
Fed-SMO算法
由于目标函数为凸函数,一般的优化算法都通过梯度方法一次优化一个变量求解 二次规划问题的最大值,但是对于以上问题,由于限制条件
Figure 514115DEST_PATH_IMAGE119
存在,当某个
Figure 774195DEST_PATH_IMAGE120
从 更新到
Figure 671757DEST_PATH_IMAGE122
时,上述限制条件即被打破。为了克服以上的困难, 该算法采用一 次更新两个变量的方法。
假设算法在某次更新时更新的变量为
Figure 708983DEST_PATH_IMAGE123
Figure 207092DEST_PATH_IMAGE124
,其余变量视为常量。现规定
Figure 620756DEST_PATH_IMAGE125
Figure 504398DEST_PATH_IMAGE126
则空间距离值为:
Figure 712525DEST_PATH_IMAGE127
因而,二次规划目标值可以写成
Figure DEST_PATH_IMAGE128
由于限制条件
Figure 494668DEST_PATH_IMAGE129
存在,将
Figure 712023DEST_PATH_IMAGE130
看作常数,则有
Figure 466483DEST_PATH_IMAGE131
成立 ( 为常数)。由于
Figure 833059DEST_PATH_IMAGE132
,从而
Figure 339258DEST_PATH_IMAGE133
,
Figure 13002DEST_PATH_IMAGE134
为变量
Figure 691108DEST_PATH_IMAGE135
Figure 998DEST_PATH_IMAGE136
。取最 优化变量,则上式又可写成:
Figure 231308DEST_PATH_IMAGE137
对 求偏导以求得最大值,有:
Figure 244711DEST_PATH_IMAGE138
因此,可以得到:
Figure 77538DEST_PATH_IMAGE139
规定误差项
Figure 234850DEST_PATH_IMAGE140
,取
Figure 638281DEST_PATH_IMAGE141
,并规定
Figure 804820DEST_PATH_IMAGE142
,上述结 果可以化简为
Figure 492153DEST_PATH_IMAGE143
再考虑限制条件
Figure 820366DEST_PATH_IMAGE144
的取值只能为直线
Figure 976672DEST_PATH_IMAGE145
落在矩形
Figure 415744DEST_PATH_IMAGE146
中的部分。因此,算法需要检查
Figure 957584DEST_PATH_IMAGE147
的值以确认这个值落在约束区间之内。
算法框架
Fed-SMO算法是一个联邦迭代优化算法。在每一个迭代步骤中,算法首先选取两个 待更新的向量,此后分别计算它们的误差项,并根据上述结果计算出
Figure 207430DEST_PATH_IMAGE148
Figure 834721DEST_PATH_IMAGE149
。 最后再根据公式(8)的定义计算出偏移量
Figure 343063DEST_PATH_IMAGE043
。对于误差项
Figure 4988DEST_PATH_IMAGE150
而言,可以根据
Figure 425736DEST_PATH_IMAGE148
Figure 274744DEST_PATH_IMAGE149
的增量进行调整,而无需每次重新计算。具体的算法如下:
步骤Sb1:在发起方Guest初始化
Figure 586776DEST_PATH_IMAGE151
, 在参与方Host 初始化
Figure 853941DEST_PATH_IMAGE152
步骤Sb2:初始化样本向量i对应的误差项
Figure 960437DEST_PATH_IMAGE153
和偏移量
Figure 881305DEST_PATH_IMAGE154
;
步骤Sb3:在发起方Guest选取两个样本向量(i, j)作为需要调整的点;
步骤Sb4:令
Figure 2976DEST_PATH_IMAGE155
,其中
Figure 14795DEST_PATH_IMAGE156
Figure 369553DEST_PATH_IMAGE157
为更新后的
Figure 242962DEST_PATH_IMAGE028
值,
Figure 733986DEST_PATH_IMAGE158
为更新前的
Figure 182285DEST_PATH_IMAGE030
值,
Figure 493181DEST_PATH_IMAGE159
为样本 向量j对应的误差项;
步骤Sb5:再发起方 Guest判断
Figure 435860DEST_PATH_IMAGE160
Figure 781391DEST_PATH_IMAGE072
Figure 683936DEST_PATH_IMAGE030
的上界;
步骤Sb6:令
Figure 413994DEST_PATH_IMAGE161
Figure 614031DEST_PATH_IMAGE036
Figure 404133DEST_PATH_IMAGE030
的下界;
步骤Sb7:如果
Figure 705932DEST_PATH_IMAGE162
步骤Sb8:令
Figure 239682DEST_PATH_IMAGE038
步骤Sb9:令
Figure 294226DEST_PATH_IMAGE039
步骤Sb10:利用更新的
Figure 740382DEST_PATH_IMAGE163
Figure 778745DEST_PATH_IMAGE164
修改
Figure 850606DEST_PATH_IMAGE165
Figure 759656DEST_PATH_IMAGE043
的值, 其中
Figure 642293DEST_PATH_IMAGE166
,通过秘密分享的方式加密实现;“concat()”表示 按照水平方向拼接两方权重;
步骤Sb11:如果达到终止条件,则停止算法,否则转步骤Sb3。
其中,
Figure 777925DEST_PATH_IMAGE036
Figure 557793DEST_PATH_IMAGE033
的下界和上界。特别地,有
Figure 126178DEST_PATH_IMAGE167
Figure 607975DEST_PATH_IMAGE168
这一约束的意义使得
Figure 772371DEST_PATH_IMAGE163
,
Figure 656013DEST_PATH_IMAGE164
均位于矩形域
Figure 129720DEST_PATH_IMAGE169
中。
优化向量选择方法
可以采用启发式的方法选择每次迭代中需要优化的向量。第一个向量可以选取不满足支持向量机KKT条件的向量,亦即不满足
Figure 364392DEST_PATH_IMAGE170
的向量。而第二个向量可以选择使得
Figure 332479DEST_PATH_IMAGE171
最大的向量。
终止条件
Fed-SMO算法的终止条件可以为KKT条件对所有向量均满足,或者目标函数
Figure 336207DEST_PATH_IMAGE075
增长率小于某个阈值,即
Figure 980815DEST_PATH_IMAGE172
(18)
五、秘密分享
终秘密生成与恢复
我们定义
Figure 187937DEST_PATH_IMAGE173
变量意为对括号内秘密的秘密分片值。
对于秘密
Figure 943403DEST_PATH_IMAGE045
和它本身的秘密分享
Figure 801638DEST_PATH_IMAGE174
我们有:
Figure 617147DEST_PATH_IMAGE175
,其中
Figure 311565DEST_PATH_IMAGE176
代表发起方Guest拥有的秘密分片,
Figure 870722DEST_PATH_IMAGE177
代表在参与方Host拥有的秘密分片。
定义秘密生成算法
Figure 583463DEST_PATH_IMAGE178
: 秘密拥有者发起方Guest 或者参与方Host, 记作 Pi生成一个随机数
Figure 569874DEST_PATH_IMAGE179
,并设定
Figure 751587DEST_PATH_IMAGE180
。其中
Figure 848856DEST_PATH_IMAGE181
表示秘密生成算法的发起者本方拥有的秘密分片,其中B代表该秘密分片是在布尔 布尔电路下进行分享,
Figure 681683DEST_PATH_IMAGE182
代表秘密生成算法调用者的对方所有的秘密分片,
Figure 855307DEST_PATH_IMAGE183
符号 代表异或门。算法逻辑是前后的两个二进制数据每一位进行异或计算,异或拥有如下真值 表:
Figure 508005DEST_PATH_IMAGE184
定义秘密恢复算法
Figure 408965DEST_PATH_IMAGE185
(两方秘密分享恢复算法调用者的对 方)将自己的秘密分享
Figure 96298DEST_PATH_IMAGE186
发送给Pi,则可以恢复秘密
Figure 175244DEST_PATH_IMAGE187
秘密计算
定义秘密加法:
Figure 315238DEST_PATH_IMAGE188
,每个用户P都可以在本地计算自己对于秘 密
Figure 19889DEST_PATH_IMAGE189
的分享:
Figure 312461DEST_PATH_IMAGE190
,可以演算出
Figure 77155DEST_PATH_IMAGE191
。其中z为加法 计算结果,<z>为加法计算结果的分片,<x>,<y>代表加数x,y的两个秘密分片。
定义秘密乘法:
Figure 704445DEST_PATH_IMAGE192
, z为乘法计算结果,<z>为乘法计算结果的 分片,<x>,<y>代表乘数x,y的两个秘密分片,此时需要定义一个乘法三元组(c=a*b),对于 某一方Pi,有
Figure 947208DEST_PATH_IMAGE193
,其中
Figure 359866DEST_PATH_IMAGE194
Figure 29881DEST_PATH_IMAGE195
Figure 144468DEST_PATH_IMAGE196
分别为
Figure 941654DEST_PATH_IMAGE066
Figure 192506DEST_PATH_IMAGE067
在Pi方的秘密分享值,
Figure 299003DEST_PATH_IMAGE197
Figure 900885DEST_PATH_IMAGE198
Figure 236183DEST_PATH_IMAGE199
分别为三元组(a,b,c)在Pi方的秘密分享值。三 元组我们通过同态加密(HE)或者通过不经意传输(OT)实现。
六、误差学习
在训练过程中,我们在发起方生成和训练轮次长度一样的随机数向量
Figure 607121DEST_PATH_IMAGE200
,对改向 量取负值,并做打乱操作后发送到Host方,并再次打乱得到
Figure 884519DEST_PATH_IMAGE201
; 在后续训练迭代过程 中,在Guest方取
Figure 724430DEST_PATH_IMAGE202
, 将
Figure 847107DEST_PATH_IMAGE203
;在Host 方 取
Figure 72552DEST_PATH_IMAGE204
, 将
Figure 786430DEST_PATH_IMAGE205
。经过N 轮迭代后,得到
Figure 871496DEST_PATH_IMAGE206
, 与未进行上述操作的训练结果一致。
综上,完成纵向联邦线性支持向量分类模型的构建,并能够基于该模型实现在理想时间内完成待测样本的分类。该模型是基于秘密分享的方式和误差学习的方式实现了两方高安全和高性能、准确性保真的训练过程,无需借助可信任第三方作为数据安全传输方。
本发明可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
注意,除非另有直接说明,否则本说明书(包含任何所附权利要求、摘要和附图)中所揭示的所有特征皆可由用于达到相同、等效或类似目的的可替代特征来替换。因此,除非另有明确说明,否则所公开的每一个特征仅是一组等效或类似特征的一个示例。在使用到的情况下,进一步地、较优地、更进一步地和更优地是在前述实施例基础上进行另一实施例阐述的简单起头,该进一步地、较优地、更进一步地或更优地后带的内容与前述实施例的结合作为另一实施例的完整构成。在同一实施例后带的若干个进一步地、较优地、更进一步地或更优地设置之间可任意组合的组成又一实施例。
本领域的技术人员应理解,上述描述及附图中所示的本发明的实施例只作为举例而并不限制本发明。本发明的目的已经完整并有效地实现。本发明的功能及结构原理已在实施例中展示和说明,在没有背离所述原理下,本发明的实施方式可以有任何变形或修改。
最后应说明的是:以上各实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述各实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的范围。

Claims (10)

1.一种基于秘密分享的纵向联邦线性支持向量分类方法,其特征在于,所述方法包括:
构建纵向联邦线性支持向量分类模型,所述纵向联邦线性支持向量分类模型包括发起方Guest和参与方Host;
所述发起方Guest提供模型训练样本的本方样本特征
Figure 529888DEST_PATH_IMAGE001
,同时提供用于模型训练的样 本标签
Figure 140998DEST_PATH_IMAGE002
;所述参与方Host用于在训练过程中提供本方样本特征
Figure 494619DEST_PATH_IMAGE003
,在预测环节中为所述 发起方Guest提供本方特征,协同发起方Guest进行训练;
其中,所述发起方Guest和参与方Host是采用参数秘密共享方式并通过误差学习的方式协同训练得到分类模型。
2.如权利要求1所述的基于秘密分享的纵向联邦线性支持向量分类方法,其特征在于,所述发起方Guest和参与方Host的协同训练过程包括:
步骤Sa1:所述参与方Host的权重向量Wb维度协同到所述参与方Guest 方以初始化全局权重向量W;
步骤Sa2:所述发起方Guest选取样本向量i和样本向量j,将i、j协同到所述参与方Host;
步骤Sa3:两方计算K = Kb + Ka,其中,K为线性核函数,Ka为发起方Guest的核函数计算结果,Kb为参与方Host的核函数计算结果;
步骤Sa4:所述发起方Guest计算训练迭代终止条件,更改运行状态,协同到所述参与方Host同步运行状态;
步骤Sa5:所述发起方Guest 单独参与更新
Figure 309123DEST_PATH_IMAGE004
,所述
Figure 39181DEST_PATH_IMAGE004
为核函数K的约束系数,
Figure 504798DEST_PATH_IMAGE004
包 括,
Figure 780052DEST_PATH_IMAGE005
Figure 65540DEST_PATH_IMAGE006
分别为样本向量i和j对应的核函数K的约束系数;
步骤Sa6:所述发起方Guest更新
Figure 599290DEST_PATH_IMAGE004
后,将
Figure 653833DEST_PATH_IMAGE004
前后的变化量(
Figure 365569DEST_PATH_IMAGE007
)乘以(yi, yj)并 发送到所述参与方Host参与权重Wb的更新,其中yi为样本向量i的标签;
步骤Sa7:所述参与方Host将
Figure 138352DEST_PATH_IMAGE008
通过秘密共享的方式分享到所述发起方Guest参与全 局权重
Figure 944634DEST_PATH_IMAGE009
的更新,其中
Figure 135575DEST_PATH_IMAGE008
为参与方Host更新后的权重向量;
步骤Sa8:重复执行步骤Sa1至步骤Sa7,直到达到终止条件。
3.如权利要求2所述的基于秘密分享的纵向联邦线性支持向量分类方法,其特征在于,在模型训练过程中,
所述纵向联邦线性支持向量分类模型的目标函数如下式所示:
Figure 267480DEST_PATH_IMAGE010
所述发起方Guest的目标函数为:
Figure 527560DEST_PATH_IMAGE011
所述参与方Host的目标函数为:
Figure 137532DEST_PATH_IMAGE012
所述发起方Guest和所述参与方Host共同优化的目标为:
Figure 917401DEST_PATH_IMAGE013
其中,
Figure 220206DEST_PATH_IMAGE014
满足:
Figure 967582DEST_PATH_IMAGE015
Figure 131979DEST_PATH_IMAGE016
其中,C是用户定义的超参数,且C>0,其中,
Figure 15621DEST_PATH_IMAGE017
发起方Guest数 据集,
Figure 489328DEST_PATH_IMAGE018
为参与方Host数据集,
Figure 724000DEST_PATH_IMAGE019
分别是发起方Guest 和参与方Host的输入 向量,
Figure 426508DEST_PATH_IMAGE020
是输入样本向量
Figure 695815DEST_PATH_IMAGE019
的类别标签。
4.如权利要求3所述的基于秘密分享的纵向联邦线性支持向量分类方法,其特征在于,所述发起方Guest和参与方Host迭代训练包括:
步骤Sb1:在所述发起方Guest初始化
Figure 340423DEST_PATH_IMAGE021
, 在所述参与方Host 初始化
Figure 547545DEST_PATH_IMAGE022
;
步骤Sb2:初始化样本向量i对应的误差项
Figure 303011DEST_PATH_IMAGE023
和偏移量
Figure 976755DEST_PATH_IMAGE025
;
步骤Sb3:在所述发起方Guest选取两个样本向量(i, j)作为需要调整的点;
步骤Sb4:令
Figure 671172DEST_PATH_IMAGE026
,其中
Figure 495909DEST_PATH_IMAGE027
Figure 208650DEST_PATH_IMAGE028
为更新后的
Figure 680214DEST_PATH_IMAGE029
值,
Figure 111195DEST_PATH_IMAGE030
为更新前的
Figure 208464DEST_PATH_IMAGE031
值,
Figure 306870DEST_PATH_IMAGE032
为样本向量j对应的误差项;
步骤Sb5:再所述发起方 Guest判断
Figure 949335DEST_PATH_IMAGE033
Figure 867613DEST_PATH_IMAGE034
Figure 206638DEST_PATH_IMAGE031
的上界;
步骤Sb6:令
Figure 800431DEST_PATH_IMAGE036
Figure 940425DEST_PATH_IMAGE037
Figure 645076DEST_PATH_IMAGE031
的下界;
步骤Sb7:如果
Figure 203227DEST_PATH_IMAGE038
步骤Sb8:令
Figure 702342DEST_PATH_IMAGE039
步骤Sb9:令
Figure 595211DEST_PATH_IMAGE040
步骤Sb10:利用更新的
Figure 323127DEST_PATH_IMAGE041
Figure 985053DEST_PATH_IMAGE042
修改
Figure 655068DEST_PATH_IMAGE043
Figure 769655DEST_PATH_IMAGE044
的值,并通过秘密共 享的方式加密,其中
Figure 566841DEST_PATH_IMAGE045
,“concat()”表示按照水平方向拼接两方权重;
步骤Sb11:如果达到终止条件,则停止迭代,否则转步骤Sb3。
5.如权利要求4所述的基于秘密分享的纵向联邦线性支持向量分类方法,其特征在于,
所述秘密共享包括终秘密生成与恢复的步骤和秘密计算的步骤,
终秘密生成与恢复的步骤包括:对于秘密
Figure 83273DEST_PATH_IMAGE046
和它本身的秘密分享
Figure 924190DEST_PATH_IMAGE047
满足:
Figure 276805DEST_PATH_IMAGE048
,其中
Figure 126949DEST_PATH_IMAGE049
代表发起方Guest拥有的秘密分片,
Figure 497888DEST_PATH_IMAGE050
代表在参与方 Host拥有的秘密分片;
设置秘密生成算法
Figure 509706DEST_PATH_IMAGE051
: 秘密拥有者发起方Guest 或者参与方Host, 记作 Pi生 成一个随机数
Figure 84038DEST_PATH_IMAGE052
,并设定
Figure 737873DEST_PATH_IMAGE053
;其中
Figure 963318DEST_PATH_IMAGE054
表示秘密生成算 法的发起者本方拥有的秘密分片,其中B代表该秘密分片是在布尔布尔电路下进行分享,
Figure 162349DEST_PATH_IMAGE055
代表秘密生成算法调用者的对方所有的秘密分片,
Figure 738824DEST_PATH_IMAGE056
符号代表异或门;
设置秘密恢复算法
Figure 665192DEST_PATH_IMAGE057
将自己的秘密分享
Figure 745143DEST_PATH_IMAGE058
发送给Pi,则恢复秘密
Figure 115076DEST_PATH_IMAGE048
;
所述秘密计算的步骤包括:
设置秘密加法:定义z为加法计算结果,<z>为加法计算结果的分片,<x>,<y>代表加数 x,y的两个秘密分片,
Figure 178847DEST_PATH_IMAGE059
,则每个用户P在本地计算自己对于秘密
Figure 908906DEST_PATH_IMAGE060
的分享 为:
Figure 859675DEST_PATH_IMAGE061
设置秘密乘法:定义z为乘法计算结果,<z>为乘法计算结果的分片,<x>,<y>代表乘数 x,y的两个秘密分片,
Figure 649777DEST_PATH_IMAGE062
,定义乘法三元组(c=a*b),对于某一方Pi,定义秘密分 片
Figure 935264DEST_PATH_IMAGE063
,则有
Figure 203435DEST_PATH_IMAGE064
Figure 8711DEST_PATH_IMAGE065
Figure 235293DEST_PATH_IMAGE066
分别为
Figure 742498DEST_PATH_IMAGE067
Figure 565091DEST_PATH_IMAGE068
在Pi方的秘密分享值,
Figure 739721DEST_PATH_IMAGE069
Figure 871625DEST_PATH_IMAGE070
Figure DEST_PATH_IMAGE071
分别为三元组(a,b,c)在Pi方的秘密分享值。
6.如权利要求4所述的基于秘密分享的纵向联邦线性支持向量分类方法,其特征在于,
所述
Figure 289148DEST_PATH_IMAGE037
Figure 318283DEST_PATH_IMAGE034
的下界和上界,并满足下式:
Figure 119197DEST_PATH_IMAGE073
Figure 532861DEST_PATH_IMAGE074
7.如权利要求4所述的基于秘密分享的纵向联邦线性支持向量分类方法,其特征在于, 所述终止条件为KKT条件对所有向量均满足,或者目标函数
Figure 432815DEST_PATH_IMAGE075
增长率小于预设阈值。
8.如权利要求4所述的基于秘密分享的纵向联邦线性支持向量分类方法,其特征在于, 在模型训练过程中,所述发起方Guest生成与训练轮次长度一样的随机数向量
Figure 906522DEST_PATH_IMAGE076
,对该向量
Figure 875615DEST_PATH_IMAGE076
取负值,并做打乱操作后发送到所述参与方Host,并再次打乱得到
Figure 92970DEST_PATH_IMAGE077
; 在之后的训练 迭代过程中,在所述发起方Guest方取
Figure 847430DEST_PATH_IMAGE078
, 将
Figure 226459DEST_PATH_IMAGE079
;在所述参与方Host方取
Figure 948427DEST_PATH_IMAGE080
, 将
Figure 454626DEST_PATH_IMAGE081
9.如权利要求1所述的基于秘密分享的纵向联邦线性支持向量分类方法,其特征在于,所述方法还包括纵向联邦线性支持向量分类模型的模型评估的步骤,具体为:
按下式所示的方法评估分类准确率:
Figure 312861DEST_PATH_IMAGE082
其中,TP为真正例, TN为真负例, FP为假正, FN为假负例,Accuracy为准确率。
10.如权利要求1所述的基于秘密分享的纵向联邦线性支持向量分类方法,其特征在于,所述方法还包括纵向联邦线性支持向量分类模型的模型预测的步骤,具体为:
按下所示的方法获取纵向联邦线性支持向量分类模的预测结果:
Figure 128370DEST_PATH_IMAGE083
按下式所示的方法对所述预测结果进行分类:
Figure 72055DEST_PATH_IMAGE084
CN202210796849.9A 2022-07-08 2022-07-08 基于秘密分享的纵向联邦线性支持向量分类方法 Pending CN114925786A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210796849.9A CN114925786A (zh) 2022-07-08 2022-07-08 基于秘密分享的纵向联邦线性支持向量分类方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210796849.9A CN114925786A (zh) 2022-07-08 2022-07-08 基于秘密分享的纵向联邦线性支持向量分类方法

Publications (1)

Publication Number Publication Date
CN114925786A true CN114925786A (zh) 2022-08-19

Family

ID=82816112

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210796849.9A Pending CN114925786A (zh) 2022-07-08 2022-07-08 基于秘密分享的纵向联邦线性支持向量分类方法

Country Status (1)

Country Link
CN (1) CN114925786A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116187433A (zh) * 2023-04-28 2023-05-30 蓝象智联(杭州)科技有限公司 基于秘密分享的联邦拟牛顿训练方法、装置及存储介质
CN116595589A (zh) * 2023-07-17 2023-08-15 中国科学院数学与系统科学研究院 基于秘密共享机制的分布式支持向量机训练方法及系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116187433A (zh) * 2023-04-28 2023-05-30 蓝象智联(杭州)科技有限公司 基于秘密分享的联邦拟牛顿训练方法、装置及存储介质
CN116187433B (zh) * 2023-04-28 2023-09-29 蓝象智联(杭州)科技有限公司 基于秘密分享的联邦拟牛顿训练方法、装置及存储介质
CN116595589A (zh) * 2023-07-17 2023-08-15 中国科学院数学与系统科学研究院 基于秘密共享机制的分布式支持向量机训练方法及系统
CN116595589B (zh) * 2023-07-17 2023-10-10 中国科学院数学与系统科学研究院 基于秘密共享机制的分布式支持向量机训练方法及系统

Similar Documents

Publication Publication Date Title
WO2020156004A1 (zh) 模型训练方法、装置及系统
CN111178549B (zh) 保护数据隐私的双方联合训练业务预测模型的方法和装置
US20200244446A1 (en) A distributed multi-party security model training framework for privacy protection
EP3602410B1 (en) A logistic regression modeling scheme using secret sharing
CN112733967B (zh) 联邦学习的模型训练方法、装置、设备及存储介质
WO2021103901A1 (zh) 基于多方安全计算的神经网络模型训练及预测方法、装置
US20190294805A1 (en) Neural-network training using secure data processing
CN111062487B (zh) 基于数据隐私保护的机器学习模型特征筛选方法及装置
CN111079939B (zh) 基于数据隐私保护的机器学习模型特征筛选方法及装置
CN114925786A (zh) 基于秘密分享的纵向联邦线性支持向量分类方法
CA3080050A1 (en) Training tree-based machine-learning modeling algorithms for predicting outputs and generating explanatory data
CN111931241B (zh) 基于隐私保护的线性回归特征显著性检验方法、装置
CN112039702B (zh) 基于联邦学习和相互学习的模型参数训练方法及装置
CN112805769B (zh) 秘密s型函数计算系统、装置、方法及记录介质
US20200372394A1 (en) Machine learning with differently masked data in secure multi-party computing
CN113051239A (zh) 数据共享方法、应用其的模型的使用方法及相关设备
CN111563267A (zh) 用于联邦特征工程数据处理的方法和装置
CN111523556A (zh) 模型训练方法、装置及系统
CN114186256A (zh) 神经网络模型的训练方法、装置、设备和存储介质
CN113051586A (zh) 联邦建模系统及方法、联邦模型预测方法、介质、设备
US12015691B2 (en) Security as a service for machine learning
CN111523674A (zh) 模型训练方法、装置及系统
CN111737756B (zh) 经由两个数据拥有方进行的xgb模型预测方法、装置及系统
CN116187433B (zh) 基于秘密分享的联邦拟牛顿训练方法、装置及存储介质
CN114880693B (zh) 生成激活函数方法、装置、电子设备和可读介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20220819