一种具有给定相关性的拉普拉斯噪声序列生成方法及生成器与流程

文档序号:11731684阅读:1895来源:国知局
一种具有给定相关性的拉普拉斯噪声序列生成方法及生成器与流程

本发明涉及数据挖掘和隐私保护领域,更具体地,涉及一种差分隐私保护机制中具有给定相关性的拉普拉斯噪声序列生成方法,用于解决给定相关性的拉普拉斯噪声生成的问题。



背景技术:

随着信息技术应用的不断普及和深入,对于研究机构、信息咨询组织以及政府决策部门来说,数据是非常重要的基础资源,这种需求极大地促进了数据的发布、共享与分析。然而,用户发布的数据集中通常包含着许多个人的隐私信息,这些信息会随着数据集的发布和共享而被泄露,因此,如何利用用户数据进行挖掘分析的同时又不泄露用户的数据隐私,实现数据安全性和可用性的平衡,是目前隐私保护领域亟待解决的难题。

针对上述问题,Dwork于2006年提出了差分隐私保护框架,它具有严格的数学公理化模型,并对攻击者的背景知识没有限制,是一种从数学上严格定义保护强度和数据可用性的隐私保护手段。由于差分隐私机制可以提供理论上完备的隐私安全性保证和较好的数据可用性,近年来成为隐私保护研究的热门领域。

最初的差分隐私保护算法是基于待保护数据集中的数据间是相互独立的假设前提提出的,通过对原始数据加入相互独立的拉普拉斯噪声来保护隐私。然而在实际当中,很多数据之间具有相关性。对相关数据来说,独立噪声(通常为拉普拉斯噪声)的加入方式使得原始数据和噪声的相关性并不相同,那么攻击者就可以利用这种相关性不同的背景知识过滤掉一部分的噪声,使得实际有效的噪声水平降低,从而导致实际的隐私保护强度下降。所以最初的这些差分隐私保护算法不能直接应用于相关数据。目前针对相关性数据差分隐私保护的研究,主要分为基于相关性建模和数据变换两类方法,这两类方法虽然有所不同,但其核心都是通过增加所加入的独立噪声强度,以抵消由于数据相关性导致的实际噪声水平的下降,但额外增加的噪声又会导致数据可用性的下降。可以说,目前相关性数据的差分隐私保护问题还没有真正得到解决。事实上,现有差分隐私算法应用于相关数据存在的关键问题在于加入的独立噪声的相关性与待保护数据的相关性不一致,也就是说,如果能够实现使加入的拉普拉斯噪声具有与原始数据相同的相关性,相关性数据的差分隐私保护问题就能真正得到解决。

但是到目前为止,还没有现成的具有给定相关性(即相关性要求与待保护数据的相关性相同)的拉普拉斯噪声生成方法。现有的研究中,可以参考的成果主要包括相关性高斯噪声和独立拉普拉斯噪声的生成两个方面。在相关性高斯噪声生成方面,由于高斯噪声通过线性系统后能够保持高斯分布不变,可以将高斯白噪声通过特定的线性系统以产生具有给定相关性的高斯噪声。而在生成拉普拉斯噪声的方法中,有Konstantinos等人提出的通过高斯白噪声生成拉普拉斯白噪声的方法,即通过生成4组独立同分布的高斯白噪声序列G1,G2,G3,G4,经过公式Z=G12+G22-G32-G42可得到符合拉普拉斯分布噪声序列Z,但该方法生成的是拉普拉斯白噪声序列,不满足相关性要求。

综合所述,相关性数据的差分隐私保护需要相关性拉普拉斯噪声,即需要生成既符合拉普拉斯分布且具有与原始数据相同的相关性的噪声序列生成方法。而现有的噪声生成方法可以生成具有给定相关性的高斯噪声或者生成独立的拉普拉斯噪声,但同时满足给定相关性及拉普拉斯分布要求的噪声的生成方法目前还没有。

基于上述背景,本发明提出一种简单易实现的具有给定相关性的拉普拉斯噪声生成方法,为相关性数据的差分隐私保护问题的真正解决奠定基础。



