所有提交的EM系统将被重定向到网上投稿系统.作者被要求将文章直接提交给网上投稿系统各自的日志。

预测心脏病风险的安全神经遗传方法

n.g.布瓦内斯瓦里·阿玛,k.m拉蒂,p.b拉苏布拉曼尼亚
印度泰米尔纳德邦蒂鲁奇拉帕利市斯里兰加姆市印度信息技术学院信息技术系教师
有关文章载于Pubmed谷歌学者

更多相关文章请访问国际计算机与通信工程创新研究杂志

摘要

医学诊断主要依靠医生的专业知识和经验。但在某些情况下,可能会导致错误的诊断和治疗。在本文中,提出了一个医疗诊断系统,以预测心脏疾病的风险使用安全的神经遗传方法。安全数据分类的目标是在不泄露被挖掘数据中的私人信息的情况下构建准确的分类器。本文将神经网络的学习能力和遗传算法的优化能力相结合,以便更好地进行分类。为了安全计算激活函数,采用了ElGamal格式,并对数据进行了垂直分区。在加州大学欧文分校(UCI)机器学习知识库提供的Cleveland心脏病数据集上进行了实验,验证了该分类器的有效性。

关键字

安全计算,神经网络,遗传算法,多方计算,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 表2 表3 表4

数字一览

图1
图1

参考文献


























全球科技峰会