请问这个结果是怎么来的,我搞不清for函数格式里的i和for函数格式外的i的值?

1.matlab选择语句 能在 if 语句里面内嵌 if语句吗 即这样

嵌套是可以的,有些细节需要修改

2.求大神解答一个matlab中的for循环嵌套if选择语句

if-else-end语句所对应的是多重判断选择,而有时也会遇到多分支判断选择的问题。

MATLAB语言为解决多分支判断选择提供了switch-case语句。

switch〈选择判断量〉

与其他的的switch-case语句不同的是,在MATLAB语言中,当其中一个case语句后的条件为真时,switch-case语句不对其后的case语句进行判断,也就是说在MATLAB语言中,即使有多条case判断语句为真,也只执行所遇到的之一条为真的语句。这样就不必像C语言那样,在每条case语句后加上break语句以防止后面为真的case条件语句。

5.关于matlab的一些常用语句

plot 绘制二维图形

subplot 将当前图分为若干子图

polar 在极坐标中绘图

hold 保留当前图形

subplot 将当前图形分为若干子图

home 将光标移至开始,如:左上角

zoom 放大或缩小(仅限二维)

grid 显示或隐藏网格线

gtext 用鼠标放置文本

hidden 显示或不显示隐藏的曲面图

view 观察点的位置或角度

slice 三个变量的绘图函数

caxis 颜色坐标轴的刻度

MATLAB中的图形是面向对象的。首先根对象,它可能有许多子对象,即图形。这些图形可以包含一个或更多的轴、绘图区域。一个图形是由绘制在图形区域中的线条、曲面、补片以及文本对象构成的。每个对象有一个唯一的句柄,通过该句柄可以改变该对象的属性。

gcf,gca,gco 获得当前图、坐标轴或对象的句柄

clf,cla 清除当前图形或坐标轴

reset 恢复某一对象的属性

newplot 设定下一个图的属性

figure 设为当前图或创建图形

patch 补片填充的多边形对象

MATLAB计算表达式,如果产生一个逻辑真或者非零结果,然后就执行一条或者多条MATLAB命令语句。

当有嵌套if时,if必须和一个相应的end匹配。当你在if语句里面嵌套使用else if或者else时,一般的格式如下:

expression参数一个MATLAB表达式,通常由一些变量或者联合相关操作的更小的表达式(例如:count < limit)或者逻辑函数(例如:isreal(A))组成。

简单表达式可以结合一些逻辑运算符(&,|,~)变成复合表达式,例如下面的组合表达式从左到右根据操作符优先级进行计算。

另外发给你一个文档,注意查收 matlab常用到的永久变量 ans:计算结果的默认变量名。

realmax:系统所能表示的更大数值。realmin: 系统所能表示的最小数值,nargin: 函数的输入参数个数:nargout:函数的输出多数个数 ①matlab的所有运算都定义在复数城上。

对于方根问题运算只返回处于之一象限的解。⑦matlab分别用左斜/和右\来表示“左除和“右除”运算。