技术实现要素:

为了满足相关性数据的差分隐私保护需求,本发明提出一种给定相关性的拉普拉斯噪声序列的生成方法。根据高斯噪声通过线性滤波器后分布不变的性质,以及高斯噪声生成拉普拉斯噪声的原理,首先设计一个特定的线性滤波器,然后将高斯白噪声通过滤波器生成具有特定相关性的高斯噪声,最后根据高斯噪声生成拉普拉斯噪声的原理,生成给定相关性的拉普拉斯噪声。本发明在给定的原始数据相关函数RXX(m)的前提下,生成拉普拉斯噪声序列Z,使得Z的相关函数Rz(m)满足Rz(m)=RXX(m)。发明以高斯噪声生成拉普拉斯噪声的原理为基础,其数学关系式为Z=G12+G22-G32-G42,首先根据Rz(m)反推出高斯噪声序列G1,G2,G3,G4的相关函数RG(m),而满足相关函数RG(m)的高斯噪声序列G1,G2,G3,G4则可以由高斯白噪声通过线性滤波器生成。其中,已知高斯白噪声的相关函数是脉冲函数δ(m),则所用滤波器的冲激响应h(m)可由RG(m)和δ(m)的数学变化关系RG(m)=δ(m)*[h(m)*h(-m)]反推得出。由此可以确定本发明实施的基本参数h(m)和基于h(m)生成的高斯噪声序列G1,G2,G3,G4。本发明提出的相关性拉普拉斯噪声序列的生成方法是上述过程的逆过程,包括以下步骤,

步骤S1,滤波器设计。根据给定的序列X的自相关函数RXX(m)和高斯白噪声功率谱密度设计滤波器,求解滤波器冲激响应h(m),包括以下子步骤:

步骤S1-1,将拉普拉斯噪声和原始序列应满足的自相关函数条件Rz(m)=RXX(m),代入拉普拉斯噪声生成公式Z=G12+G22-G32-G42,求得相关性高斯噪声的自相关函数RG′(m):

<mrow> <msub> <mi>R</mi> <msup> <mi>G</mi> <mo>&prime;</mo> </msup> </msub> <mrow> <mo>(</mo> <mi>m</mi> <mo>)</mo> </mrow> <mo>=</mo> <msqrt> <mfrac> <mrow> <msub> <mi>R</mi> <mrow> <mi>X</mi> <mi>Y</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>m</mi> <mo>)</mo> </mrow> </mrow> <mn>8</mn> </mfrac> </msqrt> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>

步骤S1-2,将自相关函数RG′(m)进行傅立叶变换,得到相关性高斯噪声的功率谱密度PG′(ω):

