CN111539009B - 保护隐私数据的有监督特征分箱方法及装置 - Google Patents
保护隐私数据的有监督特征分箱方法及装置 Download PDFInfo
- Publication number
- CN111539009B CN111539009B CN202010502525.0A CN202010502525A CN111539009B CN 111539009 B CN111539009 B CN 111539009B CN 202010502525 A CN202010502525 A CN 202010502525A CN 111539009 B CN111539009 B CN 111539009B
- Authority
- CN
- China
- Prior art keywords
- box
- sequence
- sub
- values
- feature
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Medical Informatics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例提供了一种保护隐私数据的有监督特征分箱方法及装置。标签持有方将通过同态加密后的N个第一加密标签值发送至特征持有方;特征持有方,按照既定顺序,将N个第一加密标签值与N个特征值进行关联,并对N个特征值按照值大小重新排序,得到按照更新顺序排列的N个特征值构成的第一序列,通过变换随机数将对应的第一加密标签值变换为第二加密标签值,并得到按照更新顺序排列的N个第二加密标签值构成的第二序列,至少将第二序列发送至标签持有方;标签持有方至少基于第二序列进行特征分箱,得到第一分箱结果,并发送至特征持有方;特征持有方再根据第一分箱结果对N个特征值进行分箱。
Description
技术领域
本说明书一个或多个实施例涉及数据处理技术领域,尤其涉及一种保护隐私数据的有监督特征分箱方法及装置。
背景技术
分箱是机器学习建模中对特征进行处理的一种方法。对一个特征进行分箱,是对该特征的特征值值构成的集合(可能很大)进行分组,并将每一组视为一个类别值,也就是将集合中的很多值,聚合成少数个类别值。例如,对于年龄这个特征来说,各个样本中所有年龄的取值从1到50构成一个离散值集合,对该集合进行分组后可能得到以下3个分箱,年龄值从1到15构成一个分箱,从16到35构成一个分箱,从35到50构成一个分箱。对特征进行分箱,能够将连续变量离散化,将多状态的离散变量少状态化。分箱之后的特征,能够为模型训练带来很多性能提升,例如能够更易于对模型的快速迭代、提高模型稳定性、减少模型过拟合等。
分箱方法分为无监督分箱和有监督分箱。在无监督分箱中,对特征进行分箱时不需要依据样本标签。而在有监督分箱中,需要结合样本标签对特征进行分箱。
在有监督分箱中,一种应用场景是,样本的特征和标签分布在不同的持有方中,并且每个持有方对各自的数据存在隐私保护的要求,不会将自身数据进行明文输出。但是,两方为了联合训练模型等目的,又需要对特征进行有监督的分箱。因此,希望能有改进的方案,可以在特征和标签分布在不同方的场景下实现对特征的有监督分箱,同时保证隐私数据的隐私性和安全性。
发明内容
本说明书一个或多个实施例描述了一种保护隐私数据的有监督特征分箱方法及装置,以在特征和标签分布在不同方的场景下实现对特征的有监督分箱,同时保证隐私数据的隐私性和安全性。具体的技术方案如下。
第一方面,提供了一种保护隐私数据的有监督特征分箱方法,通过特征持有方执行,所述特征持有方存储有N个样本的第一特征的特征值,所述N个样本的原始标签值存储在标签持有方中,所述原始标签值的取值包括0和1,所述N个样本按照既定顺序排列;所述方法包括:
获取所述标签持有方发送的按照所述既定顺序排列的N个第一加密标签值,每个第一加密标签值是使用公钥对对应的原始标签值同态加密后得到;
基于所述既定顺序,将所述N个第一加密标签值分别与所述第一特征的N个特征值进行关联,得到关联关系;
对所述N个特征值按照值大小重新排序,得到按照更新顺序排列的N个特征值构成的第一序列;
对于各个第一加密标签值,将其与对应的变换随机数同态相乘,得到对应的第二加密标签值;基于所述关联关系和所述第一序列,确定按照所述更新顺序排列的N个第二加密标签值构成的第二序列;
至少将所述第二序列发送至所述标签持有方,以使所述标签持有方至少基于所述第二序列进行特征分箱,得到第一分箱结果;
接收所述标签持有方发送的所述第一分箱结果,其中示出所述更新顺序中各个位置所对应的第一分箱;
按照所述第一分箱结果,对所述第一序列中各个位置的特征值进行分箱,得到特征分箱结果。
第二方面,实施例提供了一种保护隐私数据的有监督特征分箱方法,通过标签持有方执行,所述标签持有方存储有N个样本的原始标签值,所述N个样本中的第一特征的特征值存储在特征持有方中,所述原始标签值的取值包括0和1,所述N个样本按照既定顺序排列;所述方法包括:
使用公钥将N个原始标签值同态加密为对应的第一加密标签值,并将按照所述既定顺序排列的N个第一加密标签值发送至所述特征持有方;
接收所述特征持有方至少发送的第二序列;所述第二序列由按照更新顺序排列的N个第二加密标签值组成;
使用与所述公钥对应的私钥,对所述第二序列中的每个第二加密标签值进行解密,当解密结果为0时,确定对应的原始标签值的值为0;当解密结果非0时,确定对应的原始标签值的值为1,得到按照所述更新顺序排列的N个原始标签值;
至少基于按照所述更新顺序排列的N个原始标签值,进行相邻分箱合并操作,得到第一分箱结果,其中示出所述更新顺序中各个位置所对应的第一分箱;
将所述第一分箱结果发送至所述特征持有方。
第三方面,实施例提供了一种保护隐私数据的有监督特征分箱方法,通过标签持有方执行,所述标签持有方存储有N个样本的原始标签值,所述N个样本中的第一特征的特征值存储在特征持有方中,所述原始标签值的取值包括0和1,所述N个样本按照既定顺序排列;所述方法包括:
使用公钥将N个原始标签值同态加密为对应的第一加密标签值,并将按照所述既定顺序排列的N个第一加密标签值发送至所述特征持有方;
接收所述特征持有方至少发送的所述第二序列,所述第二序列由按照更新顺序排列的N个第二加密标签值组成;
使用与所述公钥对应的私钥,对所述第二序列中的每个第二加密标签值进行解密,当解密结果为0时,确定对应的原始标签值的值为0;当解密结果非0时,确定对应的原始标签值的值为1,得到按照更新顺序排列的N个原始标签值;
至少基于按照所述更新顺序排列的N个原始标签值进行拆分分箱操作,得到第一分箱结果,其中示出所述更新顺序中各个位置所对应的第一分箱;
将所述第一分箱结果发送至所述特征持有方。
第四方面,实施例提供了一种保护隐私数据的有监督特征分箱装置,部署在特征持有方中,所述特征持有方存储有N个样本的第一特征的特征值,所述N个样本的原始标签值存储在标签持有方中,所述原始标签值的取值包括0和1,所述N个样本按照既定顺序排列;所述装置包括:
获取模块,配置为,获取所述标签持有方发送的按照所述既定顺序排列的N个第一加密标签值,每个第一加密标签值是使用公钥对对应的原始标签值同态加密后得到;
关联模块,配置为,基于所述既定顺序,将所述N个第一加密标签值分别与所述第一特征的N个特征值进行关联,得到关联关系;
重排模块,配置为,对所述N个特征值按照值大小重新排序,得到按照更新顺序排列的N个特征值构成的第一序列;
处理模块,配置为,对于各个第一加密标签值,将其与对应的变换随机数同态相乘,得到对应的第二加密标签值;基于所述关联关系和所述第一序列,确定按照所述更新顺序排列的N个第二加密标签值构成的第二序列;
第一发送模块,配置为,至少将所述第二序列发送至所述标签持有方,以使所述标签持有方至少基于所述第二序列进行特征分箱,得到第一分箱结果;
第一接收模块,配置为,接收所述标签持有方发送的所述第一分箱结果,其中示出所述更新顺序中各个位置所对应的第一分箱;
第一分箱模块,配置为,按照所述第一分箱结果,对所述第一序列中各个位置的特征值进行分箱,得到特征分箱结果。
第五方面,实施例提供了一种保护隐私数据的有监督特征分箱装置,部署在标签持有方中,所述标签持有方存储有N个样本的原始标签值,所述N个样本中的第一特征的特征值存储在特征持有方中,所述原始标签值的取值包括0和1,所述N个样本按照既定顺序排列;所述装置包括:
加密模块,配置为,使用公钥将N个原始标签值同态加密为对应的第一加密标签值,并将按照所述既定顺序排列的N个第一加密标签值发送至所述特征持有方;
第二接收模块,配置为接收所述特征持有方至少发送的第二序列;所述第二序列由按照更新顺序排列的N个第二加密标签值组成;
解密模块,配置为,使用与所述公钥对应的私钥,对所述第二序列中的每个第二加密标签值进行解密,当解密结果为0时,确定对应的原始标签值的值为0;当解密结果非0时,确定对应的原始标签值的值为1,得到按照所述更新顺序排列的N个原始标签值;
第二分箱模块,配置为,至少基于按照所述更新顺序排列的N个原始标签值,进行相邻分箱合并操作,得到第一分箱结果,其中示出所述更新顺序中各个位置所对应的第一分箱;
第二发送模块,配置为将所述第一分箱结果发送至所述特征持有方。
第六方面,实施例提供了一种保护隐私数据的有监督特征分箱装置,部署在标签持有方中,所述标签持有方存储有N个样本的原始标签值,所述N个样本中的第一特征的特征值存储在特征持有方中,所述原始标签值的取值包括0和1,所述N个样本按照既定顺序排列;所述装置包括:
加密模块,配置为,使用公钥将N个原始标签值同态加密为对应的第一加密标签值,并将按照所述既定顺序排列的N个第一加密标签值发送至所述特征持有方;
第二接收模块,配置为接收所述特征持有方至少发送的所述第二序列,所述第二序列由按照更新顺序排列的N个第二加密标签值组成;
解密模块,配置为,使用与所述公钥对应的私钥,对所述第二序列中的每个第二加密标签值进行解密,当解密结果为0时,确定对应的原始标签值的值为0;当解密结果非0时,确定对应的原始标签值的值为1,得到按照更新顺序排列的N个原始标签值;
第三分箱模块,配置为,至少基于按照更新顺序排列的N个原始标签值进行拆分分箱操作,得到第一分箱结果,其中示出所述更新顺序中各个位置所对应的第一分箱;
第二发送模块,配置为将所述第一分箱结果发送至所述特征持有方。
第七方面,实施例提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面至第三方面中任一项所述的方法。
第八方面,实施例提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面至第三方面中任一项所述的方法。
根据本说明书实施例提供的方法和装置,标签持有方对原始标签值进行同态加密,并通过与特征持有方的交互,使得特征持有方无法获得标签持有方的隐私数据,而特征持有方对特征值重排序,并采用变换随机数对同态加密后的原始标签值进一步变换,这样使得标签持有方无法根据返回的加密标签值推测特征持有方的隐私数据,并且能从加密标签值解密得到原始标签值,很好地实现了双方联合进行有监督分箱的目的,也能够尽可能保证双方隐私数据的隐私性和安全性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书披露的一个实施例的实施场景示意图;
图2为一个实施例提供的两方之间进行分箱的交互流程示意图;
图3为特征持有方中相等特征值所在位置和第一分箱编号的示意图;
图4为图2中步骤S270的一种迭代实施流程示意图;
图5为另一个实施例提供的两方之间进行分箱的交互流程示意图;
图6为基于拆分的迭代分箱过程示意图;
图7为一个实施例提供的部署在特征持有方的分箱装置的示意性框图;
图8为一个实施例提供的部署在标签持有方的分箱装置的示意性框图;
图9为另一个实施例提供的部署在标签持有方的分箱装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
图1为本说明书披露的一个实施例的实施场景示意图。其中,特征持有方10存储有N个样本的第一特征的特征值,标签持有方20存储有该N个样本的原始标签值,在两方中,该N个样本均按照既定顺序排列。其中,N为自然数。该N个样本可以作为模型测试集中的样本,也可以作为模型训练集中的样本,本说明书对此不作限定。
上述第一特征,可以是样本的多个特征中的任意一个。例如,每个样本可以是以下业务对象之一:用户、商品、商户和事件等。当样本是商品时,样本的特征可以包括:价格、销量等,样本的标签可以包括高销量商品、低销量商品等类别;当样本是用户时,样本的特征可以包括:用户年龄、收入、消费额等,样本的标签可以包括针对某个客户端的使用频率的高低。第一特征的特征值可以是离散型特征值,也可以是连续型特征值。样本的标签可以是二分类标签,分类取值可以包括0和1,例如使用频率高采用标签值1表示,使用频率低采用标签值0表示。
在风险控制场景中,样本的特征可以包括用户数据。用户可以划分为有风险用户(异常用户)和无风险用户(正常用户),该用户数据是需要保密的隐私数据。在这种场景下,样本的标签可以是分类标签,该样本所在的数据集可以用于训练风险控制模型。
特征持有方10存储有N个样本的样本标识和对应的第一特征的特征值(即特征数据),图1中示例性地将第一特征的特征值采用xx来代替。标签持有方20存储有N个样本的样本标识和对应的原始标签值(即标签数据),图1中示例性地将原始标签值的取值采用yy来代替,yy的值包括0或1。特征持有方10和标签持有方可以共享样本排序。N个样本按照既定顺序排列可以理解为,特征持有方10对样本的排序和标签持有方20对标签的排序可以使得:特征持有方10的第n条样本和标签持有方20的第n个标签匹配成带标签的一条完整样本,n为小于等于N的一个值。比如说特征持有方10的第1条样本用来描述用户A的特征(如年龄大小、学历高低、月消费金额等等),标签持有方20的第1个标签用来描述用户A是否属于高风险用户(如“1”表示高风险用户,“0”表示非高风险用户),特征持有方10的第1条样本和标签持有方20的第1个标签构成了一条描述用户A的带标签的样本。又例如,特征持有方10的第16条样本用来描述用户P的特征(如年龄大小、学历高低、月消费金额等等),标签持有方20的第16个标签用来描述用户P是否属于高风险用户(如“1”表示高风险用户,“0”表示非高风险用户),特征持有方10的第16条样本和标签持有方20的第16个标签构成了一条描述用户P的带标签的样本。上述特征数据和标签数据均属于隐私数据。
当样本的特征和标签分布在不同的持有方中,并且每个持有方对各自的数据存在隐私保护的要求,不会将自身数据进行明文输出时,为了实现对特征的有监督分箱,又不泄露各方的隐私数据,本说明书实施例提供了一种两方联合的分箱方法。参见图1中示出的交互过程,标签持有方20对原始标签值进行同态加密,得到第一加密标签值,并将其发送至特征持有方10;特征持有方10对特征值重排序,并根据特征值和接收的第一加密标签值之间的关联关系,处理得到更新顺序的第二加密标签值,将更新顺序的第二加密标签值发送至标签持有方20;标签持有方20基于接收的信息进行进一步的特征分箱操作,得到第一分箱结果,并将其发送至特征持有方10;特征持有方10基于第一分箱结果,对更新顺序的特征值进行分箱,得到特征分箱结果。可见,整个交互过程没有任何明文数据的发送,特征持有方接收到同态加密后的加密标签值,无法获得标签持有方的隐私数据,特征持有方向标签持有方发送进一步加密后的第二加密标签值,这使得标签持有方能够从第二加密标签值中解密得到原始标签值,但却无法基于第二加密标签值推测特征持有方的隐私数据,很好地实现了双方联合进行有监督分箱的目的,并且能尽可能保证双方隐私数据的隐私性和安全性。
图1中,特征持有方10中得到的每个分箱(分箱1、分箱2和分箱3)可以包含不同数量的样本,一般来说不同分箱中的样本也是不重叠的。该特征分箱结果仅为一种示例,具体应用中的特征分箱结果可以包含不同数量的分箱以及每个分箱中有不同的样本。
当特征持有方中包含有样本的多个特征时,可以针对每一个特征,采用本说明书实施例的分箱方法,通过与特征持有方的交互,实现对该特征的有监督分箱。当样本的多个特征分布在不同的特征持有方中时,可以由待分箱的特征所在的特征持有方与标签持有方采用本说明书实施例的方式执行。
下面结合图1所示的场景示意图,对本说明书实施例进行更详细的说明。
图2为一实施例提供的保护隐私数据的有监督特征分箱方法的流程示意图,该方法通过特征持有方10和标签持有方20交互执行。特征持有方10存储有N个样本的第一特征的特征值,N个样本的原始标签值存储在标签持有方20中,原始标签值的取值包括0和1。双方中,N个样本按照既定顺序排列,该既定顺序可以是样本标识(Identification,ID)从小到大的顺序或者从大到小的顺序,也可以是指定字典中显示的样本标识顺序。该方法包括以下步骤S210~S290。
步骤S210,标签持有方20使用公钥Key1将N个原始标签值同态加密为对应的第一加密标签值,例如将原始标签值yy同态加密为E(yy),并将按照上述既定顺序排列的N个第一加密标签值发送至特征持有方10。特征持有方10可以接收标签持有方20发送的按照既定顺序排列的N个第一加密标签值。
特征持有方10也可以先向标签持有方20发送数据获取请求,标签持有方20在接收到该数据获取请求时,使用公钥Key1将N个原始标签值同态加密为对应的第一加密标签值,并将按照上述既定顺序排列的N个第一加密标签值发送至特征持有方10。
在本步骤中,标签持有方20可以直接生成用于同态加密的公钥Key1和对应的私钥Key2,也可以直接获取预先生成的公钥Key1和私钥Key2。
N个原始标签值的取值包括0和1,0或者1可能会在N个原始标签值中出现多次。但是,标签持有方20使用公钥分别对N个原始标签值一一进行同态加密,能够使得得到的所有第一加密标签值互不相同,使得特征持有方无法根据按照既定顺序排列的N个第一加密标签值的取值来推测标签持有方中的隐私数据。可见,这种加密方式能够更好地对标签持有方的标签值进行保密,尽可能不泄露任何隐私数据。关于同态加密的具体实施过程,在本实施例的最后对其进行详细说明。
步骤S220,特征持有方10基于既定顺序,将N个第一加密标签值分别与第一特征的N个特征值进行关联,得到关联关系。特征值持有方10中预先存储有按照既定顺序排列的N个特征值,直接将按照既定顺序排列的N个特征值分别与对应的第一加密标签值进行关联即可。例如,表1示出特征持有方10中第一特征的N个特征值与对应的第一加密标签值的关联关系。
表1
样本ID | 1 | 2 | 3 | 4 | 5 | 6 | … | N |
特征值 | xx | xx | xx | xx | xx | xx | … | xx |
第一加密标签值 | E(yy) | E(yy) | E(yy) | E(yy) | E(yy) | E(yy) | … | E(yy) |
其中,xx为特征值的具体取值,yy为原始标签值的具体取值,各个特征值的取值是不同的,各个原始标签值的取值也是不同的,各个第一加密标签值互不相同。
对特征值和第一加密标签值进行关联,能够得到样本ID、特征值、第一加密标签值之间的对应关系。
步骤S230,特征持有方10对N个特征值按照值大小重新排序,得到按照更新顺序排列的N个特征值构成的第一序列。
第一特征的类型可以包含连续型和离散型。其中,离散型的特征包括取值存在大小顺序关系的特征,例如年龄特征、身高特征等。对于连续型的特征,包括例如营业收入、交易次数等特征。
按照值大小进行的排序,包括按照值从大到小进行排序和按照值从小到大进行排序,具体的排序方式择一实施即可。
例如,参见图3所示示意图,其中第一特征为营业收入,对多个特征值按照值从小到大重新排序后参见图3前两行所示。
步骤S240,特征持有方10对于各个第一加密标签值,将其与对应的变换随机数同态相乘,得到对应的第二加密标签值,基于上述关联关系和第一序列,确定按照更新顺序排列的N个第二加密标签值构成的第二序列。
在本步骤中,将第一加密标签值与对应的变换随机数同态相乘以得到第二加密标签值的步骤,可以与基于上述关联关系和第一序列确定按照更新顺序排列的N个第二加密标签值构成的第二序列的步骤,同时执行,或者先后执行、后先执行,这都是可以的。
在得到第二加密标签值之后,可以将其替换对应的第一加密标签值。
第一加密标签值是通过同态加密后得到的加密数据,将第一加密标签值与对应的变化随机数同态相乘,可以将第一加密标签值变换成对应的第二加密标签值。
在基于上述关联关系和第一序列,确定按照更新顺序排列的N个第二加密标签值构成的第二序列时,由于样本ID、特征值、加密标签值(加密标签值包括第一加密标签值和第二加密标签值)之间存在关联关系,当对N个特征值按照值大小重新排序得到第一序列之后,可以得到按照更新顺序排列的N个加密标签值构成的第二序列。若该加密标签值为第一加密标签值,在将第一加密标签值对应地变换成第二加密标签值之后,可以将第二加密标签值替换第二序列中对应的第一加密标签值,得到由按照更新顺序排列的N个第二加密标签值构成的第二序列。若该加密标签值为第二加密标签值,则将第一加密标签值对应地变换成第二加密标签值的步骤在得到第二序列之前已经进行,因此得到的第二序列已经是包含按照更新顺序排列的N个第二加密标签值的序列。
例如,参见表1,在每一列中,样本ID、特征值、第一加密标签值形成关联关系,在对表1中的N个特征值进行重新排序之后,表1中的多个列变换位置,得到表2所示按照更新顺序排列的N个特征值,以及对应的第一加密标签值、第二加密标签值和原始标签值。并且,每一列对应更新顺序后的一个位置。其中,特征持有方10拥有更新顺序后的各个位置,以及样本ID、特征值、第一加密标签值和第二加密标签值,并不拥有原始标签值。表2最后一行列出的原始标签值仅仅是为了说明原始标签值与第一加密标签值和第二加密标签值之间的对应关系。
表2
更新顺序后的各个位置 | 位置1 | 位置2 | 位置3 | 位置4 | … | 位置N |
样本ID | 5 | 22 | 3 | 55 | … | 14 |
特征值 | xx | xx | xx | xx | … | xx |
第一加密标签值 | E(yy) | E(yy) | E(yy) | E(yy) | … | E(yy) |
第二加密标签值 | E′(yy) | E′(yy) | E′(yy) | E′(yy) | E′(yy) | E′(yy) |
原始标签值 | yy | yy | yy | yy | yy | yy |
步骤S250,特征持有方10至少将第二序列发送至标签持有方20,标签持有方20接收特征持有方10至少发送的第二序列。
特征持有方10将第二序列发送至标签持有方20,实际上该第二序列中携带了更新顺序后的各个位置。
特征持有方10还可以判断N个特征值中是否存在相等特征值,如果不存在,则直接将第二序列发送至标签持有方20;如果存在相等特征值,则可以基于第一序列中的N个特征值,确定上述更新顺序中相等特征值所在位置,将第二序列以及更新顺序中相等特征值所在位置发送至标签持有方20。在对特征值进行分箱时,相等特征值应被划分至同一分箱中,而不应被划分至不同分箱中。因此,当N个特征值中存在相等特征值时,特征持有方10还可以将该更新顺序中相等特征值所在位置发送至标签持有方20。
第一序列中的N个特征值中,可能存在多组相等特征值,例如,第五个和第六个特征值相等,第九和第十个特征值相等,诸如此类。
参见图3所示特征分箱示意图,这些更新顺序后的特征值中存在6组相等特征值,整体上,这些更新顺序后的特征值可以划分成7组,每个组的编号以及其中包含的相等特征值位置如图3所示。
由于第一序列和第二序列中各个位置是对应的,因此上述更新顺序中相等特征值所在位置也与第二序列中的位置相对应。
更新顺序中相等特征值所在位置可以采用以下方式中的任意一种表示:
更新顺序中位置之间存在预设间隔符,用于标记相同特征值所在位置;
或者,更新顺序中的各个位置采用一维位图表示,各个位置中相等特征值位置采用一维位图中的指定数值分布规则区分。该一维位图可以包含N个位,对应于每个位置。
在第一序列或第二序列的更新顺序中可以共包含N个位置,各个位置可以采用其他信息进行表示,例如可以采用0或者1、a等等字符表示,并在不同特征值中间加入预设间隔符,当相邻位置中间不存在预设间隔符时说明该相邻位置对应的特征值相等。
结合图3所示的例子,更新顺序中相等特征值所在位置可以表示为:00-0-0000-00-000-00-00。其中,0代表各个位置,-为预设间隔符。或者表示为:01,02—03—04,05,06,07—08,09—10,11,12—13,14-15,16。其中,每个位置采用连续的两位数字表示,不同特征值的位置之间采用“—”隔开。
当采用位图表示,结合图3所示的例子,更新顺序中的各个位置可以采用以下一维位图表示:0010000110001100。其中,每个数字表示一个位置,相邻的相同数字表示相同特征值所在位置,相邻的不同数字表示不同特征值所在位置。更新顺序中的各个位置还可以采用以下一维位图表示:0011000101001010。其中,从左到右,当遇到下一个不同特征值时,采用1来表示不同特征值之间的跳转。
不管采用上述哪种方式表示更新顺序中的各个位置,其都不会泄露特征持有方中存储的任何特征数据,以及特征数据之间的任何分布规律。
步骤S260,标签持有方20使用与公钥Key1对应的私钥Key2,对第二序列中的每个第二加密标签值进行解密,当解密结果为0时,确定对应的原始标签值的值为0;当解密结果非0时,确定对应的原始标签值的值为1,得到按照更新顺序排列的N个原始标签值。在解密时,可以采用与上述同态加密采用的算法对应的解密算法,使用私钥Key2对每个第二加密标签值进行解密。
再来回顾一下步骤S240,其中将第一加密标签值与对应的变换随机数同态相乘,得到第二加密标签值。而本步骤中,采用私钥Key2对第二加密标签值进行解密后得到的解密结果,相当于将原始标签值与变换随机数相乘后的结果。因此,当原始标签值为0时,原始标签值与变换随机数相乘后的结果仍然为0;当原始标签值为1时,原始标签值与变换随机数相乘后的结果仍然非0。变换随机数一般来说是非0的。进而在本步骤中,可以根据上述解密结果是0或非0,来确定原始标签值的取值为0或为1。
可见,通过步骤S240,特征持有方10对每个第一加密标签值进行上述处理之后,能够避免将第一加密标签值直接发送至标签持有方20,进而避免标签持有方20根据第一加密标签值的更新顺序,与其自身生成的第一加密标签值的既定顺序进行比对,从中推测出部分特征值信息。即便标签持有方20在第一加密标签值中植入特殊标记,针对第一加密标签值的处理操作也能对该特征标记进行混淆,使得标签持有方20无法根据接收的信息推测得到特征持有方的任何隐私信息。并且,每个第一加密标签值可以对应于不同的变换随机数,这样能使得得到的第二加密标签值相对于第一加密标签值更加无规律可循。因此,特征持有方10向标签持有方20发送的第二序列,没有携带关于特征值的任何信息,能够很好地保护特征持有方10中隐私数据的隐私性。同时,标签持有方20在接收到第二序列时,仍然可以从第二加密标签值解密得到对应的原始标签值,而无法根据从第二加密标签值定位至对应的第一标签加密值,进而无法推测特征值的分布规律。
步骤S270,标签持有方20至少基于按照更新顺序排列的N个原始标签值,进行相邻分箱合并操作,得到第一分箱结果,其中示出更新顺序中各个位置所对应的第一分箱。步骤S280,标签持有方20将第一分箱结果发送至特征持有方10,特征持有方10接收标签持有方20发送的第一分箱结果。
当标签持有方20直接接收到特征持有方10发送的第二序列时,认为特征持有方10中的N个特征值的取值互不相同。这种情况下,标签持有方20可以直接将按照更新顺序排列的N个原始标签值确定为N个初始分箱,针对该N个初始分箱进行相邻分箱合并操作,得到第一分箱结果。
当标签持有方20除了接收到特征持有方10发送的第二序列之外,还接收到更新顺序中相等特征值所在位置时,认为特征持有方10中的N个特征值的取值存在相同特征值。这种情况下,标签持有方20可以针对更新顺序中相对特征值所在位置,确定按照更新顺序排列的N个原始标签值对应的初始分箱,针对各个初始分箱进行相邻分箱合并操作,得到第一分箱结果。
第一分箱结果示出更新顺序中各个位置所对应的第一分箱,可以理解为,第一分箱结果示出按照更新顺序排列的每个特征值所在位置对应的第一分箱,也示出按照更新顺序排列的每个原始标签值所在位置对应的第一分箱。第一序列、第二序列以及按照更新顺序排列的N个原始标签值,其三者的位置是相互对应的。
标签持有方20基于按照更新顺序排列的N个原始标签值,进行相邻分箱合并操作时,可以采用卡方分箱的方式进行,也可以采用其他基于合并的分箱方法。
其中,卡方分箱是一种对变量自底向上的(即基于合并的)数据离散化方法,依赖于统计中的卡方检验,将具有最小卡方值的相邻区间合并在一起,直到满足确定的停止条件,其分箱的基本思想是判断相邻的两个区间是否有分布差异。
第一分箱结果可以采用以下方式中的任一种表示:
更新顺序中位置之间存在预设间隔符,用于区分不同的相邻第一分箱;
或者,更新顺序中的各个位置采用一维位图表示,各个位置所对应的不同第一分箱采用一维位图中的指定数值分布规则区分。该一维位图可以包含N个位,对应于每个位置。
针对以上两种方式的具体说明可以参见步骤S250中结合图3的说明,此处不再赘述。
参见图3中最后一行给出的第一分箱结果,以及每个第一分箱的编号。采用上述这种方式发送第一分箱结果,能够减少发送的数据量,提高数据传输效率。除了采用上述内容介绍的方式表示第一分箱结果之外,标签持有方20也可以将按照更新顺序排列的N个第二加密标签值以及对应的第一分箱发送至特征持有方10。
不管采用上述哪种方式表示第一分箱结果,其都不会泄露标签持有方中存储的任何标签数据,以及标签数据之间的任何分布规律。
步骤S290,特征持有方10按照第一分箱结果,对第一序列中各个位置的特征值进行分箱,得到特征分箱结果。特征持有方10,可以将第一分箱结果中的各个位置分别与第一序列中的各个位置进行对应,将第一分箱结果中每个位置的第一分箱确定为第一序列中对应位置的特征值的分箱。按照这种方式,可以确定特征持有方10中每个样本的该第一特征属于哪个分箱。
由上述内容可见,本实施例中,标签持有方对原始标签值进行同态加密,并通过与特征持有方的交互,使得特征持有方无法获得标签持有方的隐私数据,而特征持有方对特征值重排序,并采用变换随机数对同态加密后的原始标签值进一步变换,这样使得标签持有方无法根据返回的加密标签值推测特征持有方的隐私数据,并且能从加密标签值解密得到原始标签值,很好地实现了双方联合进行有监督分箱的目的,也能够尽可能保证双方隐私数据的隐私性和安全性。
标签持有方20在对每一个原始标签值进行同态加密时,还可以随机生成加密随机数r,使用公钥Key1和该加密随机数r对原始标签值进行同态加密运算,得到第一加密标签值。例如,在Paillier算法中,可以采用公式对原始标签值m进行加密,得到第一加密标签值C。其中,m为明文,C为密文;Key1为公钥,一般是两个很大的素数的乘积;r为加密随机数,mod为求余函数。由于每次生成的加密随机数r均不相同,因此每次对原始标签值进行同态加密,都会得到不同的加密标签值。这样即保证了所有的加密标签值互不相同。
在本说明书的另一实施例中,在步骤S240中,在对于各个第一加密标签值,将其与对应的变换随机数同态相乘之前,还可以针对各个第一加密标签值,确定对应的非0随机数,基于该非0随机数确定变换随机数。
确定对应的非0随机数时,具体可以在预设的数值范围内随机生成非0随机数;也可以是,从预先生成的多个非0随机数中选取。预设的数值范围可以是整数范围,也可以是非整数范围。不同的第一加密标签值对应于不同的非0随机数。
基于该非0随机数确定变换随机数时,具体可以直接将该非0随机数确定为变换随机数。也就是,针对每一个第一加密标签值,将该第一加密标签值直接与确定的非0随机数同态相乘,得到对应的第二加密标签值。对所有的第一加密标签值都进行此处理。
也可以是,使用公钥Key1,将确定的非0随机数同态加密为变换随机数,将第一加密标签值与对应的变换随机数同态相乘,得到对应的第二加密标签值。
例如,针对任意一个第一加密标签值E(yy),生成对应的非0随机数r,可以直接将第一加密标签值E(yy)与非0随机数r同态相乘,得到对应的第二加密标签值,其明文为yy*r。也可以是,使用公钥Key1,将非0随机数r同态加密为变换随机数E(r),将第一加密标签值E(yy)与对应的变换随机数E(r)同态相乘,得到对应的第二加密标签值,其明文也为yy*r。
在本实施例中,特征持有方给第一加密标签值叠加上非0随机数,既使得标签持有方能够从第二加密标签值解密得到原始标签值,也使得标签持有方无法获取特征持有方的任何隐私数据规律,并消除标签持有方可能添加的特殊标记,因此提高了特征持有方的数据隐私性和安全性。
在本说明书的另一实施例中,在没有接收到特征持有方10发送的更新顺序中相等特征值所在位置时,认为N个特征值中不存在相等特征值。标签持有方20在执行步骤S270时,即至少基于按照更新顺序排列的N个原始标签值,进行相邻分箱合并操作,得到第一分箱结果时,可以按照图4所示流程示意图进行。其包括以下步骤S271~S274。
步骤S271,将按照更新顺序排列的N个原始标签值对应的每个位置作为一个初始分箱,得到N个初始分箱。本实施例可以对应于特征持有方10中的N个特征值互不相同的情况。
步骤S272,基于各个初始分箱中的原始标签值,对各个初始分箱进行相邻分箱合并操作,得到更新分箱结果,其中示出更新顺序中各个位置所对应的更新分箱。更新分箱结果也可以采用采用步骤S250中给出的方式进行表示,此处对其表示方式不再赘述。
步骤S273,当各个更新分箱不满足预设分箱条件时,将更新分箱作为初始分箱,返回执行步骤S272。
步骤S274,当各个更新分箱满足预设分箱条件时,将更新分箱结果确定为第一分箱结果。
在本实施例中,基于各个初始分箱中的原始标签值,对各个初始分箱进行相邻分箱合并操作,可以采用卡方分箱的方式进行,也可以采用其他基于合并的分箱方式。下面以卡方分箱为例对其进行详细介绍。
在采用卡方分箱的方式进行相邻分箱合并操作时,可以基于各个初始分箱中的原始标签值,依次确定每一对相邻初始分箱的卡方值,得到多个卡方值,将最小卡方值对应的一对相邻初始分箱进行合并。在第一次迭代中,初始分箱即为更新顺序排列的N个原始标签值对应的N个初始分箱。在第二次及以后的迭代中,初始分箱为上一次迭代中的更新分箱。
例如,针对顺序排列的初始分箱1、初始分箱2、初始分箱3……初始分箱7,可以依次确定初始分箱1和初始分箱2的卡方值,初始分箱2和初始分箱3的卡方值,初始分箱3和初始分箱4的卡方值,初始分箱4和初始分箱5的卡方值,初始分箱5和初始分箱6的卡方值,以及初始分箱6和初始分箱7的卡方值,得到6个卡方值,并将这6个卡方值中的最小卡方值对应的相邻初始分箱进行合并,假设初始分箱1和初始分箱2的卡方值为最小卡方值,则在本轮迭代中将初始分箱1和初始分箱2进行合并。
在确定每一对相邻初始分箱的卡方值时,可以采用如下方式。以原始标签值包含两个取值为例(原始标签值1和原始标签值2,例如分别为0和1,即二分类)进行说明,针对每一对相邻初始分箱,例如初始分箱1和初始分箱2,统计表3中的各个参量。
表3
原始标签值1 | 原始标签值2 | ||
初始分箱1 | A11 | A12 | R1 |
初始分箱2 | A21 | A22 | R2 |
C1 | C2 |
其中,A11表示初始分箱1中属于原始标签值1的样本数目,A12表示初始分箱1中属于原始标签值2的样本数目,A21表示初始分箱2中属于原始标签值1的样本数目,A22表示初始分箱2中属于原始标签值2的样本数目,R1表示初始分箱1中的样本数目,R1= A11+A12,R2表示初始分箱2中的样本数目,R2= A21+A22,C1表示两个分箱中属于原始标签值1的样本数目,C2表示两个分箱中属于原始标签值2的样本数目,C1= A11+A21,C2= A12+A22。A11、A21、A12和A22可以理解为实际频数。
然后,基于表3中的各个参量确定各个期望频数E11、E12、E21和E22,见表4。
表4
原始标签值1 | 原始标签值2 | |
初始分箱1 | E11=(R1/N)*C1 | E12=(R1/N)*C2 |
初始分箱2 | E21=(R2/N)*C1 | E22=(R2/N)*C2 |
其中,N为样本的总数目。利用上述两个表格(表3和表4)中的数据,采用以下公式(1)计算初始分箱1和初始分箱2的卡方值:
利用上述方式可以求得每一对相邻初始分箱的卡方值,更新分箱结果,并可以判断更新分箱结果是否满足预设分箱条件,如果不满足,则执行步骤S273,继续迭代;如果满足,则执行步骤S274,结束迭代并确定第一分箱结果。
上述预设分箱条件可以包括:多个更新分箱的总数目达到预设数目。预设数目可以根据经验值确定,预设数目可以是某个具体的值,也可以为取值范围,例如可以是5或者8之间的某个数值,或者其他的大于1的数值,也可以是类似于[5,8]这样的范围值。当预设数目取范围值时,判断多个更新分箱的总数目是否达到预设数目,可以理解为判断多个更新分箱的总数目是否位于预设数目对应的范围值之中。
在步骤S272中,在任意一次迭代中,可以直接确定更新分箱的总数目,并判断该总数目是否达到预设数目。
或者,当采用卡方分箱的方式进行相邻分箱合并操作时,预设分箱条件可以包括:多个更新分箱中任意一对更新分箱的卡方值大于预设阈值。预设阈值可以根据经验值确定。
在步骤S272中,在第一次迭代之后的任意一次迭代中,在得到更新分箱结果之后,还可以在本次迭代中计算任意一对更新后的相邻分箱的卡方值,并判断每一对相邻初始分箱的卡方值是否小于预设阈值,如果小于,则将更新分箱作为初始分箱,进入下一次迭代,如果不小于,则将更新分箱结果确定为第一分箱结果,结束迭代。
在另一种实施方式中,也可以在上述卡方分箱的基础上,对其实施流程进行修改,例如基于各个初始分箱中的原始标签值,依次针对相邻的三个初始分箱计算其卡方值,得到多个卡方值,将最小卡方值对应的相邻三个初始分箱进行合并。当然,上述相邻的三个初始分箱也可以替换为相邻的四个初始分箱、五个初始分箱等等。当合并时的粒度不同时,分箱合并精度也不同,计算效率也随之不同。粒度越小时,分箱合并精度越高,计算量越大,效率相对较低。
在本实施例中,标签持有方基于第二序列,便可以在本地进行分箱,使得基于标签的有监督分箱能够顺利实现。
在本实施例的另一实施方式中,标签持有方20除了接收到特征持有方发送的第二序列之外,还接收到特征持有方10发送的更新顺序中相等特征值所在位置。在标签持有方20执行步骤S270时,即至少基于按照更新顺序排列的N个原始标签值,进行相邻分箱合并操作,得到第一分箱结果时,可以按照如下流程进行,具体包括步骤1a~4a。
步骤1a,基于更新顺序中相等特征值所在位置,确定按照更新顺序排列的N个原始标签值对应的初始分箱。本实施例可以对应于特征值持有方10中的N个特征值中存在相等特征值的情况。
具体的,本步骤可以基于更新顺序中相等特征值所在位置,针对按照更新顺序排列的N个原始标签值,将不同特征值所在位置的原始标签值划分至不同初始分箱,将相同特征值所在位置的原始标签值划分至相同初始分箱。
例如,结合图3所示例子对本步骤进行说明。针对图3中16个样本对应的16个位置,按照从左到右的顺序分别为第1位置至第16位置。标签持有方20接收到了更新顺序中相等特征值所在位置,也就是接收到了表示以下数据的信息:图3中第1和第2位置为相等特征值,第4至第7位置为相等特征值,第8位置和第9位置为相等特征值,第10至第12位置为相等特征值,第13和第14位置为相等特征值,第15和第16位置为相等特征值。
以上的更新顺序中的各个位置与按照更新顺序排列的N个原始标签值所在的位置是一一对应的。因此,可以针对按照更新顺序排列的N个原始标签值,将第1和第2位置的原始标签值划分至初始分箱1,将第3位置的原始标签值划分至初始分箱2,将第4至第7位置的原始标签值划分至初始分箱3,将第8位置和第9位置的原始标签值划分至初始分箱4,将第10至第12位置的原始标签值划分至初始分箱5,将第13和第14位置的原始标签值划分至初始分箱6,将第15和第16位置的原始标签值划分至初始分箱7。以这种方式确定的初始分箱,即能够实现后续的分箱结果不将相等特征值划分至不同分箱。
步骤2a,基于各个初始分箱中的原始标签值,对各个初始分箱进行相邻分箱合并操作,得到更新分箱结果,其中示出更新顺序中各个位置所对应的更新分箱。
步骤3a,当各个更新分箱不满足预设分箱条件时,将更新分箱作为初始分箱,返回执行步骤2a。
步骤4a,当各个更新分箱满足预设分箱条件时,将更新分箱结果确定为第一分箱结果。
本实施例的各个步骤中,除了步骤1a之外,其他的步骤,例如步骤2a~步骤4a与图4所示实施例完全相同,具体说明可以参见图4所示实施例中对应的步骤S272~步骤S274的描述,此处不再赘述。
上述各个实施例提供了特征分箱中基于合并的分箱方法。基于同样的发明构思,在样本的特征和标签分布在不同的持有方中,并且每个持有方对各自的数据存在隐私保护的要求,不会将自身数据进行明文输出的应用场景下,本说明书实施例还提供了另一套两方联合的分箱方法,其基于拆分分箱进行。在该实施例中,标签持有方20对原始标签值进行同态加密,得到第一加密标签值,并将其发送至特征持有方10;特征持有方10对特征值重新排序,并根据特征值和接收的第一加密标签值之间的关联关系,处理得到更新顺序的第二加密标签值,将更新顺序的第二加密标签值发送至标签持有方20;标签持有方20基于接收的信息进行分箱拆分操作,得到第一分箱结果,并将其发送至特征持有方10;特征持有方10基于第一分箱结果,对更新顺序的特征值进行分箱,得到特征分箱结果。可见,整个交互过程也没有任何明文数据的发送,特征持有方接收到同态加密后的加密标签值,无法获得标签持有方的隐私数据,特征持有方向标签持有方发送进一步加密后的第二加密标签值,这使得标签持有方能够从第二加密标签值中解密得到原始标签值,但却无法基于第二加密标签值推测特征持有方的隐私数据,很好地实现了双方联合进行有监督分箱的目的,并且能尽可能保证双方隐私数据的隐私性和安全性。具体过程可参见图5所示实施例。
图5为实施例提供的一种保护隐私数据的有监督特征分箱方法,通过特征持有方10执行,特征持有方存储有N个样本的第一特征的特征值,N个样本的原始标签值存储在标签持有方20中,原始标签值的取值包括0和1,N个样本按照既定顺序排列。所述方法包括以下步骤S510~S590。
步骤S510,标签持有方20使用公钥将N个原始标签值同态加密为对应的第一加密标签值,并将按照所述既定顺序排列的N个第一加密标签值发送至所述特征持有方,特征持有方10可以接收标签持有方20发送的按照既定顺序排列的N个第一加密标签值。
步骤S520,特征持有方10基于既定顺序,将N个第一加密标签值分别与第一特征的N个特征值进行关联,得到关联关系。
上述步骤S510和S520的具体实施方式可以分别与步骤S210和S220中描述的相同,具体说明可以参照步骤S210和S220,此处不再赘述。
步骤S530,特征持有方10对N个特征值按照值大小重新排序,得到按照更新顺序排列的N个特征值构成的第一序列。
步骤S540,特征持有方10对于各个第一加密标签值,将其与对应的变换随机数同态相乘,得到对应的第二加密标签值,基于所述关联关系和第一序列,确定按照更新顺序排列的N个第二加密标签值构成的第二序列。
上述步骤S530中对N个特征值按照值大小重新排序,得到第一序列的过程与步骤S230中的对应过程相同,详细说明可以参见步骤S230中的描述,此处不再赘述。上述步骤S540与步骤S240的具体实施方式相同,具体说明可以参照步骤S240,此处不再赘述。
步骤S550,特征持有方10至少将第二序列发送至标签持有方20,标签持有方20接收特征持有方10至少发送的第二序列。
特征持有方10还可以判断N个特征值中是否存在相等特征值,如果不存在,则直接将第二序列发送至标签持有方20;如果存在相等特征值,则可以基于第一序列中的N个特征值,确定上述更新顺序中相等特征值所在位置,将第二序列以及更新顺序中相等特征值所在位置发送至标签持有方20。在对特征值进行分箱时,相等特征值应被划分至同一分箱中,而不应被划分至不同分箱中。因此,当N个特征值中存在相等特征值时,特征持有方10还可以将该更新顺序中相等特征值所在位置发送至标签持有方20。
步骤S560,标签持有方20使用与公钥对应的私钥,对第二序列中的每个第二加密标签值进行解密,当解密结果为0时,确定对应的原始标签值的值为0;当解密结果非0时,确定对应的原始标签值的值为1,得到按照更新顺序排列的N个原始标签值。上述步骤S560与步骤S260的具体实施方式相同,具体说明可以参照步骤S260,此处不再赘述。
步骤S570,标签持有方20至少基于上述按照更新顺序排列的N个原始标签值进行拆分分箱操作,得到第一分箱结果,其中示出更新顺序中各个位置所对应的第一分箱。
步骤S580,标签持有方20将第一分箱结果发送至特征持有方10,特征持有方10接收标签持有方20发送的第一分箱结果,其中示出更新顺序中各个位置所对应的第二分箱。
标签持有方20基于按照更新顺序排列的N个原始标签值进行拆分分箱操作时,可以采用Best-KS分箱的方式进行,也可以采用其他基于拆分的分箱方法,例如基于最小熵的分箱方法。
Best-KS(Kolmogorov-Smirnov)分箱可以用于评估模型区分风险的能力,其可以描述特征数据分布在不同区间时不同标签的累计样本之间的差距,是一种自顶向下(基于拆分的)数据离散化方法。
第一分箱结果可以采用步骤S280中给出的方式进行表示,具体实施方式可以参见步骤S280中的说明,此处不再赘述。
步骤S590,特征持有方10按照第一分箱结果,对第一序列中各个位置的特征值进行分箱,得到特征分箱结果。本步骤的具体说明可以参见步骤S290,此处不再赘述。
由上述内容可见,本实施例中,标签持有方通过同态加密、同态解密,可以与特征持有方交互加密后的标签值,并基于此执行进一步的拆分分箱操作,将得到的第一分箱结果发送至特征持有方。整个交互过程没有发送任何明文数据,并且双方都对发送至对方的数据进行了相应的加密,使得对方无法推测自身的隐私数据,同时实现了对特征的有监督分箱,因此能保证隐私数据的隐私性和安全性。
在本说明书的另一实施例中,在步骤S540中,在对于各个第一加密标签值,将其与对应的变换随机数同态相乘之前,还可以针对各个第一加密标签值,确定对应的非0随机数,基于该非0随机数确定变换随机数。本实施例的具体实施方式可以参见图2所示实施例之后的相关描述,此处不再赘述。
在本实施例中,特征持有方给第一加密标签值叠加上非0随机数,既使得标签持有方能够从第二加密标签值解密得到原始标签值,也使得标签持有方无法获取特征持有方的任何隐私数据规律,并消除标签持有方可能添加的特殊标记,因此提高了特征持有方的数据隐私性和安全性。
在本说明书的另一实施例中,在没有接收到特征持有方10发送的更新顺序中相等特征值所在位置时,认为N个特征值中不存在相等特征值。标签持有方20在至少基于按照更新顺序排列的N个原始标签值进行拆分分箱操作,得到第一分箱结果时,即步骤S570可以按照以下迭代流程进行,其具体包括以下步骤1b~4b。
步骤1b,将按照更新顺序排列的N个原始标签值视为一个初始分箱。
步骤2b,针对任意一个初始分箱,基于该初始分箱中的原始标签值,确定该初始分箱的拆分点,以该拆分点对该初始分箱进行拆分分箱,得到更新分箱结果,其中示出更新顺序中各个位置所对应的更新分箱。
步骤3b,当各个更新分箱不满足预设分箱条件时,将更新分箱作为初始分箱,返回执行步骤2b。
步骤4b,当各个更新分箱满足预设分箱条件时,将更新分箱结果确定为第一分箱结果。
初始时,初始分箱为一个,经过第一次迭代之后,初始分箱被分成2个更新分箱。第二次迭代中,初始分箱为2个,并且被分成4个更新分箱,后续分箱过程依此进行,直至划分的更新分箱满足预设分箱条件。预设分箱条件包括:多个更新分箱的总数目达到预设数目。
参见图6所示的基于拆分的分箱过程示意图。其中,在第一次迭代中,营业收入的所有特征值构成第一分箱,从第一分箱中确定拆分点1,以该拆分点1对第一分箱进行拆分分箱,得到分箱1和分箱2。在第二次迭代中,分别以分箱1和分箱2作为第一分箱,确定分箱1的拆分点2和分箱2的拆分点3。拆分点2为样本5和样本8之间的点,拆分点3为样本15和样本12之间的点。分别以拆分点2和拆分点3对分箱1和分箱2进行拆分,得到分箱3至分箱6。当分箱的总数目达到预设数目时,停止迭代。
在本实施例中,步骤2b中基于初始分箱中的原始标签值,确定该初始分箱的拆分点时,可以采用Best-KS分箱的方式进行,也可以采用其他基于拆分的分箱方法。下面以Best-KS分箱为例对其进行详细介绍。
在确定每个初始分箱的拆分点时,针对任意一个初始分箱,以该初始分箱中每一对相邻原始标签值之间的点作为待选拆分点,将该初始分箱划分成两个子分箱,基于两个子分箱中的原始标签值,采用Best-KS算法确定两个子分箱的KS和值,作为该待选拆分点对应的特征区分度;从多个待选拆分点中选择最大特征区分度对应的待选拆分点,作为该初始分箱的拆分点。
每一个初始分箱均采用上述操作确定其拆分点。
例如,已知某公司采购额的5个特征值互不相同,从左至右依次为,样本3-11,样本2-13,样本5-23,样本1-24,样本4-25,则可以以采购额的所有5个特征值作为初始分箱,在第一次迭代中,以初始分箱中每一对相邻原始标签值之间的点作为待选拆分点,即从左到右,样本3与样本2之间的点为一个待选拆分点,样本2和样本5之间的点为一个待选拆分点……共4个待选拆分点。每一个待选拆分点都可以将初始分箱划分成两个子分箱。例如,对于样本5和样本1之间的待选拆分点,可以将初始分箱划分成左右两个子分箱,即由特征值11、11、23构成的子分箱1和由特征值24和25构成的子分箱2。在基于两个子分箱1和2中的原始标签值,确定两个子分箱1和2的KS和值时,可以统计以下参量n11、n12、n21和n22,并采用公式| n12/n2-n11/n1|计算子分箱1的KS值,采用公式|n22/n2-n21/n1|计算子分箱2的KS值,然后再求两个子分箱的KS和值。| |为取绝对值符号。
其中,n11为子分箱1中标签值为1的样本数目,n12为子分箱1中标签值为0的样本数目,n21为子分箱2中标签值为1的样本数目,n22为子分箱2中标签值为0的样本数目,n1为初始分箱中标签值为1的总样本数目,n2为初始分箱中标签值为0的总样本数目。上述例子中以标签值包括0和1的二分类为例进行说明,根据该说明可以得到三分类、四分类等更多分类时的实施方式。以上给出了确定一个待选拆分点对应的特征区分度的一种实施方式,据此可以得到其他3个待选拆分点的特征区分度,每一个待选拆分点对应一种拆分方式,从多个待选拆分点中选择最大特征区分度对应的待选拆分点,即选择了针对初始分箱的一种拆分方式。
上述步骤1b~4b所示的实施例仅仅是步骤S570的一种实施方式。在另一种实施方式中,还可以对步骤3b进行修改,例如,当各个更新分箱不满足预设分箱条件时,从各个更新分箱中选择部分更新分箱作为初始分箱,返回执行步骤2b。
在本实施例的另一实施方式中,标签持有方20除了接收到特征持有方发送的第二序列之外,还接收到特征持有方10发送的更新顺序中相等特征值所在位置。标签持有方20至少基于按照更新顺序排列的N个原始标签值进行拆分分箱操作,得到第一分箱结果时,即步骤S570可以按照以下迭代流程进行,其具体包括以下步骤1c~4c。
步骤1c,将按照更新顺序排列的N个原始标签值视为一个初始分箱。
步骤2c,针对任意一个初始分箱,基于更新顺序中相等特征值所在位置和该初始分箱中的原始标签值,确定该初始分箱中不位于相等特征值之间位置的拆分点,以该拆分点对初始分箱进行拆分分箱,得到更新分箱结果,其中示出更新顺序中各个位置所对应的更新分箱。
步骤3c,当各个更新分箱不满足预设分箱条件时,将更新分箱作为初始分箱,返回执行步骤2c。
步骤4c,当各个更新分箱满足预设分箱条件时,将更新分箱结果确定为第一分箱结果。预设分箱条件包括:多个更新分箱的总数目达到预设数目。
初始时,初始分箱为一个,经过第一次迭代之后,初始分箱被分成2个更新分箱。第二次迭代中,初始分箱为2个,并且被分成4个更新分箱,后续分箱过程依此进行,直至划分的更新分箱满足预设分箱条件。预设分箱条件包括:多个更新分箱的总数目达到预设数目。
在本实施例中,步骤2c中基于更新顺序中相等特征值所在位置和该初始分箱中的原始标签值,确定该初始分箱中不位于相等特征值之间位置的拆分点时,可以采用Best-KS分箱的方式进行,也可以采用其他基于拆分的分箱方法。下面以Best-KS分箱为例对其进行详细介绍。
针对任意一个初始分箱,基于更新顺序中相等特征值所在位置,以该初始分箱中除相等特征值所在位置之外的其他位置中,每一对相邻原始标签值之间的点分别作为待选拆分点,将该初始分箱划分成对应的两个子分箱,基于两个子分箱中的原始标签值,采用Best-KS算法确定所述两个子分箱的KS和值,作为对应的待选拆分点的特征区分度;从多个待选拆分点中选择最大特征区分度对应的待选拆分点,作为所述初始分箱的拆分点。
每一个初始分箱均采用上述操作确定其拆分点。
例如,以图6所示的营业收入为例,从左至右共有16个位置,即共16个样本,每个样本对应一个位置,其中可见多组相等特征值。初始时,16个特征值所在位置整体作为一个初始分箱,在第一次迭代中,将样本7和样本5之间的点,将样本5和样本8之间的点,将样本9和样本3之间的点,将样本11和样本10之间的点,将样本15和样本12之间的点,将样本13和样本16之间的点,共6个点作为分别作为待选拆分点。每一个待选拆分点都可以将初始分箱划分成两个子分箱。在基于任意一个待选拆分点对应的两个子分箱1和2中的原始标签值,确定两个子分箱1和2的KS和值时,可以统计以下参量n11、n12、n21和n22,并采用公式| n12/n2-n11/n1|计算子分箱1的KS值,采用公式|n22/n2-n21/n1|计算子分箱2的KS值,然后再求两个子分箱的KS和值。| |为取绝对值符号。
其中,n11为子分箱1中标签值为1的样本数目,n12为子分箱1中标签值为0的样本数目,n21为子分箱2中标签值为1的样本数目,n22为子分箱2中标签值为0的样本数目,n1为初始分箱中标签值为1的总样本数目,n2为初始分箱中标签值为0的总样本数目。上述例子中以标签值包括二分类为例进行说明,根据该说明可以得到三分类、四分类等更多分类时的实施方式。以上给出了确定一个待选拆分点对应的特征区分度的一种实施方式,据此可以得到其他5个待选拆分点的特征区分度,每一个待选拆分点对应一种拆分方式,从多个待选拆分点中选择最大特征区分度对应的待选拆分点,即选择了针对初始分箱的一种拆分方式。
上述步骤1c~4c所示的实施例仅仅是步骤S570的一种实施方式。在另一种实施方式中,还可以对步骤3c进行修改,例如,当各个更新分箱不满足预设分箱条件时,从各个更新分箱中选择部分更新分箱作为初始分箱,返回执行步骤2c。
图5和图6实施例中的相关说明可以参见图2所示实施例中的相关表述,各个实施例之间可以相互参照。
上述内容对本说明书的特定实施例进行了描述,其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行,并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要按照示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的,或者可能是有利的。
图7为实施例提供的保护隐私数据的有监督特征分箱装置的一个示意性框图。该装置700部署在特征持有方中,特征持有方可以为各种具有计算处理能力的计算机、集群或者设备。特征持有方存储有N个样本的第一特征的特征值,N个样本的原始标签值存储在标签持有方中,原始标签值的取值包括0和1,N个样本按照既定顺序排列。该装置实施例与图2所示的方法实施例相对应。该装置700包括:
获取模块710,配置为,获取所述标签持有方发送的按照所述既定顺序排列的N个第一加密标签值,每个第一加密标签值是使用公钥对对应的原始标签值同态加密后得到;
关联模块720,配置为,基于所述既定顺序,将所述N个第一加密标签值分别与所述第一特征的N个特征值进行关联,得到关联关系;
重排模块730,配置为,对所述N个特征值按照值大小重新排序,得到按照更新顺序排列的N个特征值构成的第一序列;
处理模块740,配置为,对于各个第一加密标签值,将其与对应的变换随机数同态相乘,得到对应的第二加密标签值;基于上述关联关系和第一序列,确定按照更新顺序排列的N个第二加密标签值构成的第二序列;
第一发送模块750,配置为,至少将所述第二序列发送至所述标签持有方,以使所述标签持有方至少基于所述第二序列进行特征分箱,得到第一分箱结果;
第一接收模块760,配置为,接收所述标签持有方发送的所述第一分箱结果,其中示出所述更新顺序中各个位置所对应的第一分箱;
第一分箱模块770,配置为,按照所述第以分箱结果,对所述第一序列中各个位置的特征值进行分箱,得到特征分箱结果。
在一种具体实施方式中,装置700还包括:
确定模块(图中未示出),配置为,在对于各个第一加密标签值,将其与对应的变换随机数同态相乘之前,对于各个第一加密标签值,确定对应的非0随机数,基于该非0随机数确定变换随机数。
在一种具体实施方式中,第一发送模块750,具体配置为,在所述N个特征值中不存在相等特征值的情况下,直接将所述第二序列发送至所述标签持有方。
在一种具体实施方式中,第一发送模块750,具体配置为,在所述N个特征值中存在相等特征值的情况下,基于所述第一序列中的N个特征值,确定所述更新顺序中相等特征值所在位置,将所述第二序列以及所述更新顺序中相等特征值所在位置发送至所述标签持有方。
在一种具体实施方式中,第一分箱模块770,配置为,将第一分箱结果中的各个位置分别与所述第一序列中的各个位置进行对应,将所述第一分箱结果中每个位置的第一分箱确定为所述第一序列中对应位置的特征值的分箱。
在一种具体实施方式中,所述更新顺序中相等特征值所在位置采用以下方式中的一种表示:
所述更新顺序中位置之间存在预设间隔符,用于标记相同特征值所在位置;
所述更新顺序中的各个位置采用一维位图表示,各个位置中相等特征值位置采用所述一维位图中的指定数值分布规则区分。
图8为实施例提供的保护隐私数据的有监督特征分箱装置的一种示意性框图。该装置800部署在标签持有方中,标签持有方可以为各种具有计算处理能力的计算机、集群或者设备。标签持有方存储有N个样本的原始标签值,所述N个样本中的第一特征的特征值存储在特征持有方中,原始标签值的取值包括0和1,所述N个样本按照既定顺序排列。该装置实施例与图2所示方法实施例相对应。该装置800包括:
加密模块810,配置为使用公钥将N个原始标签值同态加密为对应的第一加密标签值,并将按照所述既定顺序排列的N个第一加密标签值发送至所述特征持有方;
第二接收模块820,配置为接收所述特征持有方至少发送的第二序列;所述第二序列由按照更新顺序排列的N个第二加密标签值组成;
解密模块830,配置为,使用与所述公钥对应的私钥,对所述第二序列中的每个第二加密标签值进行解密,当解密结果为0时,确定对应的原始标签值的值为0;当解密结果非0时,确定对应的原始标签值的值为1,得到按照更新顺序排列的N个原始标签值;
第二分箱模块840,配置为,至少基于按照更新顺序排列的N个原始标签值,进行相邻分箱合并操作,得到第一分箱结果,其中示出所述更新顺序中各个位置所对应的第一分箱;
第二发送模块850,配置为将所述第一分箱结果发送至所述特征持有方。
在一种具体实施方式中,第二分箱模块840,具体配置为:
将按照所述更新顺序排列的N个原始标签值对应的每个位置作为一个初始分箱,得到N个初始分箱;
基于各个初始分箱中的原始标签值,对各个初始分箱进行相邻分箱合并操作,得到更新分箱结果,其中示出所述更新顺序中各个位置所对应的更新分箱;
当各个更新分箱不满足预设分箱条件时,将所述更新分箱作为初始分箱,返回执行所述基于各个初始分箱中的原始标签值,对各个初始分箱进行相邻分箱合并操作的步骤;
当各个更新分箱满足所述预设分箱条件时,将所述更新分箱结果确定为第一分箱结果。
在一种具体实施方式中,除了接收到所述特征持有方发送的第二序列之外,还接收到所述特征持有方发送的所述更新顺序中相等特征值所在位置;第二分箱模块840,具体配置为:
基于所述更新顺序中相等特征值所在位置,确定按照所述更新顺序排列的N个原始标签值对应的初始分箱;
基于各个初始分箱中的原始标签值,对各个初始分箱进行相邻分箱合并操作,得到更新分箱结果,其中示出所述更新顺序中各个位置所对应的更新分箱;
当各个更新分箱不满足预设分箱条件时,将所述更新分箱作为初始分箱,返回执行所述基于各个初始分箱中的原始标签值,对各个初始分箱进行相邻分箱合并操作;
当各个更新分箱满足所述预设分箱条件时,将所述更新分箱结果确定为第一分箱结果。
在一种具体实施方式中,第二分箱模块840,基于更新顺序中相等特征值所在位置,确定按照所述更新顺序排列的N个原始标签值对应的初始分箱时,包括:
基于所述更新顺序中相等特征值所在位置,针对按照所述更新顺序排列的N个原始标签值,将不同特征值所在位置的原始标签值划分至不同初始分箱,将相同特征值所在位置的原始标签值划分至相同初始分箱。
在一种具体实施方式中,第二分箱模块840,基于各个初始分箱中的原始标签值,对各个初始分箱进行相邻分箱合并操作时,包括:
基于各个初始分箱中的原始标签值,依次确定每一对相邻初始分箱的卡方值,得到多个卡方值,将最小卡方值对应的一对相邻初始分箱进行合并。
在一种具体实施方式中,所述预设分箱条件包括:多个更新分箱的总数目达到预设数目;或者,当采用卡方分箱的方式进行相邻分箱合并操作时,多个更新分箱中任意一对更新分箱的卡方值大于预设阈值。
图9为实施例提供的另一种保护隐私数据的有监督特征分箱装置的示意性框图。该装置900部署在标签持有方中,该标签持有方可以为各种具有计算处理能力的计算机、集群或者设备。所述标签持有方存储有N个样本的原始标签值,所述N个样本中的第一特征的特征值存储在特征持有方中,原始标签值的取值包括0和1,所述N个样本按照既定顺序排列。该装置实施例与图5所示方法实施例相对应。所述装置900包括:
加密模块910,配置为,使用公钥将N个原始标签值同态加密为对应的第一加密标签值,并将按照所述既定顺序排列的N个第一加密标签值发送至所述特征持有方;
第二接收模块920,配置为接收所述特征持有方至少发送的所述第二序列,所述第二序列由按照更新顺序排列的N个第二加密标签值组成;
解密模块930,配置为,使用与所述公钥对应的私钥,对第二序列中的每个第二加密标签值进行解密,当解密结果为0时,确定对应的原始标签值的值为0;当解密结果非0时,确定对应的原始标签值的值为1,得到按照更新顺序排列的N个原始标签值;
第三分箱模块940,配置为,至少基于按照更新顺序排列的N个原始标签值进行拆分分箱操作,得到第一分箱结果,其中示出所述更新顺序中各个位置所对应的第一分箱;
第二发送模块950,配置为将所述第一分箱结果发送至所述特征持有方。
在一种具体实施方式中,第三分箱模块940,具体配置为:
将按照所述更新顺序排列的N个原始标签值视为一个初始分箱;
针对任意一个初始分箱,基于所述初始分箱中的原始标签值,确定所述初始分箱的拆分点,以所述拆分点对所述初始分箱进行拆分分箱,得到更新分箱结果,其中示出所述更新顺序中各个位置所对应的更新分箱;
当各个更新分箱不满足预设分箱条件时,将所述更新分箱作为初始分箱,返回执行所述针对任意一个初始分箱,基于所述初始分箱中的原始标签值,确定所述初始分箱的拆分点;
当各个更新分箱满足所述预设分箱条件时,将所述更新分箱结果确定为第一分箱结果。
在一种实施方式中,第三分箱模块940,针对任意一个初始分箱,基于所述初始分箱中的原始标签值,确定所述初始分箱的拆分点时,包括:
针对任意一个初始分箱,以所述初始分箱中每一对相邻原始标签值之间的点分别作为待选拆分点,将所述初始分箱划分成对应的两个子分箱,基于所述两个子分箱中的原始标签值,采用Best-KS算法确定所述两个子分箱的KS和值,作为对应的待选拆分点的特征区分度;从多个待选拆分点中选择最大特征区分度对应的待选拆分点,作为所述初始分箱的拆分点。
在一种实施方式中,除了接收到所述特征持有方发送的第二序列之外,还接收到所述特征持有方发送的所述更新顺序中相等特征值所在位置;第三分箱模块940,具体配置为:
将按照所述更新顺序排列的N个原始标签值视为一个初始分箱;
针对任意一个初始分箱,基于所述更新顺序中相等特征值所在位置和所述初始分箱中的原始标签值,确定所述初始分箱中不位于相等特征值之间位置的拆分点,以所述拆分点对所述初始分箱进行拆分分箱,得到更新分箱结果,其中示出所述更新顺序中各个位置所对应的更新分箱;
当各个更新分箱不满足预设分箱条件时,将所述更新分箱作为所述初始分箱,返回执行所述针对任意一个初始分箱,基于所述初始分箱中的原始标签值,确定所述初始分箱的拆分点;
当各个更新分箱满足所述预设分箱条件时,将所述更新分箱结果确定为第一分箱结果。
在一种实施方式中,第三分箱模块940,针对任意一个初始分箱,基于所述更新顺序中相等特征值所在位置和所述初始分箱中的原始标签值,确定所述初始分箱中不位于相等特征值之间位置的拆分点时,包括:
针对任意一个初始分箱,基于所述更新顺序中相等特征值所在位置,以所述初始分箱中除相等特征值所在位置之外的其他位置中,每一对相邻原始标签值之间的点分别作为待选拆分点,将所述初始分箱划分成对应的两个子分箱,基于所述两个子分箱中的原始标签值,采用Best-KS算法确定所述两个子分箱的KS和值,作为对应的待选拆分点的特征区分度;从多个待选拆分点中选择最大特征区分度对应的待选拆分点,作为所述初始分箱的拆分点。
在一种实施方式中,预设分箱条件包括:多个更新分箱的总数目达到预设数目。
上述各个装置实施例与方法实施例相对应,具体说明可以参见方法实施例部分的描述,此处不再赘述。装置实施例是基于对应的方法实施例得到,与对应的方法实施例具有同样的技术效果,具体说明可参见对应的方法实施例。
本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行图1至图6任一项所述的方法。
本说明书实施例还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现图1至图6任一项所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于存储介质和计算设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明实施例的目的、技术方案和有益效果进行了进一步的详细说明。所应理解的是,以上所述仅为本发明实施例的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (23)
1.一种保护隐私数据的有监督特征分箱方法,通过特征持有方执行,所述特征持有方存储有N个样本的第一特征的特征值,所述N个样本的原始标签值存储在标签持有方中,所述原始标签值的取值包括0和1,所述N个样本按照既定顺序排列;所述方法包括:
获取所述标签持有方发送的按照所述既定顺序排列的N个第一加密标签值,每个第一加密标签值是使用公钥对对应的原始标签值同态加密后得到;
基于所述既定顺序,将所述N个第一加密标签值分别与所述第一特征的N个特征值进行关联,得到关联关系;
对所述N个特征值按照值大小重新排序,得到按照更新顺序排列的N个特征值构成的第一序列;
对于各个第一加密标签值,将其与对应的变换随机数同态相乘,得到对应的第二加密标签值;基于所述关联关系和所述第一序列,确定按照所述更新顺序排列的N个第二加密标签值构成的第二序列;
至少将所述第二序列发送至所述标签持有方,以使所述标签持有方至少基于所述第二序列进行特征分箱,得到第一分箱结果;
接收所述标签持有方发送的所述第一分箱结果,其中示出所述更新顺序中各个位置所对应的第一分箱;
按照所述第一分箱结果,对所述第一序列中各个位置的特征值进行分箱,得到特征分箱结果。
2.根据权利要求1所述的方法,在所述对于各个第一加密标签值,将其与对应的变换随机数同态相乘的步骤之前,还包括:
对于各个第一加密标签值,确定对应的非0随机数,基于所述非0随机数确定变换随机数。
3.根据权利要求1所述的方法,在所述N个特征值中不存在相等特征值的情况下,所述至少将所述第二序列发送至所述标签持有方的步骤,包括:直接将所述第二序列发送至所述标签持有方。
4.根据权利要求1所述的方法,在所述N个特征值中存在相等特征值的情况下,所述至少将所述第二序列发送至所述标签持有方的步骤,包括:
基于所述第一序列中的N个特征值,确定所述更新顺序中相等特征值所在位置,将所述第二序列以及所述更新顺序中相等特征值所在位置发送至所述标签持有方。
5.根据权利要求1所述的方法,所述按照所述第一分箱结果,对所述第一序列中各个位置的特征值进行分箱的步骤,包括:
将所述第一分箱结果中的各个位置分别与所述第一序列中的各个位置进行对应,将所述第一分箱结果中每个位置的第一分箱确定为所述第一序列中对应位置的特征值的分箱。
6.根据权利要求1所述的方法,所述更新顺序中相等特征值所在位置采用以下方式中的一种表示:
所述更新顺序中位置之间存在预设间隔符,用于标记相同特征值所在位置;
所述更新顺序中的各个位置采用一维位图表示,各个位置中相等特征值位置采用所述一维位图中的指定数值分布规则区分。
7.一种保护隐私数据的有监督特征分箱方法,通过标签持有方执行,所述标签持有方存储有N个样本的原始标签值,所述N个样本中的第一特征的特征值存储在特征持有方中,所述原始标签值的取值包括0和1,所述N个样本按照既定顺序排列;所述方法包括:
使用公钥将N个原始标签值同态加密为对应的第一加密标签值,并将按照所述既定顺序排列的N个第一加密标签值发送至所述特征持有方;
接收所述特征持有方至少发送的第二序列;所述第二序列由按照更新顺序排列的N个第二加密标签值组成;
使用与所述公钥对应的私钥,对所述第二序列中的每个第二加密标签值进行解密,当解密结果为0时,确定对应的原始标签值的值为0;当解密结果非0时,确定对应的原始标签值的值为1,得到按照所述更新顺序排列的N个原始标签值;
至少基于按照所述更新顺序排列的N个原始标签值,进行相邻分箱合并操作,得到第一分箱结果,其中示出所述更新顺序中各个位置所对应的第一分箱;
将所述第一分箱结果发送至所述特征持有方。
8.根据权利要求7所述的方法,所述至少基于按照所述更新顺序排列的N个原始标签值,进行相邻分箱合并操作,得到第一分箱结果的步骤,包括:
将按照所述更新顺序排列的N个原始标签值对应的每个位置作为一个初始分箱,得到N个初始分箱;
基于各个初始分箱中的原始标签值,对各个初始分箱进行相邻分箱合并操作,得到更新分箱结果,其中示出所述更新顺序中各个位置所对应的更新分箱;
当各个更新分箱不满足预设分箱条件时,将所述更新分箱作为初始分箱,返回执行所述基于各个初始分箱中的原始标签值,对各个初始分箱进行相邻分箱合并操作的步骤;
当各个更新分箱满足所述预设分箱条件时,将所述更新分箱结果确定为第一分箱结果。
9.根据权利要求7所述的方法,其中,除了接收到所述特征持有方发送的第二序列之外,还接收到所述特征持有方发送的所述更新顺序中相等特征值所在位置;所述至少基于按照所述更新顺序排列的N个原始标签值,进行相邻分箱合并操作的步骤,包括:
基于所述更新顺序中相等特征值所在位置,确定按照所述更新顺序排列的N个原始标签值对应的初始分箱;
基于各个初始分箱中的原始标签值,对各个初始分箱进行相邻分箱合并操作,得到更新分箱结果,其中示出所述更新顺序中各个位置所对应的更新分箱;
当各个更新分箱不满足预设分箱条件时,将所述更新分箱作为初始分箱,返回执行所述基于各个初始分箱中的原始标签值,对各个初始分箱进行相邻分箱合并操作的步骤;
当各个更新分箱满足所述预设分箱条件时,将所述更新分箱结果确定为第一分箱结果。
10.根据权利要求9所述的方法,所述基于所述更新顺序中相等特征值所在位置,确定按照所述更新顺序排列的N个原始标签值对应的初始分箱的步骤,包括:
基于所述更新顺序中相等特征值所在位置,针对按照所述更新顺序排列的N个原始标签值,将不同特征值所在位置的原始标签值划分至不同初始分箱,将相同特征值所在位置的原始标签值划分至相同初始分箱。
11.根据权利要求8或9所述的方法,所述基于各个初始分箱中的原始标签值,对各个初始分箱进行相邻分箱合并操作的步骤,包括:
基于各个初始分箱中的原始标签值,依次确定每一对相邻初始分箱的卡方值,得到多个卡方值,将最小卡方值对应的一对相邻初始分箱进行合并。
12.根据权利要求8或9所述的方法,所述预设分箱条件包括:多个更新分箱的总数目达到预设数目;或者,当采用卡方分箱的方式进行相邻分箱合并操作时,多个更新分箱中任意一对更新分箱的卡方值大于预设阈值。
13.一种保护隐私数据的有监督特征分箱方法,通过标签持有方执行,所述标签持有方存储有N个样本的原始标签值,所述N个样本中的第一特征的特征值存储在特征持有方中,所述原始标签值的取值包括0和1,所述N个样本按照既定顺序排列;所述方法包括:
使用公钥将N个原始标签值同态加密为对应的第一加密标签值,并将按照所述既定顺序排列的N个第一加密标签值发送至所述特征持有方;
接收所述特征持有方至少发送的第二序列,所述第二序列由按照更新顺序排列的N个第二加密标签值组成;
使用与所述公钥对应的私钥,对所述第二序列中的每个第二加密标签值进行解密,当解密结果为0时,确定对应的原始标签值的值为0;当解密结果非0时,确定对应的原始标签值的值为1,得到按照更新顺序排列的N个原始标签值;
至少基于按照所述更新顺序排列的N个原始标签值进行拆分分箱操作,得到第一分箱结果,其中示出所述更新顺序中各个位置所对应的第一分箱;
将所述第一分箱结果发送至所述特征持有方。
14.根据权利要求13所述的方法,所述至少基于所述按照更新顺序排列的N个原始标签值进行拆分分箱操作,得到第一分箱结果的步骤,包括:
将按照所述更新顺序排列的N个原始标签值视为一个初始分箱;
针对任意一个初始分箱,基于所述初始分箱中的原始标签值,确定所述初始分箱的拆分点,以所述拆分点对所述初始分箱进行拆分分箱,得到更新分箱结果,其中示出所述更新顺序中各个位置所对应的更新分箱;
当各个更新分箱不满足预设分箱条件时,将所述更新分箱作为初始分箱,返回执行所述针对任意一个初始分箱,基于所述初始分箱中的原始标签值,确定所述初始分箱的拆分点的步骤;
当各个更新分箱满足所述预设分箱条件时,将所述更新分箱结果确定为第一分箱结果。
15.根据权利要求14所述的方法,所述针对任意一个初始分箱,基于所述初始分箱中的原始标签值,确定所述初始分箱的拆分点的步骤,包括:
针对任意一个初始分箱,以所述初始分箱中每一对相邻原始标签值之间的点分别作为待选拆分点,将所述初始分箱划分成对应的两个子分箱,基于所述两个子分箱中的原始标签值,采用Best-KS算法确定所述两个子分箱的KS和值,作为对应的待选拆分点的特征区分度;从多个待选拆分点中选择最大特征区分度对应的待选拆分点,作为所述初始分箱的拆分点。
16.根据权利要求14所述的方法,其中,除了接收到所述特征持有方发送的第二序列之外,还接收到所述特征持有方发送的所述更新顺序中相等特征值所在位置;所述至少基于按照所述更新顺序排列的N个原始标签值进行拆分分箱操作,得到第一分箱结果的步骤,包括:
将按照所述更新顺序排列的N个原始标签值视为一个初始分箱;
针对任意一个初始分箱,基于所述更新顺序中相等特征值所在位置和所述初始分箱中的原始标签值,确定所述初始分箱中不位于相等特征值之间位置的拆分点,以所述拆分点对所述初始分箱进行拆分分箱,得到更新分箱结果,其中示出所述更新顺序中各个位置所对应的更新分箱;
当各个更新分箱不满足预设分箱条件时,将所述更新分箱作为所述初始分箱,返回执行所述针对任意一个初始分箱,基于所述初始分箱中的原始标签值,确定所述初始分箱的拆分点的步骤;
当各个更新分箱满足所述预设分箱条件时,将所述更新分箱结果确定为第一分箱结果。
17.根据权利要求16所述的方法,所述针对任意一个初始分箱,基于所述更新顺序中相等特征值所在位置和所述初始分箱中的原始标签值,确定所述初始分箱中不位于相等特征值之间位置的拆分点的步骤,包括:
针对任意一个初始分箱,基于所述更新顺序中相等特征值所在位置,以所述初始分箱中除相等特征值所在位置之外的其他位置中,每一对相邻原始标签值之间的点分别作为待选拆分点,将所述初始分箱划分成对应的两个子分箱,基于所述两个子分箱中的原始标签值,采用Best-KS算法确定所述两个子分箱的KS和值,作为对应的待选拆分点的特征区分度;从多个待选拆分点中选择最大特征区分度对应的待选拆分点,作为所述初始分箱的拆分点。
18.根据权利要求14或16所述的方法,所述预设分箱条件包括:多个更新分箱的总数目达到预设数目。
19.一种保护隐私数据的有监督特征分箱装置,部署在特征持有方中,所述特征持有方存储有N个样本的第一特征的特征值,所述N个样本的原始标签值存储在标签持有方中,所述原始标签值的取值包括0和1,所述N个样本按照既定顺序排列;所述装置包括:
获取模块,配置为,获取所述标签持有方发送的按照所述既定顺序排列的N个第一加密标签值,每个第一加密标签值是使用公钥对对应的原始标签值同态加密后得到;
关联模块,配置为,基于所述既定顺序,将所述N个第一加密标签值分别与所述第一特征的N个特征值进行关联,得到关联关系;
重排模块,配置为,对所述N个特征值按照值大小重新排序,得到按照更新顺序排列的N个特征值构成的第一序列;
处理模块,配置为,对于各个第一加密标签值,将其与对应的变换随机数同态相乘,得到对应的第二加密标签值;基于所述关联关系和所述第一序列,确定按照所述更新顺序排列的N个第二加密标签值构成的第二序列;
第一发送模块,配置为,至少将所述第二序列发送至所述标签持有方,以使所述标签持有方至少基于所述第二序列进行特征分箱,得到第一分箱结果;
第一接收模块,配置为,接收所述标签持有方发送的所述第一分箱结果,其中示出所述更新顺序中各个位置所对应的第一分箱;
第一分箱模块,配置为,按照所述第一分箱结果,对所述第一序列中各个位置的特征值进行分箱,得到特征分箱结果。
20.一种保护隐私数据的有监督特征分箱装置,部署在标签持有方中,所述标签持有方存储有N个样本的原始标签值,所述N个样本中的第一特征的特征值存储在特征持有方中,所述原始标签值的取值包括0和1,所述N个样本按照既定顺序排列;所述装置包括:
加密模块,配置为,使用公钥将N个原始标签值同态加密为对应的第一加密标签值,并将按照所述既定顺序排列的N个第一加密标签值发送至所述特征持有方;
第二接收模块,配置为接收所述特征持有方至少发送的第二序列;所述第二序列由按照更新顺序排列的N个第二加密标签值组成;
解密模块,配置为,使用与所述公钥对应的私钥,对所述第二序列中的每个第二加密标签值进行解密,当解密结果为0时,确定对应的原始标签值的值为0;当解密结果非0时,确定对应的原始标签值的值为1,得到按照所述更新顺序排列的N个原始标签值;
第二分箱模块,配置为,至少基于按照所述更新顺序排列的N个原始标签值,进行相邻分箱合并操作,得到第一分箱结果,其中示出所述更新顺序中各个位置所对应的第一分箱;
第二发送模块,配置为将所述第一分箱结果发送至所述特征持有方。
21.一种保护隐私数据的有监督特征分箱装置,部署在标签持有方中,所述标签持有方存储有N个样本的原始标签值,所述N个样本中的第一特征的特征值存储在特征持有方中,所述原始标签值的取值包括0和1,所述N个样本按照既定顺序排列;所述装置包括:
加密模块,配置为,使用公钥将N个原始标签值同态加密为对应的第一加密标签值,并将按照所述既定顺序排列的N个第一加密标签值发送至所述特征持有方;
第二接收模块,配置为接收所述特征持有方至少发送的第二序列,所述第二序列由按照更新顺序排列的N个第二加密标签值组成;
解密模块,配置为,使用与所述公钥对应的私钥,对所述第二序列中的每个第二加密标签值进行解密,当解密结果为0时,确定对应的原始标签值的值为0;当解密结果非0时,确定对应的原始标签值的值为1,得到按照更新顺序排列的N个原始标签值;
第三分箱模块,配置为,至少基于按照所述更新顺序排列的N个原始标签值进行拆分分箱操作,得到第一分箱结果,其中示出所述更新顺序中各个位置所对应的第一分箱;
第二发送模块,配置为将所述第一分箱结果发送至所述特征持有方。
22.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-18中任一项所述的方法。
23.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-18中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010502525.0A CN111539009B (zh) | 2020-06-05 | 2020-06-05 | 保护隐私数据的有监督特征分箱方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010502525.0A CN111539009B (zh) | 2020-06-05 | 2020-06-05 | 保护隐私数据的有监督特征分箱方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111539009A CN111539009A (zh) | 2020-08-14 |
CN111539009B true CN111539009B (zh) | 2023-05-23 |
Family
ID=71976617
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010502525.0A Active CN111539009B (zh) | 2020-06-05 | 2020-06-05 | 保护隐私数据的有监督特征分箱方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111539009B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112100643B (zh) * | 2020-11-16 | 2021-02-05 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护的数据处理方法、装置和服务器 |
CN112597525B (zh) * | 2021-03-04 | 2021-05-28 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护的数据处理方法、装置和服务器 |
CN113362048B (zh) * | 2021-08-11 | 2021-11-30 | 腾讯科技(深圳)有限公司 | 数据标签分布确定方法、装置、计算机设备和存储介质 |
CN113392422B (zh) * | 2021-08-16 | 2021-10-29 | 华控清交信息科技(北京)有限公司 | 一种数据处理方法、装置和用于数据处理的装置 |
CN113688354B (zh) * | 2021-08-27 | 2023-06-09 | 华东师范大学 | 一种基于安全多方计算的卡方分箱方法 |
CN113449048B (zh) * | 2021-08-31 | 2021-11-09 | 腾讯科技(深圳)有限公司 | 数据标签分布确定方法、装置、计算机设备和存储介质 |
CN115168910B (zh) * | 2022-09-08 | 2022-12-23 | 蓝象智联(杭州)科技有限公司 | 一种基于秘密分享的共享数据等宽分箱方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110032878A (zh) * | 2019-03-04 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 一种安全的特征工程方法和装置 |
CN110990857A (zh) * | 2019-12-11 | 2020-04-10 | 支付宝(杭州)信息技术有限公司 | 保护隐私安全的多方联合进行特征评估的方法及装置 |
US10630468B1 (en) * | 2019-01-11 | 2020-04-21 | Alibaba Group Holding Limited | Distributed multi-party security model training framework for privacy protection |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10395180B2 (en) * | 2015-03-24 | 2019-08-27 | International Business Machines Corporation | Privacy and modeling preserved data sharing |
US10805281B2 (en) * | 2017-09-25 | 2020-10-13 | Palo Alto Research Center Incorporated | System and method for secure two-party evaluation of utility of sharing data |
-
2020
- 2020-06-05 CN CN202010502525.0A patent/CN111539009B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10630468B1 (en) * | 2019-01-11 | 2020-04-21 | Alibaba Group Holding Limited | Distributed multi-party security model training framework for privacy protection |
CN110032878A (zh) * | 2019-03-04 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 一种安全的特征工程方法和装置 |
CN110990857A (zh) * | 2019-12-11 | 2020-04-10 | 支付宝(杭州)信息技术有限公司 | 保护隐私安全的多方联合进行特征评估的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111539009A (zh) | 2020-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111539009B (zh) | 保护隐私数据的有监督特征分箱方法及装置 | |
WO2021114927A1 (zh) | 保护隐私安全的多方联合进行特征评估的方法及装置 | |
CN111539535B (zh) | 基于隐私保护的联合特征分箱方法及装置 | |
CN111401572B (zh) | 基于隐私保护的有监督特征分箱方法及装置 | |
Giannotti et al. | Privacy-preserving mining of association rules from outsourced transaction databases | |
US10489604B2 (en) | Searchable encryption processing system and searchable encryption processing method | |
US9002007B2 (en) | Efficient, remote, private tree-based classification using cryptographic techniques | |
CN108984733B (zh) | 跨域数据融合方法、系统以及存储介质 | |
US20170039487A1 (en) | Support vector machine learning system and support vector machine learning method | |
CN113449048B (zh) | 数据标签分布确定方法、装置、计算机设备和存储介质 | |
CN113362048B (zh) | 数据标签分布确定方法、装置、计算机设备和存储介质 | |
Liu et al. | Secure outsourced frequent pattern mining by fully homomorphic encryption | |
CN113591133A (zh) | 基于差分隐私进行特征处理的方法及装置 | |
CN111143865B (zh) | 一种密文数据上标签自动生成的用户行为分析系统及方法 | |
CN106407822A (zh) | 一种关键词、多关键词可搜索加密方法和系统 | |
US11856099B2 (en) | Cryptographic pseudonym mapping method, computer system, computer program and computer-readable medium | |
US11184163B2 (en) | Value comparison server, value comparison encryption system, and value comparison method | |
Sharif et al. | Classifying encryption algorithms using pattern recognition techniques | |
CN107291861A (zh) | 一种面向加密图的带约束近似最短距离查询方法 | |
US10831919B2 (en) | Method for confidentially querying an encrypted database | |
Costantino et al. | Privacy-preserving text mining as a service | |
Ligier et al. | Privacy preserving data classification using inner-product functional encryption | |
Malik et al. | A homomorphic approach for security and privacy preservation of Smart Airports | |
CN107005576A (zh) | 从服务器日志生成用于链接标识符的桥接匹配标识符 | |
US10650083B2 (en) | Information processing device, information processing system, and information processing method to determine correlation of data |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40035833 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |