关键字 |
安全计算,神经网络,遗传算法,多方计算,ElGamal方案 |
介绍 |
心脏病是一类涉及心脏、血管或两者的疾病。心脏是将血液输送到身体各组织的器官。如果心脏的泵送活动变得低效,大脑和肾脏等重要器官就会受损,如果心脏停止工作,几分钟内就会死亡。世界卫生组织估计,全世界每年有1200万人死于心脏病。医学诊断是一项重要而复杂的工作,需要准确、高效地完成。该系统的自动化是非常必要的,以帮助医生更好地进行诊断和治疗。医学知识的表达、决策、模型的选择和适应是医疗系统需要考虑的问题。医学进步总是以数据分析为支撑,数据分析提高了医学专家的技术水平,建立了疾病的治疗技术。医疗诊断系统的目的是协助医生确定个别患者的风险水平。UCI机器学习存储库[22]中的心脏病数据集用于训练和测试系统。 The purpose of using this dataset is to provide a complex, real world data example where the relationships between the features are not easily discovered by casual inspection. |
在医学诊断中,描述所需系统行为的知识包含在数据集中。当数据集包含关于要设计的系统的知识时,神经网络就有了解决方案,因为它可以从数据集中训练自己。神经网络对这些应用的适用性是由它们对噪声数据的鲁棒性和以有效方式确定一般模式的能力所激发的。可以通过向网络提供新的训练数据来更新训练过的网络。使用训练数据,神经网络构建一个内部模型,将给定的数据映射到任何一个类。然后使用训练好的网络对新数据进行分类。神经网络的分类质量取决于训练数据的数量。因此,使用更多的训练数据可以提高分类性能。遗传算法是一种模仿自然遗传学原理的优化算法。它能以可接受的速度为问题找到可接受的好解决方案。 In this paper, genetic algorithm is used to optimize the weights of the neural network. |
在大多数应用程序中,会出现隐私问题,因为它们的数据被视为敏感数据。因此,传统的从数据中发现知识的方法并不适用。因此,安全的数据挖掘方法提供了在不泄露私人数据的情况下构建模型和提取模式的机会。用于知识发现的安全数据挖掘方法可以分为两类:数据扰动方法和密码方法[8][9]。数据扰动方法使用数据失真,如添加均匀噪声,目的是隐藏私有数据。密码学方法用于协同模型学习。两个或多个参与方根据安全协议贡献他们的数据以学习共享模型,该安全协议防止所贡献数据的泄露。本文提出了一种用于监督学习的密码学方法,重点研究了基于遗传的神经网络训练的隐私保护问题。各方之间提供的数据是垂直分区的,共享模型是建立在提供的数据集的联合之上的。 |
相关工作 |
许多方法被用来构造一个安全的分类器。Hai, Hussain和Xin(2008)在他们的工作中提出了基于神经学习的分类器系统,用于对数据挖掘任务[1]进行分类。Fong,Jens[20],使用ID3决策树学习算法和仅离散值属性的隐私保护方法。他们提出为C4.5和C5.0等算法以及混合离散值和连续值属性的数据挖掘方法开发应用范围。他们还提出了优化未实现样本的存储大小和从这些样本生成决策树时的处理时间。 |
Alka Gangrade, Ravindra Patel[20],在使用UTP(untrusted Third Party)的水平分区数据的决策树上应用了隐私保护数据挖掘方法。Anand Sharma和Vibha Ojha[21],应用ID3、Gain Ratio、Gini Index等算法构建决策树。Shantakumar和Kumaraswamy(2009)在他们的工作中提出了一种使用数据挖掘和人工神经网络[4][5]的智能有效的心脏病发作预测系统。 |
第一个安全多方计算(SMC)问题由Yao[6]描述。SMC允许各方以最大限度地减少披露威胁[7]解释。隐私保护数据挖掘十年来一直是一个活跃的研究领域。分布式数据挖掘中隐私保护分类的研究正在进行中。概述了隐私保护数据挖掘这一新兴的研究领域,并对隐私保护算法进行了分类、回顾和评估。讨论了各种工具以及如何使用它们来解决隐私保护数据挖掘问题[9]。Pinkas Benny[10]演示了安全分布式计算的密码学研究及其在数据挖掘中的应用。算法ID3是由Quinlan[11]首先提出的一种设计良好的自然分类解决方案。Lindell和Pinkas提出了一种安全算法,在使用SMC[12]的两方之间的水平分区数据上使用ID3构建决策树。一种ID3算法的广义隐私保护变体,用于在[12]中介绍的分布在两个或多个当事方上的垂直分区数据。 A decision tree algorithm over vertically partitioned data using secure scalar product protocol proposed in [12].A novel privacy preserving distributed decision tree learning algorithm [14], that is based on Shamir [16] and the ID3 algorithm is scalable in terms of computation and communication cost, and therefore it can be run even when there is a large number of parties involved and eliminate the need for third party and propose a new method without using third parties. |
构建决策树的算法,但是,每一方的树不包含任何属于另一方的信息[15]。这种方法的缺点是产生的类可以被恶意的一方更改。垂直分区数据上的隐私保护决策树算法,该算法基于魏芳和杨[17]提出的站点间控制权传递的思想。数据分类的主要目的是在给定每个记录的类别标签的训练数据集中,建立一个模型(即分类器)来预测记录的(分类)类别标签。分类器通常由分类规则、决策树、神经网络或可用于分类的数学公式表示。Agrawal和Srikant的工作[18]利用基于随机化的扰动方法来扰动数据。通过添加从已知分布随机抽取的噪声,对数据进行单独扰动。然后从扰动数据的重构聚合分布中学习决策树分类器。在[19]中,提出了一种基于凝结的方法。首先将数据聚为组,然后从这些聚为组生成伪数据。 |
然后在生成的合成数据而不是原始数据上完成数据挖掘任务。与上述工作相比,本文所讨论的工作是不同的,利用基于遗传的神经网络构建隐私保护分类器。神经网络的激活函数采用ElGamal格式计算,以保护分类器的私密性。利用神经网络对系统进行训练。利用遗传算法对神经网络的权值进行优化。 |
算法 |
所提出的系统框图如图1所示。该系统主要由神经网络所有者、训练引擎、优化引擎和分类引擎组成。 |
A.心脏病数据集 |
UCI机器学习存储库[22]提供的克利夫兰心脏病数据用于分析这项工作。该数据集有13个数字输入属性,即年龄、性别、胸痛类型、胆固醇、空腹血糖、静息心电图、最大心率、运动诱发心绞痛、旧峰、斜率、着色血管数量和thal。它还具有预测属性,即类标签。 |
B.神经网络所有者 |
在本文中,我们提出了一种基于垂直分割数据的保密遗传神经网络训练的两方分布式算法。我们认为有两个神经网络所有者,每个人都有自己的数据集。这两个所有者必须基于所有数据构建一个神经网络,但每一方都不会向对方透露自己的数据。在神经网络中只有一个隐藏层,隐藏节点的选择是基于试错的。 |
Elgamal是一种公钥加密方案[24],可以定义在任意循环组上。设G为素数阶q和发生器G的循环群。ElGamal方案的组成部分为密钥生成、加密和解密。 |
算法1:Elgamal Scheme |
步骤1:随机选择一个x属于Zp的值作为私钥。对应的公钥为(G,q, G, h),其中h=gx |
步骤2:对属于G的消息m进行加密,加密过程如下:随机选择属于Zp的值r。则密文构造为(C1,C2)=(gr,m.hr) |
步骤3:纯文本计算为 |
|
在本文中,我们考虑两方,每一方只持有sigmoid函数输入的一部分。这种算法使他们能够在不知道另一方输入的部分的情况下计算出函数的近似值。实际上,在这个算法中,每一方都无法探究对方的输入,但函数值仍然可以计算出来。形式上,算法的输入为甲方持有x1,乙方持有x2,函数y的输出y(x1 + x2)也是由双方随机共享。注意,双方总是可以在算法结束时交换他们的随机结果份额,这样他们就可以学习到sigmoid函数的完整值。 |
算法2:Sigmoid函数 |
步骤1:甲方生成随机数R,计算mi=y(x1+i)-R, -n
|
第二步:乙方选取E(mx2,rx2),随机化后将E(mx2,r1)送回A,其中r1=rx2+s, s只有乙方知道。 |
第三步:甲方对E(mx2,r1)进行部分解密,并将部分解密后的消息发送给B |
第四步:乙方最终解密消息得到mx2=y(x1+x2) - R,其中R只有A知道,mx2只有B知道。函数f(x)计算为,mx2+R=y(x1+x2) = f(x) |
C.训练引擎 |
用于训练网络的算法是一种改进的反向传播算法。输入层由13个节点组成,隐藏层由7个节点组成,输出层由5个节点组成。隐层节点的选择是基于试错的。神经元使用的激活函数是sigmoid函数[25]。 |
D.优化引擎 |
采用遗传算法对神经网络的权值进行优化。所提出的神经遗传方法是训练子系统和权值优化子系统的结合。提出的算法解释如下:设p、q、r分别代表输入层、隐藏层和输出层的神经元数量。Wij表示输入层节点到隐藏层节点之间顶点的权值向量。Wjk表示隐层节点到输出层节点之间顶点的权值向量。Eo表示给定数据Xo[23]的期望输出。 |
算法3:建议算法 |
步骤1:用0 ~ 1之间的随机数初始化染色体种群。 |
第二步:对于种群中的每一条染色体 |
步骤2.1:初始化均方根误差(RME)为0 |
步骤2.2:对于训练集中的每个数据Xo(x1,x2,…,xp),计算 |
步骤2.2.1:输入层神经元OiI=xi, i=1到p的输出 |
步骤2.2.2:输入隐层神经元 |
对于每个隐含层神经元hj,甲方计算Σ j<= mA Wijxj,乙方计算Σ mA< j<= mA+mB Wijxj |
步骤2.2.3:隐层神经元的输出 |
通过算法2,甲乙双方共同计算每个隐层节点hj的sigmoid函数,得到随机股hj1+hj2=f(ΣjWijxj) |
步骤2.2.4:隐藏到输出层的神经元 |
对于每个输出层节点Ok,甲方计算Ok1=Σk Wjkhj1,乙方计算Ok2=Σk Wjkhj2,则Ok=Ok1+Ok2 |
步骤2.2.5输出层神经元的输出 |
通过算法2,甲乙双方共同计算每个输出层神经元的sigmoid函数。 |
步骤2.2.6:累积误差 |
呃=犯错+根(Oko-Ako) 2 / r |
步骤2.3:计算平均误差 |
Avgerr =呃/ n |
步骤2.4:计算染色体的适合度 |
健身= 1 / avgerr |
步骤3:如果没有达到阈值 |
步骤3.1:根据适应度值选择染色体的前50% |
步骤3.2:对所选染色体进行交叉和突变,获得另外50%的染色体 |
第四步:转到第二步 |
E.分类子系统 |
利用训练好的神经网络进行分类。如果用户向分类子系统提交查询,保护隐私的神经遗传分类器将预测心脏病数据的风险。 |
仿真结果 |
UCI机器学习知识库[9]提供的克利夫兰心脏病数据集用于训练和测试医疗诊断系统。数据集分布如表1所示。在303个数据实例中,200个实例用于训练,103个实例用于测试。 |
分类器将给定的数据分类为存在心脏病或不存在心脏病。混淆矩阵包含了分类系统所做的实际分类和预测分类的信息。该方法对训练和测试数据集的分类如表2所示。表3。分别。 |
测试数据的性能度量如表4所示。分类器的准确性和精度是用真阳性、假阳性、真阴性和假阴性的值来计算的。测试集分类正确率为93.2%。 |
结论及未来工作 |
在本文中,提出了一种保护隐私的神经遗传方法来预测心脏病数据的风险。用于分析的数据集取自UCI机器学习存储库。数据集被垂直划分为两组,并分配给两个神经网络所有者,每个所有者都有自己的数据集。这两个所有者共同构建了一个神经网络,该神经网络使用基于遗传的神经网络算法进行安全训练。最后的网络用于分类。该方法的分类准确率为93.2%。 |
未来的工作有许多有趣的方面。可以对数据集进行水平划分,构建分类器。可以考虑两个以上的神经网络所有者。可以使用多个隐藏层来构造分类器。激活函数可以在每一层中变化。 |
表格一览 |
|
|
数字一览 |
|
图1 |
|
|
参考文献 |
- 大坝,H。,Hussain A.Abbass Hai and Xin Yao, “Neural – Based Learning Classifier Systems”, IEEE Transactions on Knowledge and Data Engineering, Vol.20, No.1, pp.26-39, 2008.
- Goenka, S., Prabhakaran, D., Ajay, v.s.,和Reddy, k.s.,“印度预防心血管疾病-将证据转化为行动”,《当代科学》,第97卷,第3期,第367-377页,2009。
- 陈志伟,陈志伟,“基于神经网络的智能心肌梗死预测系统研究”,中国医学研究,Vol.31, No.4, pp.642-656, 2009。
- 珊达库玛·b·帕蒂尔和库马拉斯瓦米,Y.S.,“Extraction of Significant Patterns from Heart Disease Warehouses for Heart Attack Prediction”, International Journal of Computer Science and Network Security ,Vol.9, No.2, pp.228-235, 2009.
- Andrew C. Yao,“安全计算协议”,IEEE计算机科学基础研讨会,No.23, pp. 160-164, 1982。
- 杜文亮,Mikhail J. Attalah,“安全多问题计算问题及其应用:回顾和开放问题,”技术报告CERIAS技术报告2001-51,信息保障与安全教育与研究中心,普渡大学计算机科学系,in 47906, 2001。
- Verykios, V., Bertino, E.,“隐私保护数据挖掘的最新进展”,SIGMOD, Vol.33, No.1, 2004。
- Cliffton, C., Kantarcioglu, M., Vaidya, J.,“保护隐私的分布式数据挖掘工具”,ACM SIGKDD探索通讯,Vol.4, No.2, pp.28-34, 2004。
- Benny Pinkas,“隐私保护数据挖掘的密码技术”,ACM SIGKDD探索通讯,Vol.4, No.2, pp. 12-19, 2006。
- 昆兰,j.r.,“决策树的归纳”,见:Jude W. Shavlik, Thomas G. Dietterich,(编者),机器学习中的阅读。《中国科学》,1990,1,第1卷,第81 - 106页。
- Yehuda Lindell, Benny Pinkas,“隐私保护数据挖掘”,《密码学杂志》第15卷,第3期,第177-206页,2002。
- Vaidya, J.,Clifton, C., Kantarcioglu, M., Patterson, A. S.,“垂直分区数据上的隐私保护决策树”,IFIP WG 11.3数据和应用安全工作会议,第19期,pp.139-152, 2008。
- 杜文亮,詹志军,“基于私有数据的决策树分类器构建”,《计算机工程》,第1 - 8页,2002
- 埃梅奇,F.,沙欣,吸毒过量,阿格拉瓦尔,D.,阿巴迪,A.埃尔。,“Privacy preserving decision tree learning over multiple parties,” Data & Knowledge Engineering 63, pp. 348-361, 2007.
- 沙米尔,A.,“如何分享秘密”,《ACM通讯》,第22卷,第11期,第612-613页,1979。
- 方伟伟,杨炳儒,“垂直分区数据的隐私保护决策树学习”,计算机科学与软件工程国际会议,2008。
- Agrawal, R。,and Srikant, R., “Privacy Preserving Data Mining,” ACM SIGMOD Int’l Conf. Management of Data, 2000.
- Aggarwal, c.c.,和Yu, p.s.,“隐私保护数据挖掘的一种凝结方法”,第九届国际会议,扩展数据库技术(EDBT), 2004。
- Pui K. Fong和Jens H.Weber-Jahnke,“使用未实现数据集保护隐私的决策树学习”,IEEE知识与数据工程学报,2012年2月。
- “面向多层数据库隐私保护的两层决策树分类器”,《计算机与信息技术》,2012年9月。
- Anand Sharma和Vibha Ojha,“隐私保护数据挖掘的密码学实现”,国际数据库管理系统杂志(IJDMS) Vol.2, No.3, 2010年8月。
- UCI克利夫兰心脏病数据集,可在http://archive.ics.edu/ml/datasets/Heart+Disease, 2009。
- Rajasekaran, S.,和Vijayalakshmi Pai, G.A,神经网络,模糊逻辑,遗传算法的综合和应用,Prentice Hall of India, 2007。
- ElGamal, T.,“基于离散对数的公钥密码系统和签名方案,IEEE信息理论学报,Vol. IT-31, No.4,第469-472页,1985。
- 陈志强,陈志强,陈志强,“分布式神经网络学习中保护隐私的反向传播算法”,《科学技术学报》,2012年第2卷第3期。
|