<mrow> <msub> <mi>P</mi> <msup> <mi>G</mi> <mo>&prime;</mo> </msup> </msub> <mrow> <mo>(</mo> <mi>&omega;</mi> <mo>)</mo> </mrow> <mo>=</mo> <mn>2</mn> <mi>&pi;</mi> <msqrt> <mfrac> <mrow> <msub> <mi>R</mi> <mrow> <mi>X</mi> <mi>X</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>m</mi> <mo>)</mo> </mrow> </mrow> <mn>8</mn> </mfrac> </msqrt> <mo>&CenterDot;</mo> <mi>&delta;</mi> <mrow> <mo>(</mo> <mi>&omega;</mi> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>

其中,δ(ω)为固定值的脉冲函数。

步骤S1-3,高斯白噪声通过线性系统后功率谱密度为PG′(ω)=PG(ω)·|H(ω)|2,已知高斯白噪声序列的功率谱密度PG(ω)=N0,于是得到滤波器系统函数H(ω):

<mrow> <mo>|</mo> <mi>H</mi> <mrow> <mo>(</mo> <mi>&omega;</mi> <mo>)</mo> </mrow> <msup> <mo>|</mo> <mn>2</mn> </msup> <mo>=</mo> <mfrac> <mn>1</mn> <msub> <mi>N</mi> <mn>0</mn> </msub> </mfrac> <mn>2</mn> <mi>&pi;</mi> <msqrt> <mfrac> <mrow> <msub> <mi>R</mi> <mrow> <mi>X</mi> <mi>X</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>m</mi> <mo>)</mo> </mrow> </mrow> <mn>8</mn> </mfrac> </msqrt> <mo>&CenterDot;</mo> <mi>&delta;</mi> <mrow> <mo>(</mo> <mi>&omega;</mi> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow>

步骤S1-4,对滤波器系统函数进行傅里叶逆变换,得到滤波器冲激响应h(m):

<mrow> <mi>h</mi> <mrow> <mo>(</mo> <mi>m</mi> <mo>)</mo> </mrow> <mo>=</mo> <msqrt> <mfrac> <mrow> <msub> <mi>R</mi> <mrow> <mi>X</mi> <mi>X</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>m</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mn>16</mn> <msub> <mi>&pi;N</mi> <mn>0</mn> </msub> </mrow> </mfrac> </msqrt> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow>

步骤S2,高斯白噪声生成。用户生成与自身要发布序列X长度相同的4个功率谱密度为N0的高斯白噪声序列G1,G2,G3,G4,包括以下子步骤:

步骤S2-1,利用均匀分布随机数发生器产生两个与发布序列X长度相同的独立的均匀分布序列U1,U2,分布满足其中λ=Δf/ε,Δf是差分隐私的查询敏感度函数,ε是差分隐私保护强度;

步骤S2-2,计算中间变量分布Vi=2Ui-1,并计算中间参数S=V12+V22

步骤S2-3,若S>1,则返回步骤S2-1;反之,计算中间变量G1=V1Y,G2=V2Y,由此,得到2个高斯白噪声序列G1,G2

步骤S2-4,重复步骤S2-1~S2-3,得到4个高斯白噪声序列G1,G2,G3,G4,其中高斯白噪声的分布满足功率谱密度

步骤S3,相关性高斯噪声生成。将4个高斯白噪声序列G1,G2,G3,G4通过冲激响应为h(m)的滤波器,得到4个自相关函数为RG′(m)的相关性高斯噪声序列G′1,G′2,G′3,G′4,包括以下子步骤:

步骤S3-1,将高斯白噪声序列G1输入到冲激响应为h(m)的滤波器输入端;

步骤S3-2,对输入序列G1进行滤波,得到滤波后的输出序列G′1,根据高斯白噪声通过滤波器后相关函数RG(m)=δ(m)*[h(m)*h(-m)],G′1的自相关函数RG′(m)为:

<mrow> <msub> <mi>R</mi> <msup> <mi>G</mi> <mo>&prime;</mo> </msup> </msub> <mrow> <mo>(</mo> <mi>m</mi> <mo>)</mo> </mrow> <mo>=</mo> <msqrt> <mfrac> <mrow> <msub> <mi>R</mi> <mrow> <mi>X</mi> <mi>X</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>m</mi> <mo>)</mo> </mrow> </mrow> <mn>8</mn> </mfrac> </msqrt> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo> </mrow> </mrow>

其中,δ(m)为高斯白噪声的相关函数,是固定值的脉冲函数;

步骤S3-3,将G2,G3,G4依次通过滤波器,得到4个自相关函数为RG′(m)的相关性高斯噪声序列G′1,G′2,G′3,G′4

步骤S4,相关性拉普拉斯噪声生成。计算得到相关性拉普拉斯噪声序列Z,Z的自相关函数Rz(m)=RXX(m)。

同时,本发明还相应提供了一种相关性拉普拉斯噪声序列生成器,如图4所示,包含:

高斯白噪声生成模块,用于生成与原始发布序列长度相同的高斯白噪声序列,包含以下子模块,

均匀噪声生成子模块,用于生成高斯白噪声所需的均匀噪声,利用均匀分布随机数发生器产生两个独立的均匀分布序列U1,U2,分布满足i∈{1,2};

中间变量子模块,用于计算从均匀噪声生成高斯噪声的中间变量,计算Vi=2Ui-1,并计算S=V12+V22

