本讲主要介绍隐语SecretFlow中的纵向密态广义线性回归。广义线性回归是非常普遍的,例如常见的逻辑回归LR就属于广义线性回归。本讲主要内容分为以下四部分:
一、背景知识-LR/GLM应用场景及原理
1、广义线性模型建模场景举例
首先是二分类问题,利用逻辑回归对数据进行二元分类,例如根据病人数据进行疾病诊断(是否患病),其次在其他场景中,直接输出逻辑回归的sigmoid值,预测某事发生的概率,例如预测某个网站的用户变为付费用户的概率。在保险行业的保费预测场景中,根据提供的保障责任,计算预期总索赔额即纯保费进行建模,其特点是大部分值都集中在0附近(在保期内,大部分时候都不会出险),所以可以使用tweedie分布进行拟合,对于tweedie回归,经常选择参数为1~2之间。另外,也可以通过两步建模间接近似,即纯保费 = 索赔次数*平均索赔金额,其中索赔次数服从泊松分布或负二项分布,平均索赔金额服从伽马分布或逆高斯分布。
2、广义线性模型(GLM)介绍
广义线性模型(GLM)顾名思义就是线性回归的一个拓展,而线性回归是广义线性回归的一个基本形式,线性回归假设响应变量与解释变量之间存在线性关系,误差项独立且服从正态分布。线性回归假设响应变量Y的真实值有两部分组成,一是系统组件,即线性预测器(数值项,可拟合),二是误差组件,即白噪声,近似服从
(高斯随机变量)。因此
因此,响应变量Y的条件分布为高斯分布Y ~。
GLM也允许误差组件的概率分布扩展到所有指数分布族,例如伯努利分布 (逻辑回归),泊松分布,gamma分布,复合泊松Gamma 分布,Tweedie分布等。
一个GLM有三个关键组件:系统组件、随机组件和连接函数,如下图所示:
在GLM中,当连接函数与相等时,称这个连接函数为标准连接函数。Identity是线性回归的标准连接函数,Logit是逻辑回归的标准连接函数,其反函数是熟知的激活函数sigmoid,Log也是一种常用的标准连接函数,像Tweedie回归,Gemma回归等都可以使用Log作为其连接函数。
二、隐语模型-密态SSLR/SSGLM
1、广义线性模型参数估计
首先要计算导数,这样就可以使用一些优化器做参数估计。优化器有一阶优化器(SGD参数估计方法,在密态中经常会用到SGD)和二阶优化器(迭代重加权最小二乘法,IRLS),前者计算简单,计算量/通信量较小,后者初始化准确( 不同于SGD随机选取,而是根据Y的期望计算得到,初始跟收敛点非常接近),收敛速度快,但是计算量大,因为涉及到多方参与计算,所以计算/通信复杂度高。
隐语实现中是结合二者的优点,把二阶优化器和一阶优化器叠加使用,训练初始几轮,先用二阶优化器进行初始化,进行简单迭代,之后再用一阶优化器进行快速收敛。有了优化器之后,可以把优化器和任何想要计算的函数,都可以化为加法和乘法的组合来近似,例如求幂和非线性等。在隐语中,具体的加法和乘法的组合是使用Secret Sharing(秘密分享)的方式,进行安全计算。
2、秘密分享加法
如下图所示案例,三个参与方A,B,C分别有秘密值15,25,10,如何在不让其他参与方知道自己的秘密值的情况下,计算三个参与方秘密值之和。此时会用到多方安全计算的秘密分享。
,
,
,
,
3、秘密分享乘法
首先A把秘密值,分为
和
,且
,B把秘密值
,分为
和
,且
然后A得到,B得到
接着初始化3个临时变量、
和
,其中
,A得到
、
、
,B得到
、
、
,其中
,
,
接下来A计算和
,B计算
和
接着A将和
分享给B,B将
和
分享给A
再进行本地计算,同理
A计算,B计算
最后汇总
三、应用实现-从理论到隐语应用
隐语中具体使用SSLR和SSGLM的方法如下:
1、SSGLM参数解析
首先是distribution type,在隐语中支持伯努利回归、泊松回归、Gamma回归和Tweedie回归进行建模,之后针对不同的回归模型,选择不同的Link Function,针对逻辑回归,即伯努利分布,选择Logit,针对泊松回归、Gamma回归和Tweedie回归时,选择Log。如果选择了Tweedie回归,还需要进行P值(Tweedie power)的调参,P值选择一般是根据先验估计(数据服从何种分布),选择1~2这个范围。但是真正建模之前,可能不知道数据分布适用于哪个P值,此时采用循环操作,把P值定义到1~2之间,步长为0.1,迭代选出效果最好的P值。之后选择优化器,SGD和IRLS,可以叠加使用。
GLM还有若干特殊参数,offset_col,distribution scale(数据方差,先验)以及weight_col。
2、使用SSLR以及SSGLM
首先准备SPU和数据(数据需要归一化),之后进行模型训练,最后进行模型评估。
3、SS-LR / SSGLM 在隐语实现中的独特优势
可证安全
不依赖可信第三方
支持多种模型(伯努利分布(逻辑回归),泊松分布,Gamma分布,Tweedie分布)
计算高效(结合一阶优化器和二阶优化器的优点,整体提高SSGLM的建模效率)
四、实践
针对Tweedie分布的GLM建模
见作业。