陈 艳,李丹丹
(池州学院机电工程学院,安徽池州 247000)
基于粗糙集和模糊推理的医疗诊断系统的研究
陈艳,李丹丹
(池州学院机电工程学院,安徽池州247000)
摘要:医学诊断系统是临床诊断辅助工具,可以帮助医学专家解决复杂的医学问题.文章提出一种粗糙集理论和模糊神经网络技术相结合进行病症诊断的方法.利用粗糙集理论对大量疾病诊断信息进行属性约简,消掉冗余属性,建立有效知识库,在此基础上构建参数合适的模糊神经网络对知识库进行诊断推理,从而降低了计算量,提高了约简效率,而且具有较高的诊断准确率,系统测试结果达到了辅助医生诊断的效果.
关键词:粗糙集;模糊推理;神经网络;医疗诊断;属性约简
医疗诊断系统能根据输入的数据来模拟医学专家对用户的疾病进行诊断,它运用人工智能知识和医学专家经验,采用适宜的知识表示形式和推理策略,为病人及时地提供咨询决策服务.医疗诊断系统的应用不仅能方便患者及时评估自己的身体状况,而且可以有效地提高医学专家的诊断技能.传统的专家系统往往需要大量的统计信息与专家经验,然而在医学诊断问题中,病例的信息常常具有不完备和不确定性,这样导致专家系统在诊断能力和适用性方面还有待改善[1-2].
粗糙集理论(Rough Sets)是一种处理不完备和不确定性知识的数据分析工具,它不需要任何数据集合之外的先验知识,只依赖于数据本身,可以从大量不完整的或有噪声的数据中挖掘出有效的知识.粗糙集的方法是在保持数据分类稳定的基础上,通过知识约简、剔除冗余属性,推理总结问题的决策规则或分类规则.粗糙集方法独特、思想新颖,该方法已经在知识发现、专家系统、数据挖掘等方面获得广泛的应用.医疗数据一般具有冗余属性且数据不完整,因此,粗糙集用于医疗数据的处理具有很强的优势.基于粗糙集的医疗诊断主要包括两步:(1)采用合适有效的属性约简方法剔除冗余属性,得到核属性;(2)利用核属性进一步分析推理,提取诊断规则.但是,当医疗数据维数较大时,采用粗糙集进行诊断规则推理时,获取有效规则是一个计算量庞大的过程,严重影响医疗诊断系统的应用.神经网络技术具有较强的鲁棒性、记忆能力和联想功能,具有较强的非线性拟合能力,并且学习规则简单.模糊推理不仅能处理模糊数据,执行模糊推理,而且具有并行计算功能和较强的空间搜索能力.模糊神经网络兼具模糊推理和神经网络的特点,由此可见采用基于粗糙集与模糊神经网络方法进行诊断推理是可行有效的.该方法先采用粗糙集对数据分析,剔除冗余属性,化简得到最小诊断规则,采用最小诊断规则建立适合的模糊神经网络模型,再利用模糊神经网络来实现高效、快速的病症诊断.
影响病症诊断的成分很多,而且成分之间具有较强的耦合性,病历数据量大,并且患者提供的症状具有模糊性,由此本文提出了基于粗糙集和模糊神经网络相结合的诊断方法.
1.1粗糙集的基本思想[3]
粗糙集描述的数据一般是多值属性集合,该集合对每个对象的属性都有一个值,该值作为其描述符号,对象、属性是表达数据知识表达系统的基本要素,属性包括条件属性和决策属性,由这些要素组成的数据体系成为信息系统或知识表达系统.粗糙集依据条件属性和决策属性的不可等价关系将对象进行分类,进而获取属性间的依赖关系,最终将条件属性和决策属性之间的对应关系提取为分类决策规则.粗糙集理论以上下近似算子度量决策类的描述精度,以近似度表示决策的分类能力,并在不改变原来知识表达系统的表达能力的条件下,剔除冗余的数据,称为属性约简,由此可推出系统分类能力的决策规则.
1.2基于条件信息熵的属性约简算法
(1)信息熵的定义
定义1一个知识表达系统S可以表示为
则属性集合 A的信息熵 H(A)定义[4]为:)表示基于A的划分的等价类Xi的概率,p(Xi)=||Xi/U.在知识表达系统中,对于已知属性A,用信息熵H(A)对数据准确分类.
(2)条件信息熵的定义
定义2一个知识表达系统S可以表示为
则属性集合Q相对于属性集合A的条件信息熵定义为:
其中ij
由条件信息熵的定义可知,
H(Q/A)=H(Q∪A)-H(A).
(3)基于信息熵的属性重要度的定义
(4)约简算法的步骤
基于条件信息熵的属性约简算法步骤:
输出的信号为:约简得到子集A.
步骤①计算已知条件属性集合C,决策属性集合D的条件信息熵
步骤②计算C相对于D的核coreD(C),并令A=coreD(C),取每个c∈C,若,则c属于核集合.
步骤④对每一个属性c∈C-A,计算其属性重要度sgf(c,A,D),选择sgf(c,A,D)值最大的属性,记作ai,令A=A∪{}ai,转向步骤③.
步骤⑤输出一个约简子集A,把A称为规则库.
基于条件信息熵的属性约简算法能客观考虑影响病症诊断的所有成分,提高诊断准确率.在利用粗糙集约简消掉冗余属性后得到规则库,下面利用模糊神经网络从大量规则库中提取出有效的诊断规则.
我们用零阶Sugeno模糊模型的网络结构来构建模糊神经网络[6],如图1所示。
图1 模糊神经网络结构
第一层为模糊化层,每个节点代表各变量的取值,利用隶属函数表示疾病典型症状,隶属函数为:).在这里隶属函数采用高斯函数,aijbij分别为中心和宽度参数,这两个参数在网络训练时进行调整,其初始值取为相应属性所属区位的中间值和宽度.其中,输入变量xi与病症的多种症状相对应,也就是条件属性,n是条件属性个数,ki是第i个条件属性的模糊集数,U(1)ij是第i个条件属性对第j个模糊集的隶属度.
第二层的每个节点和一条规则相对应,节点的输入与规则的前件对应,输出为规则的激励强度U2k= ΠμGij(k=1,2,…,m).
第三层为激励强度归一化层,每个节点对应一条规则,计算每条规则的激励强度
式中的αk为节点参数,初值可以近似为模糊规则的后件值,并在网络学习训练中调整至合适值.
在这里sr是期望输出,yr是实际输出,利用误差反传算法计算∂E/∂aij,∂E/∂bij,∂E/∂αk,然后采用LM算法调节网络参数,该算法擅长优化误差平方和,搜索速率高,且计算简便.当学习误差达到预定的最小误差范围内,表示网络学习训练结束.
3.1基于粗糙集和模糊神经网络集成的病症诊断过程
本文将基于粗糙集和模糊神经网络集成的方法对乳腺癌疾病进行诊断检验.先利用约简方法对病症数据进行属性约简,剔除冗余属性,建立病症规则库,然后利用模糊神经网络进行模糊推理,提取出决策规则,具体实施方法如下图2所示:
3.2诊断方法的步骤和方法
(1)数据预处理:病历数据具有数量大、记录形式不统一等特点,是由医学专家根据个人的书写习惯记录的病人情况,每个医学专家有自己的记录形式,因此对病历数据预处理是必要的.粗糙集处理的是离散的数据,所以这里除了对噪声数据处理外,还包括连续数据的离散化,将知识表达系统里的数据转换成容易处理的形式,为属性约简做准备.连续数据离散化后的空间维数尽量小,且离散后的信息丢失要最小,这需要借助医学专家经验进行处理.例如对体温的离散化处理:体温正常(36.6-38.5°C),中度发烧(38.5-39°C),高烧(39-40.6°C).噪声数据依据专家经验可以直接删除.
(3)模糊神经网络处理时包括三步.
①事实模糊化:输入病历的各个属性值(事实),将输入的事实进行模糊化,即数据离散化.一般使用隶属度函数表示症状属性.例如咳嗽程度,不咳嗽用0表示,微咳用1表示,咳嗽严重用2表示.
②模糊推理:采用模糊神经网络提取有效规则.这一步处理时要保证模糊规则的一致性[7].相互矛盾的模糊规则无法保证规则的准确性,在模糊推理时要确保规则的一致性.
图2 病症诊断过程
③去模糊化:将模糊推理的输出值作为去模糊的输入,输出结果代表患病的可信度,输出结果大小代表是否患病的可能性,将输出结果与是否患病阈值比较,若大于阈值则系统会推理诊断该对象为患病.
本文仿真实验使用的乳腺癌实验数据来美国UCI机器学习病例数据库,从中任意选择400个样本作为训练样本,从剩余数据中选取200个样本作为测试样本.采用3.2中的基于粗糙集和模糊神经网络相集成的方法进行诊断.UCI乳腺癌数据表1、2所示.
表1 乳腺癌属性表
表2 乳腺癌部分初始数据
乳腺癌数据样本中包含9个属性,对于医学诊断而言,数据存在冗余属性,因此可以利用本文1.2中粗糙集的属性约简算法剔除掉冗余属性,样本经过约简后保留的属性是C1、C3、C4、C6、C9,由此可见,使用粗糙集进行属性约简,可以消掉冗余属性,从而使后续模糊神经网络结构的复杂度大大降低.
在这里采用有导师的训练方法,采用性能函数MSE进行评价,如图3所示,该算法在迭代8000步之后,误差在2%以下.应用本文实验方法对测试样本进行测试,本系统测试结果表明该系统能满足智能诊断的要求,具有一定的诊断准确率,在临床诊断中能为医疗专家起到辅助诊断作用.
图3 网络训练误差曲线图
通过本实验说明粗糙集理论与模糊神经网络相结合能有效进行病症诊断,通过粗糙集的属性约简算法剔除冗余属性,降低了数据的复杂度,而模糊神经网络可以模拟医疗专家在临床诊断时运用主观经验和模糊推理功能给出诊断结果.该集成模型不仅提高了识别速度,又可以较准确地描述了医学诊断所面临的复杂因素.通过大量实验发现,疾病症状的属性在进行模糊化处理时需要依靠专家经验不断改善,使之尽可能地符合实际情况,有助于提高系统的识别性能.
[参考文献]
[1]王楠,方成.粗糙集理论在变压器故障诊断中的应用[J].华北电力大学学报,2003,30(4):124-126.
[2]TsUMOTO S.Automated extraction of medical expert system rules from clinical databases based on rough set theory[J]. Information Sciences,1998(112):67-84.
[3]PAWLAK Z.Rough Sets,Theoretical Aspects of Reasoning about Data[M].Kluwer Academic Publisher,Dordrecht,Netherlands:1991.
[4]吴子特,叶东毅.一种可伸缩的快速属性约简算法[J].模式识别与人工智能.2009,22(2):234-239.
[5]王国胤,于洪,杨大春.基于条件信息熵的决策表约简[J].计算机学报,2002,25(7):759-766.
[6]束志恒,陈德钊,张肃宇.粗糙集与模糊推理相集成的过程建模方法及其应用[J].化工自动化及仪表,2006,33 (2):29-32.
(责任编辑:李洁坤)
中图分类号:TP391.7
文献标识码:A
文章编号:2096-2126(2016)03-0149-05
[收稿日期]2016-04-16
[基金项目]安徽高校自然科学研究重点项目(KJ2015A272);池州学院院级自然学科重点项目(2014ZRZ006)。
[作者简介]陈艳(1982—),女,湖北枣阳人,讲师,研究方向:智能计算、信号处理。
Research on Medical Diagnosis System Based on Rough Set And Fuzzy Reasoning
CHEN Yan,LI Dandan
(School of Mechanical and Electrical Engineering,Chizhou University,Chizhou,Anhui,247000 China)
Abstract:The medical diagnosis system which is a clinical diagnosis assistant tool can help medical experts to solve the complicated medical problems.This paper presents a method which combines rough set theory and fuzzy neural network technology to diagnose the dis⁃ease.Rough set theory is used to eliminate the redundant attributes of a large number of diagnostic information,and it establishes effective knowledge base.On this basis,it constructs the appropriate parameters of the fuzzy neural network of the knowledge to diagnostic reason⁃ing diseases.It can reduce the amount of calculation,improve the efficiency of the reduction.And it has higher diagnostic accuracy.Sys⁃tem test results to assist doctors to diagnose the effect.
Key words:rough sets;fuzzy inference;neural network;medical diagnosis;attribute reduction