判断子模块,用于判断中间变量子模块生成的变量是否可用,若S>1,则重新生成均匀分布的噪声;反之,计算G1=V1Y,G2=V2Y,由此,得到2个高斯白噪声序列G1,G2

迭代子模块,用于迭代上述子模块中的过程,生成4个高斯白噪声序列G1,G2,G3,G4

滤波器模块,用于改变高斯白噪声的相关函数,得到具有特定相关性的高斯噪声序列,包含以下子模块,

输入子模块,用于储存高斯白噪声模块产生的高斯白噪声序列G1,G2,G3,G4,并将G1,G2,G3,G4依次输入到滤波子模块;

滤波子模块,用于对输入序列G1,G2,G3,G4进行滤波,滤波后序列的自相关函数RG′(m)为

输出子模块,用于储存滤波后的序列G′1,G′2,G′3,G′4并输出给拉普拉斯噪声生成模块。

拉普拉斯噪声生成模块,用于生成与原始序列相关函数一致的拉普拉斯噪声,根据高斯噪声生成拉普拉斯噪声的公式,计算得到相关性拉普拉斯噪声序列Z。

本发明将高斯白噪声通过设计的滤波器,产生具有相关性的高斯噪声序列,然后根据高斯噪声产生拉普拉斯噪声的原理,生成和原始序列相关性相同的拉普拉斯噪声序列,与现有技术相比,具有以下有益效果:

(1)本发明所生成的拉普拉斯噪声序列的相关性与原始数据的相关性保持一致,能够满足相关性数据的差分隐私保护需求;

(2)由于高斯白噪声在实际当中应用广泛且较易产生,本发明通过均匀分布产生高斯白噪声序列,进而产生相关性拉普拉斯噪声,实现简单且实施复杂度低,具有较高的噪声生成效率;

(3)本发明的滤波器设计部分可以采用二阶滤波器,实际应用中,大多数相关性数据序列是短时平稳的,二阶滤波器就能较好的模拟理想滤波器的效果,且二阶滤波器的冲激响应求解较为简便,因此采用二阶滤波器可以进一步降低计算复杂度,便于算法高效实施。

附图说明

图1是本发明实施例提供的总体方法流程图。

图2是本发明实施例提供的总体原理示意图。

图3是本发明实施例提供的具体步骤流程图。

图4是本发明实施例噪声生成器的逻辑结构示意图。

具体实施方式

以下将结合附图及实施例,对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。

下面以某个病人一小时内每分钟的心跳数目组成的采样序列为例,来阐述本发明的具体实施步骤,目标是生成与采样序列相关函数一致的拉普拉斯噪声,以保护采样序列真实值。记采样序列为X,已知X包含60个离散采样点,X的近似自相关函数表达式为RXX(m)=0.7xm-1+0.3xm+2,xm∈X,m=1,2,…,60。

本发明技术方案所提供方法可采用计算机软件技术实现自动运行流程,图1和图2分别是本发明实施例的总体方法流程图和原理示意图,参见图1和图2,结合图3中本发明实施例的具体步骤流程图,本发明给定相关性的拉普拉斯噪声生成方法的实施例具体步骤包括:

步骤S1,滤波器设计。根据给定的序列X的自相关函数RXX(m)和高斯白噪声功率谱密度设计滤波器,求解滤波器冲激响应h(m)。

实施例中,已知X的自相关函数RXX(m)=0.7xm-1+0.3xm+2,xm∈X,m=1,2,…,60,假设高斯白噪声的功率谱密度为N0,根据这两个参数可以求解滤波器的冲激响应h(m),具体实现如下,

步骤S1-1,将拉普拉斯噪声和原始序列应满足的自相关函数条件,代入拉普拉斯噪声生成公式Z=G12+G22-G32-G42,求得相关性高斯噪声的自相关函数RG′(m)。

实施例中,拉普拉斯噪声的自相关函数Rz(m)应满足Rz(m)=RXX(m)=0.7xm-1+0.3xm+2,根据拉普拉斯噪声生成公式Z=G12+G22-G32-G42,反推得到相关性高斯噪声的自相关函数RG′(m)应满足

