破解数据匮乏现状:纵向联邦学习场景下的逻辑回归(LR)
摘要:主要介绍了华为云可信智能计算服务(TICS)采用的纵向联邦逻辑回归(LR)方案。
本文分享自华为云社区《纵向联邦学习场景下的逻辑回归(LR)》,作者: 汽水要加冰。
海量训练数据是人工智能技术在各个领域成功应用的重要条件。例如,计算机视觉和商务经融推荐系统中的 AI 算法都依靠大规模标记良好的数据才能获得较好的推理效果。然而在医疗、银行以及一些政务领域中,行业内对数据隐私的保护越来越强,造成可用数据严重匮乏的现状。针对上述问题,华为云可信智能计算服务( TICS)专为打破银行、政企等行业的数据壁垒,实现数据安全共享,设计了多方联邦学习方案。
一、什么是逻辑回归?
回归是描述自变量和因变量之间相互依赖关系的统计分析方法。线性回归作为一种常见的回归方法,常用作线性模型(或线性关系)的拟合。
逻辑回归(logistic regression)虽然也称为回归,却不是一种模型拟合方法,而是一种简单的“二分类”算法。具有实现简单,算法高效等诸多优点。
1.1 线性回归(linear regression)
图1.1、1.2分别表示二维和三维线性回归模型,图1.1的拟合直接(蓝线)可表示为 y=ax+b,所有数据点(红点)到直线的总欧式距离最短,欧式距离常用作计算目标损失函数,进而求解模型;类似的,图1.2的所有数据点到二维平面的总欧式距离最短。所以线性回归模型通常可以表示为:
其中θ表示模型系数。
1.2 逻辑回归(LR)
LR是一种简单的有监督机器学习算法,对输入x,逻辑回归模型可以给出 y<0 or y>0 的概率,进而推断出样本为正样本还是负样本。
LR引入sigmoid函数来推断样本为正样本的概率,输入样本 x 为正样本的概率可以表示为:P(y|x) = g(y),其中 g() 为sigmoid函数,
曲线图如图1.3所示,输出区间为0~1:
图1.3 sigmoid曲线
对于已知模型 θ 和样本 x,y=1的概率可以表示为:
所以sigmoid尤其适用于二分类问题,当 g(y) > 0.5 时,表示 P(y=1|x) > 0.5,将其判为正样本,对应 y>0 ;反之,当 g(y) < 0.5 时,表示 P(y=1|x) < 0.5,将其判为负样本,对应 y<0。
1.3 LR损失函数
LR采用对数损失函数,对于训练集x∈S,损失函数可以表示为(参考https://zhuanlan.zhihu.com/p/44591359):
梯度下降算法是LR模型的经典解法之一,模型迭代更新的表达式如下:
其中
l()为目标损失函数,本质为平均对数损失函数。
- S'为批处理数据集(大小为batchsize),通过批处理方式引入随机扰动,使得模型权重更加快速逼近最优值。
- α为学习率,直接影响模型的收敛速度,学习率过大会导致loss左右震荡无法达到极值点,学习率太小会导致loss收敛速度过慢,长时间找不到极值点。
二、纵向联邦学习场景下的LR
关于纵向联邦学习的介绍已经屡见不鲜,市面上也涌现出很多优秀的产品,比如FATE、华为可信智能计算TICS等。纵向联邦可以实现多用户在不暴露己方数据的前提下,共享数据和特征,训练出精度更高的模型,对于金融和政务等众多行业具有重要意义。
图2.1 纵向联邦LR
2.1 LR的纵向联邦实现
纵向联邦学习的参与方都是抱着共享数据、不暴露己方数据的目的加入到联邦中,所以任何敏感数据都必须经过加密才能出己方信任域(图2.1,参考https://arxiv.org/pdf/1711.10677.pdf),这就引入了同态加密算法。同态加密为密文计算提供了可行性,同时也一定程度上影响了机器学习算法的性能。常见的同态加密库包括seal、paillier等。
LR的纵向联邦流程如图2.2所示,host表示只有特征的一方,guest表示包含标签的一方。
图 2.2 纵向联邦LR算法实现流程
- 在训练开始之前,作业双方需要交换同态公钥。
- 每轮epoch(迭代)的batch(一轮batchsize的计算为一个batch)循环中,包含calEncryptedU-->calEncryptedGradient-->decryptGradient-->updateLrModel四步,guest和host都需要按此顺序执行一遍( 流程图中只体现了guest作为发起方的执行流程)。
- A2步骤中梯度加随机噪声的目的是为了防止己方U泄露,造成安全问题。
由于同态加密计算只支持整数、浮点数的加法和乘法,所以将1.3中的模型迭代公式中的指数部分表示成泰勒表达式形式:

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
CWE4.6标准中加入 OWASP 2021 TOP10
摘要:新发布的CWE4.6标准,加入了OWASP 2021 TOP10的视图。 本文分享自华为云社区《CWE 4.6 和 OWAPS TOP10(2021)》,作者: Uncle_Tom。 1. CWE 4.6 CWE的更新,并没有因为疫情的影响,仍然保持着每年3-4个版本的更新速度,可见软件安全的重要性。这个月初4.6版本如约而至。我们来看下这次的更新,都有哪些亮点。 1.1. CWE V4.5 vs V4.6 通常可以从两个角度的对比CWE版本的变动,快速得到大致的差异信息。 1.1.1. CWE节点类型和数量的变动 每个CWE由一个唯一的编号表示一个弱点的分类节点,每个节点由他的类型确定它的节点种类,共有8种不同类型的节点类型。 所以每种节点类型数量的变化可以直接反映这个版本的变化大小和变动方式。 每个版本的都有一个链接反映节点数量的变化。 先来看下两个版本CWE节点数量上的差异: 从这个表的差异,不难看出: 弱点(Weakness)增加了两个。目前CWE已经经过了15年左右的发展,基本上处于稳定状态,不太会有过多的CWE弱点类的节点增加; 视图(View)增加了两个。视图是以不...
- 下一篇
Hibernate数据校验简介
我们在业务中经常会遇到参数校验问题,比如前端参数校验、Kafka消息参数校验等,如果业务逻辑比较复杂,各种实体比较多的时候,我们通过代码对这些数据一一校验,会出现大量的重复代码以及和主要业务无关的逻辑。Spring MVC提供了参数校验机制,但是其底层还是通过Hibernate进行数据校验,所以有必要去了解一下Hibernate数据校验和JSR数据校验规范。 JSR数据校验规范 Java官方先后发布了JSR303与JSR349提出了数据合法性校验提供的标准框架:BeanValidator,BeanValidator框架中,用户通过在Bean的属性上标注类似于@NotNull、@Max等标准的注解指定校验规则,并通过标准的验证接口对Bean进行验证。 JSR注解列表 JSR标准中的数据校验注解如下所示: 注解名 注解数据类型 注解作用 示例 AssertFalse boolean/Boolean 被注释的元素必须为False @AssertFalse private boolean success; AssertTrue boolean/Boolean 被注释的元素必须为True @As...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- 设置Eclipse缩进为4个空格,增强代码规范
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS8编译安装MySQL8.0.19
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2全家桶,快速入门学习开发网站教程