logo资料库

论文研究-隐私保护的分布式决策树分类算法的研究.pdf

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
第 27 卷第 8 期 2010 年 8 月  计 算 机 应 用 研 究 Application Research of Computers 隐 私 保 护 的 分 布 式 决 策 树 分 类 算 法 的 研 究 申艳光, 邵 慧, 张永强 ( 河北工程大学 信息与电气工程学院, 河北 邯郸 056038 ) Vol.27 No.8 Aug.2010 倡 摘 要: 针对分布式决策树构造过程中的隐私保护问题,引入安全多方计算方法设计了可以保护隐私的分布式 C4.5 决策树分类算法。 该算法适用于数据集垂直分布和水平分布两种情况,同时提出了一种新的隐私保护程 度的度量方法。 实验结果证明设计的隐私保护分布式决策树分类算法不仅很好地保护了原始数据不泄露,同时 保持了较高的分类精度。 关键词: 分布式数据挖掘; 隐私保护; 安全多方计算; C4.5 决策树算法; 垂直分布; 水平分布 中图分类号: TP311   文献标志码: A   文章编号: 1001唱3695(2010)08唱3070唱03 doi:10.3969/j.issn.1001唱3695.2010.08.069 Research on privacy preserving distributed decision唱tree classification algorithm Abstract: To solve the problem of privacy preserving of the distributed decision唱tree building process, this paper introduced the secure multi唱party computation method and designed an algorithm of privacy preserving distributed C4.5 algorithm ,which was applicable to the vertically and horizontally distributed dataset, and also proposed a new computation method of the degree of privacy protection.Experimental results demonstrate that the privacy preserving algorithm can well protect the original data from revealing, and keep high classification correct accuracy. Key words: distributed data mining; privacy preserving; secure multi唱party computation; C4.5 decision唱tree algorithm; ver唱 tically distributed; horizontally distributed (School of Information Science & Electrical Engineering, Hebei University of Engineering, Handan Hebei 056038, China) SHEN Yan唱guang, SHAO Hui, ZHANG Yong唱qiang 本文假设数据集 S 垂直( 水平) 分布于 A 和 B 两方,分别 Begin (1) 创建根节点 T; 垂直划分:A 计算 Sa 中每一属性的信息增益比例,B 计算 Sb 中每   收稿日期: 2010唱01唱01; 修回日期: 2010唱02唱29  基金项目: 河北省教育厅科学研究计划项目(2009421);河北省自然科学基金资助项目 (F2008000752)   作者简介: 申艳光(1970唱),女,河北邯郸人,教授,硕士,主要研究方向为数据挖掘和信息安全(shenyanguang@yahoo.com);邵慧(1983唱),女, 山东泰安人,硕士,主要研究方向为数据挖掘;张永强(1966唱),男,教授,主要研究方向为软件工程. [1] [2] 首次提出了隐私保护 和 Lindell 等人   数据挖掘就是从大量的、不完全的、有噪声的、模糊的、随 机的数据集中提取隐含的、事先未知的、但又潜在有用的信息 和知识的过程。 与此同时,数据挖掘也面临着许多问题的挑 战。 其中,数据挖掘的隐私和信息安全问题尤其得到关注。 2000 年 Agrawal 等人 的数据挖掘概念,引起了学术界和产业界的广泛关注,并吸引 了一批学者致力于该领域的研究。 从此,隐私保护的数据挖掘 成为了研究重点。 近年来,随着 WWW 的普及应用,Internet 成 为最大的分布式数据源,在数据挖掘过程中,经常需要来自不 同站点数据库中的数据,如不同银行希望从共享数据中得到欺 诈行为的模式;政府机构需要与航天部门合作,挖掘恐怖行为 的踪迹,在这类情况下,数据常常分布在不同的地点,这些机构 在进行协同工作完成全局性的数据挖掘时,往往希望在不共享 自己精确数据的前提下,获取准确的挖掘规则结果。 因此,隐 私保护的分布式数据挖掘成为了一个全新的研究方向。 本文主要考虑数据挖掘者为两方的情况,数据集水平分布 时,应用安全多方和协议和安全 xln(x) 协议构造具有隐私保 护效果的决策树分类器;数据集垂直分布时,应用标量积协议 和安全 xln(x)协议构造具有隐私保护效果的决策树分类器。 1 问题描述 为 Sa 和 Sb,并且数据集 S =Sa∪Sb,则: a)如果数据集 S 垂直划分:则 A 和 B 两方有相同的记录 数,用 N 代表总的记录数;每一条记录被分为两部分,Sa 包含 一部分属性,Sb 则包含另一部分属性,用 n 表示所有属性个 数;A 和 B 共享属性集及类标号属性,用 m 表示类的个数。 b)如果数据集 S 水平划分:则 A 和 B 两方拥有不同的记 录数,但每条记录是完整的,A 和 B 共享属性集以及类标号属 性,用 m 表示类的个数。 2 隐私保护的分布式决策树算法研究 2畅1 隐私保护的 PPC4.5 决策树算法 C4.5 算法由 Quinlan J R 在1993 年提出,是ID3 算法的改 进。 C4.5 算法在 ID3 的基础上增加了对连续型属性和属性值 空缺情况的处理,对树剪枝也有了较成熟的方法。 与 ID3 不 同,C4.5 采用基于信息增益比例(GainRatio) 的方法选择测试 属性。 本文以C4.5 算法 为基础,设计了保护隐私的PPC4.5 (S,^A_attribute)算法,文中假设 ^A 表示当前节点,^A_attribute 表 示当前测试属性集,S =Sa∪Sb 表示当前数据库。 [3]
申艳光,等:隐私保护的分布式决策树分类算法的研究 [4] 增益比例的属性; 第 8 期 一属性的信息增益比例,用信息增益比例最大的节点做根节点; 水平划分:A、B 需要合作才能计算信息增益比例。 (2)if S 都属于同一类 C,则返回 T 为叶节点,标记为类 C; 垂直划分:由于 A、B 双方共 同分享 类标号,要确 定 S 是否 属于同 一类 C,只需考察 Sa(Sb) 记录是否属于同一类 Ca( Cb),若都属于同一 类,则返回叶节点,用 Ca(Cb) 标记。 水平划分:分别考察 Sa 中的记录是否属于同一类 Ca,Sb 中的记录 是否属于同一类 Cb。 若都属于同一类,再考察 Ca 是否等于 Cb。 运用 可以确定 Ca 是否等于 Cb。 若 Ca =Cb,则 Yao 的安全两方比较协议 返回叶节点,用 Ca 或 Cb 标记。 (3)if ^A_attribute 为空 OR S 中所剩 的样本 数少于 某给定 值,则返 回 T 为叶节点,用 S 中最频繁的类标记; 垂直划分:由于 A、B 两方共同分享所有属性的名称,则 ^A_attribute 是否为空它们都可知。 当 ^A_attribute 为空时,需 要找出 S 中最 频繁的 类 Ci,又因为 A、B 共享类标号,所以只需扫描 Sa( Sb) 一个数据库统计 其最频繁的类即可。 水平划分:A 统计 Sa 中每个类的记录数|Sa( Ci) |,B 统计 Sb 中每 个类的记录 数 |Sb ( Ci) |。 运 用 Yao 的 安 全 两 方 比 较 协 议, A 输 入 ( |Sa(C1) |,…,|Sa(Cm) |),B 输入( |Sb( C1) |,…,|Sb( Cm) |),计算 输出为 i =max{( |Sa(Ci) |+|Sb(Ci) |)}。 (4) 创建队列 Q,根节点 T 入队列 Q; (5)while 队列不为空 (6) { (7) 从队列中取出第一个节点 ^A; (8)for each^A_attribute 中的属性计算信息增益比例 GainRatio; (9)T 的最佳分裂属性 test_attribute =^A_attribute 中 具有最 高信息 (10)if 分裂属性为连续型 then 找到该属性的分割阈值; (11) 用信息增益比例最大的那个属性把节点 ^A 分为 k 个子集 ^A1, (12)for each 由节点 ^A 长出的新叶节点 ^A{ if 该叶节点对应的样本子集只有惟一的一种决策 类别,则 将该叶 节点标记为该类别; else 将该 节点入 队列 Q,在 该叶节 点上执 行 PPC4.5( S′,^A_ attri唱 bute) 对它继续分裂; (13)    } (14) } (15) 计算每个节点的分类错误,进行树剪枝。 end 2畅2 节点最佳分裂属性的确定方法 为了确定每一节点的最佳分裂属性,需要计算每一节点所 有属性的信息增益比例,将值最大的属性作为节点的分裂属 性,数据集垂直划分和水平划分的最佳分裂属性的确定方法不 同,分开来讨论。 2畅2畅1 数据集垂直划分的最佳分裂属性的确定方法 设 S 代表当前节点的数据集,R 表示计算当前节点属性的 信息增益比例所需要的数据集,会出现两种情况:a)R 中的属 性和当前测试属性集 ^A_attribute 属于一个数据集,则其中任意 一方均可以单独地计算属性的信息增益比例;b)R 中的属性和 当前测试属性集 ^A_attribute 不属于同一个数据集,此时一方需 要联合另一方的数据才能计算信息增益比例。 下面主要讨论 情况 b)的信息增益比例计算方法。 把 R 分为两个子集 Ra 和 Rb,设 Ra 是从 Sa 获取的数据 集,Rb 是从 Sb 获取的数据集。 Ea 表示仅与 Sa 中有关的属性 ^A2,…,^Ak; ·1703·     组成的逻辑表达式,Eb 表示仅与 Sb 中有关的属性组成的逻辑 表达式。 A 扫描 Sa 生成一个 N 维向量 Va,如果第 i 条记录满 足 Ea,则 Va(i) =1,否则 Va(i) =0。 A 可以自己计算出向量 Va 的值,同理,B 也可以自己计算出向量 Vb 的值。 V(i) =Va(i)∧ Vb(i) 表示同时满足条件 Ea 和 Eb 的记录。 设 Vi 是 一 个 N 维 向 量, 如 果 第 t 条 记 录 属 于 类 i 则 Vi(t) =1,否则 Vi(t) =0。 A 和 B 都可以独自计算出向量 Vi 的 值。 标量积 VaVb =∑N i =1Va(i)倡Vb(i) 表示同时满足条件 Ea 和 Eb 的非零项的记录个数;^Pi =Va· (Vb∧Vi) =(Va∧Vi)· Vb 表示数据集 S 中属于类 i 的记录数。 s j =1 s1j +s2j +… +smj j =1PjI(s1j,s2j,…,smj) 1)计算 E(S,^A_attribute) E(S,^A_attribute) =-∑v I(s1j,s2j,…,smj) =-∑v 其中:①Pj =Va· Vb|S|,|S|=∑m i =1^Pi; ②I(S1j,S2j,…,Smj) =-∑m i =1Pijlog2(pij) = Va· Vblog2( ^Pi ^Pi -∑m Va· Vb i =1 2)计算 Gain(S,^A_attribute) Gain(S,^A_attribute) =I(S1,S2,…,Sm) -E(S,^A_attribute) ) 。 ^Pi。 其中 I(s1,s2,…,sm)不用联合,一方可以单独完成这部分的计 算。 将1)计算出的熵的值代入此式即可求出信息增益的值。 将上式计算出的信息增益的值代入此式即可求出信息增 3)计算 GainRatio(S,^A_attribute) GainRatio(S,^A_attribute) =Gain(S,^A_attribute) SplitI(S,^A_attribute) j =1Pjlog2(pj)且 Pj =Va· Vb|S|,|S|=∑m 其中 SplitI(S,^A_attribute) =-∑v 益比例的值。 重复上面的计算过程直到求出此节点所有属性 的信息增益比例值,选取值最大的属性分裂节点,循环直到决 策树构造完成。 2畅2畅2 数据集水平划分的最佳分裂属性的确定方法 假设|Sa(Ci) |表示当前节点取自 Sa 的属于类 i 的记录 数,|Sb(Ci) |表示当前节点取自 Sb 的属于 类 i 的 记录数; |Sa(attrj,Ci)|表示当前节点取自 Sa 的属性值等于 j 的分支中 属于类 i 的记录数,|Sb(attrj,Ci) |表示当前节点取自 Sb 的属 性值等于 j 的分支中属于类 i 的记录数。 i =1 Sum(∑m 1)计算期望信息 I(s1,s2,…,sm) I(s1,s2,…,sm) =-∑m 其中 pi = Sum(|Sa(Ci)|,|Sb(Ci)|) i =1|Sb(Ci)|)。 i =1pilog2(pi) i =1|Sa(Ci)|,∑m 2)计算熵 E(S,^A_attribute) s1j +s2j +… +smj E(S,^A_attribute) =-∑v j =1 I(s1j,s2j,…,smj) =-∑v j =1PjI(s1j,s2j,…,smj) i =1|Sb(attrj,Ci) |) i =1|Sa(attrj,Ci) |,∑m Sum(∑m i =1|Sa(Ci) |,∑m i =1|Sb(Ci) |) 其中:①Pj =Sum(∑m s ;
计 算 机 应 用 研 究   ·2703· ② I ( s1j, s2j, …, smj ) = - ∑m Sum( |Sa(attr,Ci) |,|Sb(attrj,Ci) |) ; Sum(∑m i =1|Sa(attrj,Ci) |,∑m i =1|Sb(attrj,Ci)) 3)计算信息增益 Gain(S,^A_ attribute) Gain(S,^A_attribute) =I(s1,s2,…,sm) =-E(S,^A_attribute) i =1 pij log2 ( pij ) pij = 将上面两个公式计算得出的值代入此公式即可求得信息 第 27 卷 增益的值4)计算信息增益比例 GainRatio(S,^A_attribute) GainRatio(A) =Gain(S,^A_attribute) SplitI(S,^A_attribute) 其中:SplitI(S,^A_attribute) =-∑v j =1pjlog2(pj) 且 Pj =Sum(∑m i =1|Sa(attrj,Ci)|,∑m i =1|Sb(attrj,Ci)|) Sum(∑m i =1|Sa(Ci)|,∑m i =1|Sb(Ci)|) 数据集垂直分布时,应用标量积协议 [5] 议 [6] 协议 即可求出的 Va· Vb 值,并且 Va· Vb 的结果被分为两部分 xa 和 xb,即 Va· Vb = xa +xb,A 保管 xa,B 保管 xb,这样可保证 A 无法知道 Vb 的内容, B 无法知道 Va 的内容,从而保护了各自的隐私。 应用 x ln(x) 可得 ln(xa +xb) =ua +ub,ua、ub 分别由 A、B 保管,所以 (xa +xb)ln(xa +xb) =( xa +xb)( ua +ub) =xaua +xbub + xbua +xaub。 其中 xbua 的计算结果分为两部分 ya 和 yb,分别由 A、B 各自保管,同理,xaub 的计算结果也分为两部分 wa 和 wb, 分别由 A、B 各自保管。 A 可以计算 Za =xaua +ya +wa,B 可以 计算 Zb =xbub +yb +wb,则(xa +xb)ln(xa +xb) =Za +Zb,结果 仍是分为两部分 Za 和 Zb,分别由 A、B 各自保管,从而保护了 各自的 隐 私。 同 理, 数 据 集 水 平 分 布 时, 先 应 用 安 全 和 协 [7],然后再应用 xln(x) 协议即可实现双方的隐私保护。 3 隐私保护程度的度量方法 出的程度。 现有的隐私度量一般用“ 披露风险”(disclosure risk)[8] 来描述,披露风险表示攻击者根据所发布的数据和其 他背景知识(background knowledge),可能披露隐私的概率。 披 露风险只给出了隐私度量的定性说明,没有给出一个定量计算 方法。 因此,本文提出了一种决策树分类挖掘隐私保护程度的 度量方法: 隐私保护程度是指防止原始数据或其隐含的知识被推导 隐私保护程度 =PPC4.5 算法获得的分类规则数倡 Wppc4.5 /C4.5 获得的分类规则数倡Wc4.5 其中:将决策树的叶子节点数定义为获得的分类规则数;分类 正确率指正确分类的记录数占总的记录数的比率,那么权重 Wppc4.5 指PPC4.5 算法的分类正确率,权重 Wc4.5 指C4.5 算法的 分类正确率。 4 实验结果分析 本文在 Weka 平台上封装实现了隐私保护的 PPC4.5 算 法,如图1 所示。 为了验证算法的可行性,这里选取了 Weka 自带的2 个数据集(soybean 和 iris) 和 UCI 机器学习数据库 的 3 个数据集(adult、car 和 credit) 进行了实验验证。 实 [9] 验结果如图2 ~4 所示。 图2 是 PPC4.5 和 C4.5 算法的分类正确率的对比。 中 图3 是对于5 个不同的数据集 PPC4.5 和 C4.5 算法获得 图4 显示了PPC4.5 算法对不同数据集的隐私保护程度,根 的规则数的比较。 据隐私保护程度的计算公式和图2、3 的数据可以得到图4。 本实验采用10 次交叉验证法验证生成决策树的分类精 度。 将本文提出的隐私保护分布式决策树分类算法的分类准 确率与传统算法对比可以看出,该算法的分类准确程度较传统 算法有所下降,但是下降在6%之内,仍然可以接受,隐私保护 程度在最差的情况下也可以达到76%以上。 由实验结果可以 看出,本文提出的算法较好地保护了原始数据不泄露,同时保 持了较高的分类精度。 5 结束语 详细介绍了最佳分裂节点的确定方法和信息增益比例的计算 文将密码学中的安全多方计算方法与数据挖掘方法相结合设 现有的一些数据挖掘算法并没有考虑到数据隐私问题,本 计实现了具有隐私保护功能的分布式 C4.5 决策树分类算法, 方法,同时提出了一种决策树挖掘隐私保护程度的度量方法。 本文只考虑了对隐私数据的隐藏,但未涉及规则的隐藏,并且 未考虑隐私保护的个性化需求,对规则的隐私保护以及个性化 隐私保护将是未来进一步研究的内容。 参考文献: [1] AGRAWAL R, SRIKANT R.Privacy唱preserving data mining[C] // Proc of ACM SIGMOD on Management of Data.2000:439唱450. [2] LINDELL Y, PINKAS B.Privacy preserving data mining [J].Jour唱 nal of Cryptology,2002(15):177唱206. [3] QUINLAN R J.C4.5: Programs for machine learning[M].San Ma唱 teo, CA: Morgan Kaufmann Publisher,1993. [4] YAO A C.Protocols for secure computations[C] //Proc of the 23rd Annual IEEE Symposium on Foundations of Computer Science.1982. [5] DU Wen唱liang,ZHAN Zhi唱jun.Building decision tree classifier on pri唱 vate data[C] //Proc of IEEE International Conference on Data Mining Workshop on Privacy, Security and Data Mining.Maebashi City: Aus唱 tralian Computer Society,Inc,2002. [6] PINKAS B, LABS H P.Cryptographic techniques for privacy preser唱 ving data mining [J].SIGKDD Explorations,2002,4(2):12唱19. [7] 杨林,张霞萍,白治国,等.基于 SMC 协议的分布式聚类分析隐私 保护的研究[J].计算机工程与设计,2008,29(21):5424唱5426. [8] 周水庚,李丰,陶宇飞,等.面向数据库应用的隐私保护研究综述 [J].计算机学报, 2009, 32(5):847唱861. [9] UCI.Machine learning repository[EB/OL].http://archive.ics.uci. edu/ml/datasets.html.
分享到:
收藏