步骤S1-2,将自相关函数RG′(m)进行傅立叶变换,得到相关性高斯噪声的功率谱密度PG′(ω)。

实施例中,由步骤S1-1得到的RG′(m)应满足公式对其进行傅里叶变换,可得相关性高斯噪声的功率谱密度PG′(ω)为其中δ(ω)是脉冲函数。

步骤S1-3,已知高斯白噪声序列的功率谱密度PG(ω)=N0,求得滤波器系统函数H(ω)。

实施例中,根据步骤S1-2已求得的PG′(ω),以及高斯白噪声通过线性系统后功率谱密度为PG′(ω)=PG(ω)·|H(ω)|2,可得滤波器系统函数H(ω)应满足公式

步骤S1-4,对滤波器系统函数进行傅里叶逆变换,得到滤波器冲激响应h(m)。

实施例中,步骤S1-3得到的滤波器系统函数为将其进行傅里叶逆变换,得到滤波器冲激响应

步骤S2,高斯白噪声生成。用户生成与发布序列X长度相同的4个功率谱密度为N0的高斯白噪声序列G1,G2,G3,G4

实施例中,生成的高斯白噪声序列G1,G2,G3,G4包含60个离散点值,功率谱密度其中λ=Δf/ε,Δf是差分隐私的查询敏感度函数,Δf的具体值与查询函数有关(例如,计数查询的敏感度函数为固定值1),ε是差分隐私保护强度,ε的值可由本领域技术人员根据所要保护数据的程度自行设定(通常范围为0.1-1,ε的值越小代表保护程度越高)。具体实现如下,

步骤S2-1,利用均匀分布随机数发生器产生两个包含60个离散点值的独立的均匀分布序列U1,U2,分布满足

步骤S2-2,计算中间变量Vi=2Ui-1,并计算S=V12+V22

步骤S2-3,若S>1,则返回步骤S2-1;反之,计算G1=V1Y,G2=V2Y,由此,得到2个高斯白噪声序列G1,G2

步骤S2-4,重复步骤S2-1~S2-3,得到4个包含60个离散点值的高斯白噪声序列G1,G2,G3,G4,分布满足功率谱密度

步骤S3,相关性高斯噪声生成。将4个高斯白噪声序列G1,G2,G3,G4通过冲激响应为h(m)的滤波器,得到4个自相关函数为RG′(τ)的相关性高斯噪声序列G′1,G′2,G′3,G′4

实施例中,高斯白噪声序列G1,G2,G3,G4由步骤S2得到,滤波器的冲激响应由步骤S1得到,将G1,G2,G3,G4通过滤波器,可以得到4个自相关函数为RG′(m)的相关性高斯噪声序列G′1,G′2,G′3,G′4,具体实现如下,

步骤S3-1,将高斯白噪声序列G1输入到冲激响应为h(m)的滤波器输入端;

步骤S3-2,对输入序列G1进行滤波,得到滤波后的输出序列G′1,根据高斯白噪声通过滤波器后相关函数RG′(m)=δ(m)*[h(m)*h(-m)]可以得到G′1的自相关函数RG′(m)。

实施例中,G′1的自相关函数

步骤S3-3,将G2,G3,G4依次通过滤波器,得到4个自相关函数为RG′(m)的相关性高斯噪声序列G′1,G′2,G′3,G′4

步骤S4,相关性拉普拉斯噪声生成。计算得到相关性拉普拉斯噪声序列Z。

实施例中,由步骤S2得到的序列G′1,G′2,G′3,G′4的自相关函数RG′(m)满足根据高斯噪声生成拉普拉斯噪声的公式,经过公式计算得到的序列Z的自相关函数Rz(m)=RXX(m)=0.7xm-1+0.3xm+2。

本发明提供了本领域技术人员能够实现的技术方案。以上实施例仅供说明本发明之用,而非对本发明的限制,有关技术领域的技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变换或变型,因此所有等同的技术方案,都落入本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1