基于隐私保护的训练样本生成方法和装置
技术领域
本说明书涉及数据处理技术领域,尤其涉及一种基于隐私保护的训练样本生成方法和装置。
背景技术
随着互联网的发展和普及,各种基于网络进行的活动都在源源不断的产生数据,许多企业、政府甚至个人等都掌握着大量的用户数据。数据挖掘技术能够从大量的数据中发现有价值的知识、模式、规则等信息,为科学研究、商业决策、过程控制等提供辅助支持,成为数据利用的重要方式。
在一些应用场景中,用于挖掘的数据包含了很多敏感信息,例如金融行业的数据、政府部门的数据等。如何将这些敏感信息在数据挖掘的过程中作为隐私保护起来,成为一个越来越受人关注的问题。
发明内容
有鉴于此,本说明书提供一种基于隐私保护的训练样本生成方法,被挖掘的原始数据包括m个原始样本,每个原始样本包括d维的原始向量x和输出标记值y,m、d为自然数,所述方法包括:
生成n个d维的转换向量π,每个转换向量π由随机选取的若干个原始样本的yx之和确定;
将所述n个转换向量π作为二分类模型的训练样本。
本说明书提供的一种基于隐私保护的二分类模型训练方法,包括:
获取n个d维的转换向量π作为训练样本;每个所述转换向量π由随机选取的若干个原始样本的yx之和确定,所述原始样本为原始数据的m个样本之一,每个原始样本包括d维的原始向量x和输出标记值y,m、d为自然数,
基于所述训练样本,对二分类模型进行训练,得到结果模型。
本说明书还提供了一种基于隐私保护的训练样本生成装置,被挖掘的原始数据包括m个原始样本,每个原始样本包括d维的原始向量x和输出标记值y,m、d为自然数,所述装置包括:
转换向量生成单元,用于生成n个d维的转换向量π,每个转换向量π由随机选取的若干个原始样本的yx之和确定;
训练样本生成单元,用于将所述n个转换向量π作为二分类模型的训练样本。
本说明书提供的一种基于隐私保护的二分类模型训练装置,包括:
训练样本获取单元,用于获取n个d维的转换向量π作为训练样本;每个所述转换向量π由随机选取的若干个原始样本的yx之和确定,所述原始样本为原始数据的m个样本之一,每个原始样本包括d维的原始向量x和输出标记值y,m、d为自然数,
模型训练单元,用于基于所述训练样本,对二分类模型进行训练,得到结果模型。
本说明书提供的一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行上述基于隐私保护的训练样本生成方法所述的步骤。
本说明书提供的一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行上述基于隐私保护的二分类模型训练方法所述的步骤。
本说明书提供的一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述基于隐私保护的训练样本生成方法所述的步骤。
本说明书提供的一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述基于隐私保护的模型训练方法所述的步骤。
由以上技术方案可见,本说明书的实施例中,采用m个原始样本中的原始向量X和输出标记值y,将随机选取的若干个yx之和作为转换向量,使得采用n个转换向量进行二分类模型训练得到的结果模型、与采用原始数据进行训练相一致,不会受到随机量的影响,并且每个转换向量均由若干个原始样本和随机量生成,极难从转换向量还原出原始数据,因此本说明书的实施例既能为隐私信息提供良好的保护,又能得到与采用原始数据相一致的挖掘结果。
附图说明
图1是本说明书实施例中一种应用基于隐私保护的训练样本生成方法的流程图;
图2是本说明书实施例中一种基于隐私保护的二分类模型训练方法的流程图;
图3是本说明书应用示例中一种数据挖掘过程的流程示意图;
图4是运行本说明书实施例的设备的一种硬件结构图;
图5是本说明书实施例中一种基于隐私保护的训练样本生成装置的逻辑结构图;
图6是本说明书实施例中一种基于隐私保护的模型训练装置的逻辑结构图。
具体实施方式
本说明书的实施例提出一种新的基于隐私保护的训练样本生成方法和一种新的基于隐私保护的二分类模型训练方法,从m(m为自然数)个d(d为自然数)维的原始向量x和输出标记值y,随机生成n(n为自然数)个d维的转换向量π,转换向量的生成方式使得令基于转换向量的损失函数最小的二分类模型,即是令基于原始向量和输出标记值的损失函数最小的模型,从而可以将采用转换向量训练所得的结果模型作为原始数据的数据挖掘结果。
本说明书的实施例可以运行在任何具有计算和存储能力的设备上,如手机、平板电脑、PC(Personal Computer,个人电脑)、笔记本、服务器等设备;还可以由运行在两个或两个以上设备的逻辑节点,相互协同来实现本说明书实施例中的各项功能。
本说明书的实施例中,原始数据为带有输出标记值的训练样本,样本容量为m,即包括m个样本(将原始数据的样本称为原始样本),每个原始样本包括d维的原始向量x、以及输出标记值y。设第i(i为从1到m的自然数)个原始样本中,原始向量为xi,输出标记值为yi。
本说明书的实施例中,基于隐私保护的训练样本生成方法的流程如图1所示,基于隐私保护的模型训练方法的流程如图2所示。
步骤110,生成n个d维的转换向量π,每个转换向量π由随机选取的0到m个原始样本的yx之和确定。
在m个原始样本中,随机选出0到m个原始样本,计算每个选出的原始样本的yx,将这些yx的和值作为一个转换向量π。每次选出的原始样本的数目可以是固定的,也可以是随机的,不做限定。
由于每个yx是一个d维的向量,所生成的转换向量π也是一个d维的向量。
生成转换向量π的具体方式可以有多种,本说明书的实施例不做限定,以下举两个例子进行说明。
第一个例子:在一些应用场景中,采用正负符号来作为二分类的输出标记值,即y的取值为-v或v(v为实数)。这种情形下,可以这样生成转换向量:
生成一个m维向量σ,随机将-v或v作为σ每一维的取值,将作为一个转换向量π;其中,σi为向量σ的第i维;
重复上述过程n次得到n个转换向量π。
由于或者为0,或者为yi,转换向量π可以是任意的0到m个原始样本的yx的和值。
在第一个例子中,设基于原始数据的线性模型为:
Y(x)=θTx 式1
式1中,θT为d维的权重向量,则基于原始数据的二分类算法的损失函数如式2所示:
式2中,S={(xi,yi)|i=1,2,…,m}。
设基于转换向量的线性模型为:
Y(π)=θTπ 式3
则基于转换向量的二分类算法的损失函数如式4所示:
式4中,πσ为由σ生成的转换向量,Σm={-v,+v}m。
以下以v=1为例,来说明Flog(S,θ)与之间存在与σ无关的线性关系,推导过程如下:
定义:转换向量πσ可以表示为:则以下等式成立:
可见,Flog(S,θ)与之间为线性关系。当时,Flog(S,θ)与之间的线性关系仍然成立,并且与σ无关。这样,使得Flog(S,θ)最小的θ就是使得最小的θ,即式5成立:
从上述论证过程可以得知,采用若干个转换向量π对二分类模型进行训练,与采用原始数据对二分类模型进行训练,得出的结果模型是一致的。
第二个例子:生成一个m维向量w,随机将0或者1作为w每一维的取值,将作为一个转换向量π。其中,wi为向量w的第i维。重复上述过程n次可以得到n个转换向量π。
由于wi或者为0,或者为1,转换向量π可以是任意的0到m个原始样本的yx的和值。第二个例子中对y的取值没有限制。
基于类似于第一个例子中的论证过程可以得出同样的结论,采用若干个转换向量π对二分类模型进行训练,会得到与采用原始数据对二分类模型进行训练相一致的结果模型,具体的论证过程不再赘述。
在数据提供方,步骤120,将所述n个转换向量π作为二分类模型的训练样本。
在数据挖掘方,步骤210,获取n个d维的转换向量π作为训练样本;每个转换向量π由随机选取的若干个原始样本的yx之和确定,原始样本为原始数据的m个样本之一,每个原始样本包括d维的原始向量x和输出标记值y。
数据提供方将步骤120中生成的训练样本,输出至数据挖掘方。数据挖掘方可以采用任意的方式从数据提供方获得训练样本,本说明书的实施例不做限定。
在数据挖掘方,步骤220,基于该训练样本,对二分类模型进行训练,得到结果模型。
数据挖掘方在得到训练样本后,以该训练样本来对二分类模型进行训练。由于原始数据中的输出标记值已经体现在转换向量π中,而由n个转换向量π构成的训练样本没有标记值,可以采用无监督学习算法进行训练,得出结果模型。
本说明书的实施例对二分类模型没有限制,例如可以采用Boosting(增强)算法、SGD(Stochastic gradient descent,随机梯度下降)、SVRG(Stochastic variancereduced gradient,随机方差减小梯度)、Adagrad(Adaptive Gradient,自适应梯度)等等。
采用某种具体的二分类模型训练n个转换向量π构成的训练样本的方式与现有技术相同。以下给出采用Boosting算法进行训练的一个例子,其他算法可参照实现,不再详述。
Boosting算法的初始化:设n个转换向量π构成的样本空间为:δr={π1,π2,…,πn};预设Boosting算法的迭代次数T(T为自然数);将线性模型θ的初始值θ0置为d维的0向量;将n维中间变量ω的初始值ω1置为每个维度均等于1/n;预先计算π*k,k为从1到d的每个自然数,π*k为n个转换向量π在第k个维度的最大值。
Boosting算法的从第1轮到第T轮的迭代过程:
设当前的迭代轮次为t,对于π的每一维k,计算:将使|rk|(rk的绝对值)最大的k记为ι(t),根据式6和式7计算rt和αt:
再按照式8计算用于下一迭代轮次的n维中间变量ω(t+1)的每一维度的值:
式8中,j为从1到n的每个自然数。
在T轮迭代完毕后,可根据式9得到训练所得的结果模型θT:
式9中,θTk为d维向量θT的第k维。
可见,本说明书的实施例中,从m个d维的原始向量x和输出标记值y,随机生成n个d维的转换向量π,每个转换向量π由随机选取的若干个yx之和确定,并以n个转换向量π为训练样本进行二分类模型训练,得到与采用原始数据进行训练相一致的结果模型,从而不仅因在生成转换向量的过程中,因采用了多个原始样本且引入了随机量,使得还原原始数据极其困难,并且能得到与采用原始数据相一致的挖掘结果,避免了信息失真。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书的一个应用示例中,数据提供方委托数据挖掘方进行分类规则的数据挖掘,数据挖掘方以二分类线性模型为基础来构建数据分类规则。数据提供方的原始数据S={(xi,yi)|i=1,2,…,m},其中xi∈Rd(即xi为d维向量),yi∈{1,-1}(即输出标记值yi的取值为-1或1)。由于数据提供方的原始数据中包含用户的敏感信息,需要进行隐私保护。
能够提供隐私保护的分类数据挖掘流程如图3所示。
步骤310,获取原始数据的m个样本。
步骤320,采用原始数据计算n个Rado(Rademacher Observations,拉德马赫观察资料)。每个Rado为一个d维向量,记为πσ,是本应用示例中的转换向量。
每个Rado的计算方法如下:生成m为向量σ,σ每一维的取值为-1或者1,随机确定;根据式10确定对应于该σ的Rado:
以下举例说明:假设原始数据共5个样本,原始向量x的维度m=4,原始数据如表1所示:
表1
设在生成一个Rado时,向量σ的随机值为σ={-1,1,-1,1,1},根据式10计算πσ的各个维度值:
第1维:
第2维:
第3维:
第4维:
可以得到一个Rado为{8,11,5,7}。
随机生成n个向量σ,即可得到n个Rado。
步骤310和320运行在数据提供方控制的设备或逻辑节点上。数据提供方将生成n个Rado作为待挖掘的数据,提供给数据挖掘方。
步骤330,采用Boosting算法,以n个Rado为训练样本,对二分类线性模型进行训练,得到结果模型。
步骤330运行在数据提供方控制的设备或逻辑节点上。数据提供方根据训练所得的二分类线性结果模型,生成多分类规则,交付给数据提供方。将数个二分类线性结果模型转换为多分类规则的方式可参照现有技术实现,不再赘述。
与上述流程实现对应,本说明书的实施例还提供了一种基于隐私保护的训练样本生成装置、和一种基于隐私保护的二分类模型训练装置。上述装置均可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为逻辑意义上的装置,是所在设备的CPU(Central Process Unit,中央处理器)将对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,除了图4所示的CPU、内存以及存储器之外,上述装置所在的设备通常还包括用于进行无线信号收发的芯片等其他硬件,和/或用于实现网络通信功能的板卡等其他硬件。
图5所示为本说明书实施例提供的一种基于隐私保护的训练样本生成装置,被挖掘的原始数据包括m个原始样本,每个原始样本包括d维的原始向量x和输出标记值y,m、d为自然数,所述装置包括转换向量生成单元和训练样本生成单元,其中:转换向量生成单元用于生成n个d维的转换向量π,每个转换向量π由随机选取的若干个原始样本的yx之和确定;训练样本生成单元用于将所述n个转换向量π作为二分类模型的训练样本。
可选的,所述y的取值为-v或v,v为实数;所述转换向量生成单元具体用于:生成一个m维向量σ,随机将-v或v作为σ每一维的取值,将作为一个转换向量π,yi为第i个原始样本的输出标记值,xi为第i个原始样本的原始向量,σi为向量σ的第i维;重复上述过程n次得到n个转换向量π。
可选的,所述转换向量生成单元具体用于:生成一个m维向量w,随机将0或者1作为w每一维的取值,将作为一个转换向量π,wi为向量w的第i维,yi为第i个原始样本的输出标记值,xi为第i个原始样本的原始向量;重复上述过程n次得到n个转换向量π。
图6所示为本说明书实施例提供的一种基于隐私保护的二分类模型训练装置,包括训练样本获取单元和模型训练单元,其中:训练样本获取单元用于获取n个d维的转换向量π作为训练样本;每个所述转换向量π由随机选取的若干个原始样本的yx之和确定,所述原始样本为原始数据的m个样本之一,每个原始样本包括d维的原始向量x和输出标记值y,m、d为自然数,模型训练单元用于基于所述训练样本,二分类模型进行训练,得到结果模型。
可选的,所述二分类模型包括:增强Boosting算法、随机梯度下降SGD算法、随机方差减小梯度SVRG算法、或自适应梯度Adagrad算法。
本说明书的实施例提供了一种计算机设备,该计算机设备包括存储器和处理器。其中,存储器上存储有能够由处理器运行的计算机程序;处理器在运行存储的计算机程序时,执行本说明书实施例中基于隐私保护的训练样本生成方法的各个步骤。对基于隐私保护的训练样本生成方法的各个步骤的详细描述请参见之前的内容,不再重复。
本说明书的实施例提供了一种计算机设备,该计算机设备包括存储器和处理器。其中,存储器上存储有能够由处理器运行的计算机程序;处理器在运行存储的计算机程序时,执行本说明书实施例中基于隐私保护的二分类模型训练方法的各个步骤。对基于隐私保护的二分类模型训练方法的各个步骤的详细描述请参见之前的内容,不再重复。
本说明书的实施例提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,这些计算机程序在被处理器运行时,执行本说明书实施例中基于隐私保护的训练样本生成方法的各个步骤。对基于隐私保护的训练样本生成方法的各个步骤的详细描述请参见之前的内容,不再重复。
本说明书的实施例提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,这些计算机程序在被处理器运行时,执行本说明书实施例中基于隐私保护的二分类模型训练方法的各个步骤。对基于隐私保护的二分类模型训练方法的各个步骤的详细描述请参见之前的内容,不再重复。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书的实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书的实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。