纵向联邦学习中的逻辑回归方案介绍

纵向联邦学习中的逻辑回归方案

1,传统机器学习里的LR

计算: y ′ = σ ( w x ) y^\prime=σ(wx) y=σwx。w为模型;目标:输入x得到输出。

  • 如何训练w: w : = w − g , 其 中 g = ( y ′ − y ) x w:=w-g,其中g=(y^\prime-y)x w:=wg,g=(yy)x
  • 如何停止:设置迭代次数和loss收敛阈值。

image-20210928214233506

2,纵向联邦里的LR

联邦学习里首先对标签{0,1}改动为{1,-1}。然后为了支持同态,对损失函数做了改动。

2.1,有第三方:

全局只有一对公私钥。第三方持有私钥,参与方持有公钥。

协作者的角色:负责解密梯度和损失,没啥了。
纵向逻辑回归

image-20210927152834399

hetero_lr_multi_host
实现细节:
纵向LR细节

2.2,无第三方

构建一对公私钥

(该方案认为wx默认是安全的,所以没有加密)

image-20210826102135943

出处:Parallel Distributed Logistic Regression for Vertical Federated Learning without Third-Party Coordinator

构建两对公私钥

两方纵向逻辑回归的模型训练过程

具体细节:

标签持有方A和参与方B各自生成公私钥。

符号定义:u=wx,其中w表示模型参数;x表示特征数据;y表示标签数据;【*】表示同态加密后的数据。

计算公式定义:

  • 双方的损失函数: L o s s = l o g 2 − 1 2 y w x + 1 8 ( w x 2 ) Loss=log2-\frac{1}{2}ywx+\frac{1}{8}({wx}^2) Loss=log221ywx+81(wx2)

  • 模型迭代公式: w : = w − α 1 m 1 4 ( w x − 2 y ) x w:=w-\alpha\frac{1}{m}\frac{1}{4}(wx-2y)x w:=wαm141(wx2y)x,其中梯度 ∇ L = 1 4 ( w x − 2 y ) x = d x = g \nabla L=\frac{1}{4}(wx-2y)x=dx=g L=41(wx2y)x=dx=g

训练一轮的具体执行过程:

(和上一方案初始时随机化参与方wx相比,该方案初始直接没用数据方的wx)

其实ub=wbxb可以直接明文发送过去,我们认为它是安全的。

  • A和B交换公钥;
  • A计算并发送 [ u A ] p k A , [ u A 2 ] p k A [u_A]pk_A,[u_A^2]pk_A [uA]pkA,[uA2]pkA;B计算并发送 [ 1 4 u B − 1 2 y ] p k B [\frac{1}{4}u_B-\frac{1}{2}y]pk_B [41uB21y]pkB
  • A计算并发送 [ ∇ L A + m A ] p k B [\nabla L_A+m_A]pk_B [LA+mA]pkB;B计算并发送 [ ∇ L B + m B ] p k A [\nabla L_B+m_B]pk_A [LB+mB]pkA,以及损失 [ L ] p k A [L]pk_A [L]pkA
  • AB各自解密对方的梯度;然后减去各自的掩码,即可获得更新后的梯度、模型。

(注意,此时梯度已经解密,各方能够拿到自己的明文梯度。此时需要对明文梯度进行安全性分析。)

重复此过程,直到达到最大迭代次数或者模型收敛。

预测的具体执行过程:

1,模型掌握在A,B双方,比如这里假设模型询问者为A:

  • A将数据分为 X A , X A ′ X^A,X^{A\prime} XA,XA,A计算 w a x A w_ax^A waxA;B计算 w b [ x A ′ ] w_b[x^{A\prime}] wb[xA]并返回;

  • A解密,并计算 u = u a + u b u=u_a+u_b u=ua+ub;输出结果 1 1 + e − u \frac{1}{1+e^-u} 1+eu1

2,模型掌握在A,B双方,询问者为第三方C:

  • C将数据分为两份,并加密发送给A,B双方;
  • A,B双方分别计算 w a [ x a ] c 、 w b [ x b ] c w_a[x^a]_c、w_b[x^b]_c wa[xa]cwb[xb]c并返回给C;
  • C解密得到 u = u a + u b u=u_a+u_b u=ua+ub;输出结果 1 1 + e − u \frac{1}{1+e^-u} 1+eu1

3,推导细节

更多推导细节,参见手稿:

img

  • 8
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值