一维插值(XI为插值点的自变量坐标向量,可以为数组或单个数。

method为选择插值算法的 *** ,包括:linear(线性插值) cubic(立方插值) spline(三次样条插值) nearst(最近临插值) 一维博里叶变换插值使用函数interpft实现,计算含有周期函数值的矢量的傅里叶变换 然后使用更多的点进行傅里叶变换的逆变换,函数的使用格式如下:y=interpft(x,n) 其中x是含有周期函数值的矢量,并为等距的点,n为返同等间距点的个数。求解一元函数的最小值 y=fminbnd('humps',0.3,1) humps为一内置函数 求解多元函数的最小值 函数fminserch用于求多元函数的最小值。

它可以指定一个开始的矢量,并非指定一个区间。此函数返回一个矢量为此多元函数局部最小函数值对应的自变量 纹理成图功能 由warp函数的纹理成图功能实现平面图像在空间三维曲面上的显示。

引号可省略 vpa(s) 显示s的值 内积分限为函数的二重积分 I=∫14[∫√y2(x2+y2)dx]dy 符号法I=vpa(int(int('x^2+y^2','x',sqrt(y),2),'y',1,4) 微分运算(diff) 微分是描述一个函数在一点处的斜率,是函数的微观性质、因此积分对函数的形状在小范围内的改变不敏感,而微分很敏感。

—个函数的小的变化,容易产生相邻点的斜率的大的改变。由干微分这个固有的困难.所以尽可能避免数值微分.特别是对实验获得的数据进行微分。

在这种情况,更好用最小二乘曲线拟合这种数据,然后对所得到的多项式进行微分;或用另一种 *** 对点数据进行三次样条拟合,然后寻找样条微分,但是,有时微分运算是不能避免的,在MATLAB中.用函数diff汁算一个矢量或者矩阵的微分(也可以理解为差分)。a=[1 2 3 3 3 7 8 9]; b=diff(a) 一次微分 bb=diff(a,2) 二次微分 实际上diff(a)=[a(2)-a(1),a(3)-a(2),……,a(n)-a(n-1)] 对于求矩阵的微分,即为求各列矢量的微分,从矢量的微分值可以判断矢量的单调性、是否等间距以及是否有重复的元素。

MATLAB中我们常常用到条件判断语句结构,通过实例介绍这个结构的用法:1、if。

..end结构,运行下面的句子,此条件语句是判断5是否大于3,如果大于3,就将1赋值给;2、if。.else。

end 结构,我们以如下内容进行判断:运行以上语句,结果如下a1=1,a2=1,判断a1是否大于a2,显然不大于,然后就执行else语句,给a赋值为2;3、if..elseif。else。

end 结构 我们以如下语句为例,进行此条件结构的示例 运行以上语句,结果如下:a1=a2=1,判断a1>a2?不满足,执行elseif语句,a1语句,a=3 MATLAB IF 条件语句用法以及实例如下:1、if语句是一种选择判断语句,可以和for语句结合使用,也可以单独使用,这里创建了3个变量,作出了一个简单判断如果a小于b,b等于a,需要注意的是if语句后面要有end语句结束,如下图所示:2、运行脚本之后,在命令行窗口可以看到b已经等于a了,如下图所示:3、if嵌套语句,这里作出的判断是如果a小于b,b等于a,如果继续b还大于c,b等于c,如下图所示:4、运行脚本,在命令行窗口可以看到b等于a,这里是因为b变量只满足之一个条件,如下图所示:5、if语句中的else语句,else是否则的意思,这里作出的判断是如果a小于b,b等于a,如果满足a小于b条件下,b大于c,b就等于c,否则b=c-a,如下图所示:6、运行脚本,在命令行可以看出结果b=c-a,只满足之一个条件,第二个条件不满足进去else语句里面去了,如下图所示:。

不同的人面试不同类型的公司,会有不同的面试题。面试是在笔试之后进行的,也是最能考验面试者综合素质及应变能力的一项考试。

  【网络综合 - 求职招聘试题】

  1. C++的类和C里面的struct有什么区别?

  2. 析构函数和虚函数的用法和作用

  析构函数是在对象生存期结束时自动调用的函数,用来释放在构造函数分配的内存。

  虚函数是指被关键字virtual说明的函数,作用是使用C++语言的多态特性

  3. 全局变量和局部变量有什么区别?是怎么实现的?操作系统和编译器是怎么知道的?

  1) 全局变量的作用用这个程序块,而局部变量作用于当前函数

  2) 前者在内存中分配在全局数据区,后者分配在栈区

  3) 生命周期不同:全局变量随主程序创建和创建,随主程序销毁而销毁,局部变量在局部函数内部,甚至局部循环体等内部存在,退出就不存在

  4) 使用方式不同:通过声明后全局变量程序的各个部分都可以用到,局部变量只能在局部使用

  4. 有N个大小不等的自然数(1

1.本发明涉及一种差分隐私数据发布方法,特别是一种满足个性化隐私预算分配的差分隐私数据发布方法。

2.数字信息化时代的到来,使得数据的发布和利用显得尤为重要。政府和相关部门利用数据资源能够提供科学决策规划、预测市场趋势。但待发布数据中通常包含着大量敏感信息,直接发布这样的数据势必造成用户隐私信息的泄露。如何在保证用户敏感信息不被泄露的同时,使得数据可用性达到最大化,是研究数据发布问题的关键。近年来,研究人员针对数据发布中隐私保护问题,提出了一些方法,主要包括基于数据的匿名发布方法和基于数据的失真发布方法。
3.k-anonymity是数据匿名发布方法的典型代表,其通过对待发布数据的准标识符属性进行分组、泛化等操作,使每条记录与至少k-1条其他记录无法区分,从而保护数据隐私。针对k-anonymity模型中存在的缺陷,后续l-diversity和t-closeness方法被提出,虽然匿名方法能在一定程度上保护数据中的隐私信息,但该类方法是在假设攻击者不具有任何背景知识的前提下才能有效,无法抵御背景知识攻击和组合攻击。差分隐私作为基于数据失真的发布方法,被广泛研究及应用,因其不对攻击者所具备的背景知识做任何假设,对待发布的数据添加一定的可用噪声进行扰动,从而提供强大的隐私保证。比如医学研究人员可以通过对医学大数据进行聚类分析获得疾病的一般分布和临床表现,从而更好地诊治疾病并且研究疾病的发病原因,但是经聚类后的数据往往包含着病患大量的个人隐私,如果处理不得当容易被攻击者恶意分析从而造成病患隐私信息的泄露。

4.本发明设计开发了一种满足个性化隐私预算分配的差分隐私数据发布方法,通过对数据集中属性的敏感级别进行分级,第不同级别敏感属性进行隐私预算分配,再通过改进的k-prototype算法对原始数据集进行聚类,对每个簇中聚类中心进行差分隐私保护,生成满足差分隐私的待发布数据集,满足多种查询要求。本方法能够在健康机构中对病患数据进行保护和发布,在满足数据可用性最大的前提下,既能保护用户隐私又能供研究人员分析和使用。
5.本发明提供的技术方案为:
6.一种满足个性化隐私预算分配的差分隐私数据发布方法,包括:
7.步骤一、根据数据集中属性的敏感级别,通过互信息与属性对敏感属性进行分级;
8.步骤二、构造隐私预算划分二部图,对不同级别的敏感属性匹配相应的隐私预算;
9.步骤三、对原始数据集进行聚类,通过敏感属性分配的隐私预算,对聚类中心值进行差分隐私保护,生成满足差分隐私的待发布数据集。
10.优选的是,所述步骤一中,根据数据集中属性之间互信息的关联程度,将其分为:
高敏感属性组、中敏感属性组和低敏感属性组。
11.优选的是,所述步骤二包括:
12.设定每个原始敏感属性的隐私损失pi为0,计算每个隐私预算对应的隐私消耗c
和每个敏感属性的信息损失值ls:
15.其中,高敏感属性组、中敏感属性组和低敏感属性组之间的隐私保护强度比为5:3:2;
16.通过损失函数,构造隐私预算划分图;
17.当隐私预算划分图中存在与敏感属性最优匹配的隐私预算时,输出敏感属性与隐私预算的关系图;
18.当隐私预算划分图中不存在敏感属性最优匹配的隐私预算时,将增加一个敏感属性的隐私损失,继续构图匹配,知道获得最优匹配结果。
19.优选的是,所述步骤三包括:
20.在数据集o中,聚类个数为k,隐私预算为{ε1,ε2......εm}
21.对初始中心进行选择,计算各个元祖记录oi的局部密度ρi[]
计算局部密度高于元祖记录oi且距离元祖记录最近的记录oj之间的距离δi:
聚类中心的ρi和δi需满足公式:
其中,μ(δ)和μ(ρ)代表所有元组记录ρi和δi的均值;
通过公式(13)计算z
中每个元组记录的一个综合ρi和δi的参数αi,
该值(具体是哪个参数的数值)越大,则该元组记录的属性值越接近成为聚类中心;
将所有元组记录的αi从大到小排序,αi最大的元组记录为聚类中心;
对于其它预选中心点,按照顺序计算在它之前的元组记录的距离,
,则该元组记录可作为初始聚类中心,选取前k条元组记录作为初始聚类中心,
针对数值属性,为簇中每个属性均值添加laplace噪声:
优选的是,所述步骤三还包括:
当聚类损失函数改变,1≤i≤n,计算d(oi,oj);
将oi划入相异度最小的簇中
重新计算簇内中心点,计算每个属性中心值
计算ei的值,直到ei的值不再发生变化,得到聚类结果。
本发明所述的有益效果:
1、针对数据集中属性的敏感级别不同,利用互信息与属性之间关联关系提出一种敏感度分级方法,使用户对敏感属性重视程度得以量化,为不同的级别的属性匹配对应的隐私保护程度;
2、结合最优匹配理论,构建隐私预算划分二部图,实现对不同级别敏感属性进行隐私预算的分配,较好的解决了平均分配隐私预算导致的数据可用性不高和敏感属性保护不足问题。
3、通过对相异度度量方法和初始中心选择进行改进,提出一种新的k-prototype算法,对原始数据集进行聚类,并对每个簇中聚类中心进行差分隐私保护,生成满足差分隐私的待发布数据集,满足多种查询需求。
4、通过使用本方法,能够在医疗机构中有针对性的统计患有特定疾病的患者数目,并将其发给医疗机构,既保证了用户数据没有被完全公开,又能满足医疗机构的统计需要。
图1(a)为adult数据集上,ε取0.01时,误差平方和在不同聚类簇数下的变化情况图。
图1(b)为adult数据集上,ε取0.1时,误差平方和在不同聚类簇数下的变化情况图。
图1(c)为adult数据集上,ε取1时,误差平方和在不同聚类簇数下的变化情况图。
图1(d)为adult数据集上,ε取5时,误差平方和在不同聚类簇数下的变化情况图。
图2(a)为adult数据集上,ε取0.01时,记录关联值在不同聚类簇数下的变化情况图
图2(b)为adult数据集上,ε取0.1时,记录关联值在不同聚类簇数下的变化情况图。
图2(c)为adult数据集上,ε取1时,记录关联值在不同聚类簇数下的变化情况图。
图2(d)为adult数据集上,ε取5时,记录关联值在不同聚类簇数下的变化情况图。
图3(a)为ci数据集上,ε取1时,误差平方和在不同聚类簇数下的变化情况图。
图3(b)为ci数据集上,ε取1时,记录关联值在不同聚类簇数下的变化情况图。
图4为初始隐私预算二部图。
图5为属性泛化层次结构图。
下面结合附图对本发明做进一步的详细说明,以令本领域技术人员参照说明书文
如图1-5所示,本发明提供一种满足个性化隐私预算分配的差分隐私数据发布方法,通过对数据集中属性的敏感级别进行分级,第不同级别敏感属性进行隐私预算分配,再通过改进的k-prototype算法对原始数据集进行聚类,对每个簇中聚类中心进行差分隐私保护,生成满足差分隐私的待发布数据集,满足多种查询要求,包括:
步骤一、根据数据集中属性的敏感级别不同,通过互信息与属性之间关联关系对敏感属性进行分级;
步骤二、结合最优匹配理论,构建隐私预算划分二部图,对不同级别的敏感属性匹配相应的隐私预算;
步骤三、利用改进的k-prototype算法对原始数据集进行聚类,通过敏感属性分配的隐私预算,对聚类中心值进行差分隐私保护,生成满足差分隐私的待发布数据集。
其中,步骤一具体包括:
数据集中每个敏感属性的重要程度不同,需要对其进行保护的强度也有所差异,因此需要对敏感属性进行分级操作;利用属性之间互信息的大小,比较它们的关联程度;依据关联程度对其进行划分,将关联程度较高的属性划分在同一组内,敏感属性之间属性灵敏度如果出现交叉,例如:敏感属性元组x1与x2、x1与x3、x2与x3之间互信息的大小关系为i(x1,x2)>i(x1,x3)>i(x2,x3),则将其分为一组;分组完成计算各组的平均属性灵敏度,根据灵敏度的大小,对属性级别进行划分,选择平均灵敏度大小中前1/3的组作为高敏感属性组(has),中间1/3的组作为中敏感属性组(mas),其余1/3的组为低敏感属性(las)。其算法伪代码如下所示:
输入:数据集o中敏感属性ri;
输出:分级后的敏感属性分组p1、p2、p3;
4.比较ri与rj关联程度
6、将敏感属性ri与rj划分到p1;
8.计算每个组中平均属性灵敏度记为
步骤二包括:个性化隐私预算分配方案
结合最优匹配理论,为敏感属性分配隐私预算,对于敏感属性保护强度,进行人为
主观设定,可能造成敏感属性对应隐私保护强度设置的过度或不足,根据敏感属性分级策略对其进行优化,对数据集中敏感属性进行自动分级后,再对其保护强度进行设定,最后利用最优匹配理论为各个等级的敏感属性分配隐私预算。
隐私消耗:假设敏感属性等级隐私保护强度为si,每个敏感属性随机分配隐私预算εj,则该敏感属性的隐私消耗计算如下:c
最优匹配:构建二部图(x,y),如果存在x与y匹配数最大,且|x|=|y|=匹配数,则称该方案为二部图的最优匹配;
隐私预算划分图:在满足差分隐私的条件下,使得待发布数据与已发布的满足差分隐私保护并且互信息最大的隐私预算与敏感属性等级链接,构成的二部图称为隐私预算划分图;
如图4所示,给定一组隐私预算εj,一组敏感属性。假设身份证号和疾病为has,则需要对其进行保护的强度较高,需要添加的噪声较大,分配的隐私预算越少,则为其分配隐私预算为{0.01,0.03};家庭住址和考试成绩为mas,为其分配隐私预算为{0.2,0.35};邮编和学历为las,低敏感属性加入少量噪声即可,为其分配隐私预算为{1.2,1.35}。构建初始的隐私预算划分图,ls代表每个敏感属性的信息损失,一个εj对应多个敏感属性,当该εj匹配到某一个敏感属性时,若计算下来的ls是最小或者不再变化,则该εj与对应的敏感属性就是一个最优匹配,当所有εj与敏感属性相连接,且整体ls最小,此时敏感属性与隐私预算构成的二部图为最优隐私预算划分图。
具体匹配思想,给定一组具有n个敏感等级的敏感属性和一组包含n个随机隐私预算的集合,将敏感属性等级与使发布数据可用性最高的隐私预算相匹配,其算法流程如下:
输入:数据集o中敏感属性ri,各个敏感属性隐私保护强度si,一组不同的隐私预算εj;
输出:敏感属性与隐私预算最优匹配图;
2.设置隐私损失pi=0;
8.构建初始隐私预算划分图pm;
9.if最优匹配存在:
11.则该pm为敏感等级与隐私预算的最优匹配结果图;
步骤1-7,设定每个原始敏感属性的隐私损失pi为0,计算每个隐私预算对应的隐私消耗和每个敏感属性ls值,ls代表每个敏感属性的信息损失,其中has、mas与las之间的隐私保护强度比为5:3:2;步骤8-15利用损失函数,构造隐私预算划分图,检查图中是否存在最优匹配,若存在,则输出敏感属性与隐私预算之间的最优匹配关系图。否则,将该敏感属性的pi增加一个单位,返回步骤8,继续构图匹配,直到获得最优匹配结果。
步骤三包括:基于改进k-prototype聚类的差分隐私数据发布算法
k-prototype算法作为经典处理混合属性数据集的聚类算法,人为或者随机的确定初始聚类中心并且利用欧氏距离和海明威公式,简单的衡量属性值之间的距离,降低了聚类算法的稳定性和准确性。对其初始聚类中心的选择和属性值相异度计算公式进行改进,提升聚类效果,进而提高差分隐私保护后数据的可用性。
元组属性值之间相异度度量方法
1.数值型属性相异度度量
设有数据集o包含n条数据记录,m维属性,其中k维数值属性,l维分类属性。则其第p(1=《p=《k)维数值属性信息熵计算公式如下:
表示包含第p维数值属性元组记录oi的个数,则该数值属性的权重为则数据记录oh与oj之间第p维数值属性相异度度量公式为:dr(oh,oj)=w
2.分类型属性相异度度量
对于第q维分类属性,信息熵hq计算公式为:
/n表示第q维分类型属性中第t个分类属性值所占的比重,nq表示第q维分类型属性的个数。
则该分类属性的权重值yq为:
其中,hq为第q维分类属性的信息熵。
分类属性不是某个特定数值,因此需要对分类型属性构建泛化层次树,衡量属性值之间相异度。如对于敏感属性’疾病’,其泛化层次树构建如图5所示。
则数据记录oh与oj之间第q维分类属性的相异度度量公式为;
|分别是第q维分类属性的属性值总数;和分别为oh和oj中泛化到同一级别tq子树包含的叶子节点个数.
对于每个簇,数值属性选择属性值均值v
作为其聚类中心,分类属性选择各属性值中出现频率最高值v
作为其聚类中心,则数据记录之间混合相异度计算公式为:
k-prototype聚类需要使用一个合适的损失函数去度量数值型和分类变量对聚类中心的距离,如距离合适,则该聚类结果即为最优,聚类结束。假设数据集o中包含n条数据记录,聚类个数为k,y
取值为0或1,表示在第l个簇中是否存在元组i,如存在则取值为1,否则为0,该损失函数为:
对于初始中心选择,应尽可能选取与各数据记录相异度较为均衡的属性值,引入数据分布中局部密度和高密度距离定义,对初始中心进行选择。
1)每条元组记录oi与其它元组oj的局部密度,采用高斯核方法对其进行计算:
2)每条元组记录oi到局部密度高于它且距离最近的元组oj之间的距离:
为截断距离,即所有元组记录距离从小到大排序后前1%到2%的取值。
为了高效准确衡量元组之间距离,定义元组记录之间的距离公式为:
其中,数值属性距离采用加权欧式距离计算:
分类属性距离采用加权海明威距离计算:
聚类中心在各自簇中局部密度应为最大,簇之间聚类中心距离应尽可能远,保证聚类后簇之间相异性较高、簇内同质性较高,聚类中心的ρi和δi需满足公式:
为预选聚类中心的集合,μ(ρ)和μ(δ)代表所有元组记录ρi和δi的均值。
为防止同一个簇中出现多个中心,应对中心之间的距离进行规定,利用公式计算z
中每个元组记录的一个综合ρi和δi的参数αi,αi越大,则该元组记录的属性值越有可能成为聚类中心;将所有元组记录的αi从大到小排序,αi最大的元组记录必为聚类中心,对于其它预选中心点,计算按照顺序在它之前的元组记录的距离,若距离大于2d
可作为初始聚类中心,选取前k条元组记录作为初始聚类中心。
为防止聚类后数据集中隐私信息泄露,对聚类中心进行差分隐私保护:
a)针对数值属性,为簇中每个属性均值添加laplace噪声:
其中,为第p维数值属性的平均值,lap(δf/ε)为加入满足隐私预算大小为ε的laplace噪声。
b)针对分类属性,利用指数机制,结合给定的隐私预算和打分函数,概率选择最佳的聚类中心点,使其满足差分隐私保护。
算法1、算法2为敏感属性分配不同隐私预算,利用改进的k-prototype算法对原始数据集进行聚类,聚类完成的数据集被分为k个簇,则簇中各个属性分配到的隐私预算为该属性总体预算的1/k,利用分配到的隐私预算为簇中数据记录加噪,其算法流程如下:
输入:数据集o、聚类个数k、隐私预算{ε1,ε2......εm};
输出:差分隐私数据集o
4.oi为预选聚类初始中心;
8.则oi必为聚类初始中心;
10.则oj为聚类初始中心;
14.while聚类损失函数改变:
17.将oi划入相异度最小的簇中;
18.重新计算簇内中心点;
19.计算每个属性中心值;
20.计算ei,直到ei的值不再发生变化,输出聚类结果;
23.对于数值属性,计算属性值均值作为该属性聚类中心;分类属性则生成所有属性值集合;
25.针对数值型属性的聚类中心值,利用每个属性划分得到的隐私预算,为其添加laplace噪声;针对分类型属性,利用指数机制选择输出概率最高的属性值作为中心值;
26.生成差分隐私数据集o
对dp-imkp算法进行可用性证明。
定义查询函数f,返回数据集o中某条记录oi,通过k-prototype聚类算法能够有效降低查询敏感度。
证明:k-prototype聚类算法作用在数据集o,将其划分为k个至少包含n条记录的簇。当查询函数f作用于数据集o时,则两条数据记录之间的差异被分化到n条记录上,查询结果返回的是某条记录所在簇的质心,则敏感性至多为δf/n.对于聚类操作中的异常点,其没有被划分到某个簇中,则需要通过某个属性的整体均值来对其进行代替,则查询敏感度将会小于划分到簇中的正常点,因此k-prototype聚类后的数据集进行查询,其敏感度小于等于δf/n,证毕。
dp-imkp算法满足ε-差分隐私。
证明:给定两个相邻数据集o1和o2,经过dp-imkp计算后的输出结果集合分别为m(o1)和m(o2),为差分隐私数据集,经查询函数f的查询结果分别为f(o1)和f(o2),h和g分别为dp-imkp算法在相邻数据集o1和o2上所有数值属性数据和分类属性数据输出的结果,为的查询结果。
由差分隐私定义知,针对数值型属性,则:
利用k-prototype聚类算法将数据集o划分为k个互不相交的子集,由差分隐私的并行性可知,为每个子集分配的隐私预算εi即为dp-imkp算法的整体隐私预算ε,因此,dp-imkp满足ε-差分隐私,证毕。
adult数据集是美国人口普查统计信息数据的集合,也是数据分析中常用的数据集之一,包括14个数值、分类属性,去除其中包含缺失属性的记录后可用记录30158条,本发明选取adult数据集中3个数值属性和5个分类属性作为实验属性,如表1所示:
census-income(以下简称ci)数据集是美国人口局于1994和1995年所做的现有人口收入调查,包括40个数值、分类属性,去除重复记录后的可用记录共包括299285条,利用mindutilmineset-to-mlc划分方法,本发明选取其中99762条作为实验记录,并选取4个数值属性和4个分类属性作为实验属性,如表2所示。
实验通过对数据可用性和数据泄露风险程度进行度量,作为验证算法优越性的标准。
针对数据的可用性,采用距离误差平方和(sse)作为衡量标准,其用来计算原始数据记录与经差分隐私保护后数据记录之间的平方误差和,sse值越小,数据信息损失越少。其计算公式如(16):
′i)表示记录之间相异度大小,针对记录中数值属性相异度采用欧氏距离进行计算;针对分类属性,利用文中提出的方法进行计算。
数据被泄露的风险则利用记录关联(rl)来衡量,该值表示经差分隐私处理后的数据集与原数据集记录匹配的百分比,其计算公式为:
为差分隐私保护后的数据集,d为距离o
相异度最小原始记录的集合,如果真正的原始记录o在d中,则pr(o
)表示在d中猜测到原始记录o的概率为1/|d|,其中|d|为d中包含记录的个数;如果不在,则pr(o
)=0;rl越大,则证明经差分隐私保护后的数据集记录与原始数据集中记录关联程度越高,数据泄露的风险也越高。
为验证dp-imkp算法在提升数据可用性和降低隐私泄露风险方面的优越性,在不同数据集上,与文献
的dckpdp算法进行实验对比,三种算法针对混合属性数据集,均采用不同方法对原始数据集进行聚类操作处理,其中dp-mdav算法对经典mdav算法进行改进后,对数据集进行微聚集;dp-k-prototype利用经典k-prototype算法对数据集进行聚类;dckpdp对k-prototype算法进行初始聚类中心和相异度计算方法进行改进,对混合属性数据集进行聚类,最后进行差分隐
私保护。通过对比三种算法,能够证明dp-imkp算法在利用改进k-prototype算法、对隐私预算进行个性化划分的优势。
由图一可得,对聚类后的数据集进行差分隐私,sse值随着聚类簇数增加,总体呈下降趋势,验证了定理3的真实性。当k值到达(n为数据集中总记录数)时,sse值几乎达到最优,并且随着聚类簇数增加,聚类结果逐渐接近最优化,sse值也趋于稳定。当ε取值为0.01时,由于隐私预算过小,数据集中加了大量的噪声,即使利用聚类算法对原始数据集进行处理,数据的可用性依然很低;当ε取值为0.1时,sse变化幅度最为明显,但此时sse值相对较高,信息损失代价较大;ε取值为1和5时,sse值较低,并且随着隐私预算变大,加入的噪声减小,信息损失减少,所以二者之间相差较小。但是无论ε取值为多少,本dp-imkp算法的sse值总体上最低,即数据可用性最高,这是因为dp-mdav算法要求数据记录按照到边界记录距离的大小排序,这样由mdav算法生成的聚类不均匀,产生较大的信息损失;dp-k-prototype算法在利用k-prototype算法进行聚类的过程中,人为或随机设定初始聚类中心,没有为数值属性设定权重,造成聚类效果不佳进而使得信息损失较大;dckpdp算法虽然对聚类中心选取和相异度计算方法进行改进,但是在进行差分隐私保护时对各个属性的隐私预算分配采用均分原则,容易造成隐私预算分配不均和浪费。dp-imkp算法对敏感属性采取分级分配隐私预算,能够使得预算充分合理利用,最小程度降低预算浪费,提升数据可用性。设定ε为{0.01,0.1,1,5},随着聚类簇数变化,各算法在adult数据集上误差平方和变化如图1(a)-(d)所示.
由图1可得,对聚类后的数据集进行差分隐私,误差平方和随着聚类簇数增加,总体呈下降趋势。当聚类簇数到达(n为数据集中总记录数)时,误差平方和几乎达到最优,并且随着聚类簇数增加,聚类结果逐渐接近最优化,误差平方和也趋于稳定。当ε取值为0.01时,由于隐私预算过小,数据集中加入了大量的噪声,即使利用聚类算法对原始数据集进行处理,数据的可用性依然很低;当ε取值为0.1时,误差平方和变化幅度最为明显,但此时误差平方和相对较大,信息损失代价较大;ε取值为1和5时,误差平方和值较低,并且随着隐私预算变大,加入的噪声减小,信息损失减少,所以二者之间相差较小。但是无论ε取值为多少,本发明dp-imkp方法的sse值总体上最低,即数据可用性最高,这是因为dp-mdav算法要求数据记录按照到边界记录距离的大小排序,这样由mdav算法生成的聚类不均匀,产生较大的信息损失;dp-k-prototype算法在利用k-prototype算法进行聚类的过程中,人为或随机设定初始聚类中心,没有为数值属性设定权重,造成聚类效果不佳进而使得信息损失较大;dckpdp算法虽然对聚类中心选取和相异度计算方法进行改进,但是在进行差分隐私保护时对各个属性的隐私预算分配采用均分原则,容易造成隐私预算分配不均和浪费。dp-imkp算法对敏感属性采取分级分配隐私预算,能够使得预算充分合理利用,最小程度降低预算浪费,提升数据可用性。
设定ε为{0.01,0.1,1,5},随着聚类簇数变化,各算法在adult数据集上记录关联值变化如图2(a)-图2(d)所示。
由图2可得,随着ε增大,经差分隐私保护的数据集中加入的噪声减少,记录关联值逐渐上升。记录关联值取0.01时,记录关联值最低,此时隐私保护力度虽高,但是数据可用
性最差;ε分别取0.1和1时,dp-imkp算法的记录关联值相差控制在0.05以内,dp-mdav、dp-k-prototype和dckpdp三种算法的记录关联值相差均在0.04左右;ε取5,此时隐私保护力度最低,不能体现使用差分隐私的优越性。由于dp-mdav、dp-k-prototype和dckpdp三种算法采用均分原则为各个属性分配隐私预算,因此,无论ε取值大小,这三种算法之间rl差值维持在0.025左右,可以认为这三种算法保护强度相当,但是dp-imkp算法对隐私预算采用了个性化分配,使其能够合理的运用,使得敏感级别较高的属性得到充分的保护,因此本发明dp-imkp算法相较于dp-mdav、dp-k-prototype和dckpdp三种算法,记录关联值降低3%-5%,能够使数据得到更充分的保护。
根据adult数据集上实验分析可得,当ε取值为1时,dp-imkp算法性能最优,为了体现dp-imkp方法的可扩展性,设定ε为1,在数据集ci上进行相同实验。
由图3(a)和图3(b)可得,ε取1时,在数据集ci上进行实验,dp-imkp算法无论是误差平方和还是记录关联值同样最优,即本发明的dp-imkp算法,与同类算法相比,在提升数据可用性和降低隐私泄露风险方面都有优势。
本发明通过研究数据发布中隐私保护问题,提出一种满足个性化隐私预算分配的差分隐私数据发布方法,针对研究的问题,提出敏感属性分级策略,并为各等级敏感属性匹配最合适的隐私预算,利用改进后的k-prototype聚类方法对原始数据集进行聚类操作,使其获得更好的聚类结果,最后结合各敏感属性分配的隐私预算,对数据集进行差分隐私保护。通过实验验证,dp-imkp算法较好地解决了当前方法中存在的数据可用性较低、隐私保护力度不足的问题。但是本发明在进行实验时,只选取了数据集中部分属性,针对包含高维属性数据集时,可能存在发布效率不高等问题。
尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。

我要回帖

更多关于 for函数格式 的文章

 

随机推荐