破解数据匮乏现状:纵向联邦学习场景下的逻辑回归(lr)

华为云开发者社区 华为云开发者社区     2023-02-15     447

关键词:

摘要:主要介绍了华为云可信智能计算服务(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中的模型迭代公式中的指数部分表示成泰勒表达式形式:

点击关注,第一时间了解华为云新鲜技术~

fate实战——实现集群横向逻辑回归(代码片段)

摘要我在做集群的联邦学习之前,用主机部署的方式,实现了单机版的横向联邦学习。参考了下面的两篇文章:联邦学习实战-2-用FATE从零实现横向逻辑回归_文杰的博客-CSDN博客Ubuntu18.04上部署单机Fate1.6.0,并使用PyCharm... 查看详情

坑挺多|联邦学习fate:训练模型(代码片段)

...rial_hetero_sbt上一篇为:坑挺多|联邦学习FATE:上传数据(一),我们继续来看看这个教程里面的大坑。文章目录1神坑一:guest网络的设置问题2纵向案例一:分类模型-HeteroSecureBoost代码3纵向案例二:... 查看详情

坑挺多|联邦学习fate:训练模型(代码片段)

...rial_hetero_sbt上一篇为:坑挺多|联邦学习FATE:上传数据(一),我们继续来看看这个教程里面的大坑。文章目录1神坑一:guest网络的设置问题2纵向案例一:分类模型-HeteroSecureBoost代码3纵向案例二:... 查看详情

坑挺多|联邦学习fate:训练模型(代码片段)

...rial_hetero_sbt上一篇为:坑挺多|联邦学习FATE:上传数据(一),我们继续来看看这个教程里面的大坑。文章目录1神坑一:guest网络的设置问题2纵向案例一:分类模型-HeteroSecureBoost代码3纵向案例二:... 查看详情

机器学习笔记逻辑回归

...数函数,模型为逻辑回归的理想函数为对于函数f(x),在数据情况下,D的所有数据在函数下的联合概率为,我们想要的模型h要使,则对于h来说,在 查看详情

机器学习逻辑回归介绍

...归的应用场景逻辑回归(LogisticRegression)是机器学习中的一种分类模型,逻辑回归是一种分类算法,虽然名字中带有回归。由于算法的简单和高效,在实际中应用非常广泛。广告点击率是否为垃圾邮件是否患... 查看详情

逻辑回归

...比,有什么不同?逻辑回归和线性回归都是通过把一系列数据点预测计算出一条合适的“线”,将新的数据点映射到这条预测的“线”上,继而做出预测。2.自述一下什么是过拟合和欠拟合?所谓过拟合就是所建的机... 查看详情

机器学习:6.逻辑归回

...特征,训练误差和测试误差之间的差距太大,导致在验证数据集以及测试数据集中表现不佳。②欠拟合:训练模型过于简单意思就是训练样本被提取的特征比较少,训练模型不能在训练集上获得足够低的误差,导致训练出来的模... 查看详情

机器学习6逻辑回归算法

...学习模型在训练样本中表现得过于优越,太过贴近于训练数据的特征了,近乎完美的预测或区分了所有的数据,但是在新的测试集上却表现平平。(2)欠拟合:样本不够或者算法不精确,训练样本被提取的特征比较少,不具泛... 查看详情

使用逻辑回归预测用户是否会购买suv

往期推荐机器学习100天学习计划—第1天数据预处理机器学习100天学习计划—第2天线性回归机器学习100天学习计划 —第3天 多元线性回归这是机器学习100天学习计划的第4天,我们将探讨逻辑回归存在的必要性、逻辑回归训... 查看详情

6.逻辑回归

...么不同?逻辑回归:逻辑回归又称logistic回归分析,它将数据拟合到一个logit函数或者是logistic函数中,从而能够完成对事件发生的概率进行预测,它使用一个Sigmoid函数来归一化y值,使y的取值在区间(0,1)内,是解决二分类问题的... 查看详情

机器学习6逻辑归回

...为离场型输出;区别:线性回归要求因变量必须是连续性数据变量;逻辑回归要求因变量必须是分类变量,二分类或者多分类的;2.自述一下什么是过拟合和欠拟合?过拟合:太过贴近于训练数据的特征了,在训练集上表现非常... 查看详情

机器学习-非线性回归(unlinearregression)-逻辑回归(logisticregression)算法(代码片段)

...衡量范围0<=P<=1计算方法根据个人置信根据历史数据根据模拟数据条件概率即A在B发生的情况下的概率=AB同时发生的概率/B发生的概率LogisticRegression(逻辑回归)例子以h(x)>0.5来区分以h(x)>0.2来区 查看详情

联邦学习在光大科技的落地应用

数据是新时代的驱动引擎,在人工智能越来越重要的今天,拥有海量数据关乎成败。由于数据是由不同机构、企业、部门产生并拥有的,传统的汇集数据再进行加工处理和价值挖掘的模式已经不再适应时代发展的要求... 查看详情

Scikit 学习逻辑回归混淆

】Scikit学习逻辑回归混淆【英文标题】:ScikitLearnLogisticRegressionconfusion【发布时间】:2015-08-0515:43:24【问题描述】:我在理解sckit-learn的LogisticRegression()方法时遇到了一些麻烦。这是一个简单的例子importnumpyasnpimportpandasaspdimportmatpl... 查看详情

机器学习各个算法的应用场景

...极大似然估计法。主要应用在机器学习以及计算机视觉的数据聚类领域。lr,逻辑回归,本质也是线性回归,通过拟合拟合样本的某个曲线,然后使用逻辑函数进行区间缩放,但是一般用来分类,主要用在点击率预估、推荐系统... 查看详情

机器学习各个算法的应用场景

...极大似然估计法。主要应用在机器学习以及计算机视觉的数据聚类领域。lr,逻辑回归,本质也是线性回归,通过拟合拟合样本的某个曲线,然后使用逻辑函数进行区间缩放,但是一般用来分类,主要用在点击率预估、推荐系统... 查看详情

机器学习666

...有什么不同?  线性回归要求因变量必须是连续性数据变量;逻辑回归要求因变量必须是分类变量,二分类或者多分类的;比如要分析性别、年龄、身高、饮食习惯对于体重的影响,如果这个体重是属于实际的重量,是连... 查看详情