张爱英,裴道武
(浙江理工大学信息学院,杭州310018)
基于贴近度的疾病诊断模糊专家系统
张爱英,裴道武
(浙江理工大学信息学院,杭州310018)
简述模糊专家系统的模糊推理机制,并采用贴近度推理方法代替常用的Mamdani模糊推理。针对医学中疾病发生的严重程度,运用Visual C++作为系统的开发平台,建立疾病诊断模糊专家系统。结果表明:构建的疾病诊断模糊专家系统能够实现对几种常见疾病的自动诊断。
模糊推理;Mamdani模糊推理;贴近度;模糊专家系统;疾病诊断
现实世界中大多数问题不像经典数学和物理学等学科那样具有严密性和精确性,它们往往是不精确、非完全和模糊的,具有一定程度的不确定性,而专家系统就是让计算机模仿人类专家去处理这些不确定性问题,它已成为人工智能领域最活跃的研究方向之一。
模糊专家系统是专家系统中的一种,是由输入输出模块、知识库、模糊推理机和系统解释模块组成,其中知识表示和模糊推理是模糊专家系统的重点。本文主要是对模糊推理方法进行研究,使专家系统能够更接近于人类专家解决问题的思路,以得到更好的结论。
模糊专家系统广泛使用了Zadeh提出的合成推理方法(简称为CR方法)[1],随后很多学者提出了不同蕴涵算子下的模糊推理,但文献中报告的模糊专家系统多数采用了Mamdani蕴涵作为模糊蕴涵算子。因此,CRI方法也叫Mamdani模糊推理[2]。CRI方法存在一些不足,如:合成运算缺乏合理的逻辑含义、不具有还原性、缺乏灵活性和可调性等。近年来,文献中提出了一些新的模糊推理方法,如:匹配度最大优先法[3]、权值法[3]、ECRI[4]等。有的学者从模糊规则的前提与模糊输入间的匹配度是否大于事先设定的阈值来决定是否使用这条规则来进行推理。这类推理方法主要有语义距离方法,其中使用了Hamming距离或Euclid距离等[5]、相似度方法[6-7]、贴近度方法[8]等。
模糊专家系统应用领域非常广泛,例如,商务管理[9]、新产品定价[10]等。它们用到的推理方法一般都是Mamdani模糊推理。现在对推理方法在理论层面的研究已经比较成熟,但是用这些新的模糊推理方法构建模糊专家系统的文献却不多。本文基于贴近度推理方法构建模糊专家系统,对疾病症状发生的严重程度进行定量分析,以实现对几种常见疾病的自动诊断。
模糊专家系统是在特定领域中集成该领域专家的知识而形成的计算机系统,用于解决原本由人类专家解决的问题。模糊专家系统主要由输入输出接口、解释器、知识库、推理机组成,如图1所示。
输入输出模块是用于接收用户输入信息,向用户提出或回答问题,输出系统的结果及对系统的运行做出解释。模糊事实库是用于存储知识和经验的,它里面的知识和经验是通过专家获得的,它主要是把专家的知识和经验用知识表示的方法表述并存储到这个事实库中。模糊规则库主要是存放一些已知的IF-THEN规则。模糊推理机主要是对模糊事实库进行各种的推理和搜索,根据用户输入的信息,应用某种模糊推理来搜索模糊规则库中的规则,得出需要的结论。系统维护模块用于保证系统能够正常运行。解释模块用于告诉用户系统的推理过程,即由输入信息怎样得到输出信息的解释与说明。
图1 模糊专家系统结构图
在模糊推理机中常用的是Mamdani模糊推理。Mamdani模糊推理采用的是max-min合成算法,它主要用于解决FMP问题。
定义1[11]:设U为论域,U上的一个模糊集合A可以表示为函数
对于u∈U,函数值A(u)称为u对A的隶属度,而函数A也称为隶属函数。
下面介绍一下模糊推理的基本形式FMP,即模糊前向推理,其形式如下:
(FMP)已知A→B,且给定A*,求B*。
其中A,A*与B,B*分别是论域X与Y上的模糊集。
在实际的应用中,往往遇到的是FMP问题的更一般的表现形式,已知条件中含有多条规则,每个规则中包含多个前提,它的一般形式如下:
(MRMP)已知Ai1,…,Ain→Bi,i=1,…,m,且给定,…,求B*.
但是对模糊推理的研究大多数限于理论层面,模糊专家系统中用的模糊推理却还是经典的Mamdani推理。模糊推理方法中有一种是基于贴近度的模糊推理。
定义2[11]:考虑论域U的全体模糊集F(U)上的二元函数
σ:F(U)×F(U)→[0,1],(A,B)σ(A,B).
若σ满足下列公理:
a)σ(A,A)=1,σ(U,Ø)=0;
b)σ(A,B)=σ(B,A);
c)A⊆B⊆C⇒σ(A,C)≤σ(A,B)∧σ(B,C),则称σ为F(U)的贴近度函数,σ(A,B)称为A与B的贴近度。
常见的贴近度有以下几种:Hamming贴近度、Euclid贴近度、最大最小贴近度和算术平均贴近度等。
文献[8]提出了一种新的贴近度:
而两个模糊集向量K={k1,…km},L={l1,…lm}的贴近度定义为:
张化光等提出的贴近度计算的是它们间的差值,这样计算的结果会更精确,而且这种方法结合了模糊推理和去模糊化,在求解过程中简洁。所以本文用到的贴近度为式(1)和式(2)给出的贴近度。
专家系统现已应用到很多的领域之中,如:农业、医学、电子化工等,模糊专家系统是专家系统中的一种,也可以应用到这些领域当中。在现存的医学领域的专家系统中,大多数都是应用了Mamdani推理,本文主要是应用张化光等[8]提出的贴近度进行推理,并考虑疾病出现的程度。
在构建疾病诊断模糊专家系统时,首先确定输入的变量是人体出现不适时的症状,如头疼、发烧、腹泻、恶心等,输出变量是某种疾病的名称,如暑湿型感冒、急性肠炎、慢性肠炎等。
众所周知,人体出现不适情况的严重程度不一样,疾病就不一样。疾病严重程度的隶属函数采用正态分布,见表1,其中给出了8种模糊量词以及对应的隶属函数。为了便于计算机处理,将区间[0,1]划分为6个相等间隔的离散点,表1中模糊量词的隶属函数经离散化后的结果见表2。
表1 疾病严重程度的隶属函数
表2 离散化隶属函数
构建系统的步骤如下。
第一步:建立知识库,即为规则库。因为规则的形式是IF-THEN形式,所以在建立规则库时,对规则的前提部分和结论部分分别进行存储,这里的存储形式是数组。结论部分的元素用char*rule_result[3]{}进行存储,同理事实库也是。
第二步:运用一种模糊化的方法,把输入变量的隶属度模糊化后放在如图2数组bing[][]中已备使用,这里引用文献[3]中的方法,在下面的表1[3]和表2[3]中将给出详细的说明。
图2 隶属度存储
第三步:利用第二节提到的推理方法,即:公式(1)进行模糊推理。
第四步:用户输入症状后推理的结果和预先设定的阈值进行比较。若所得结果大于给定阈值,则规则被激发同时放入临时存储器,以备使用,反之与下条规则进行推理。最后对所有的结果进行析取运算,输出对应结果的规则的结论部分。系统的流程如图3所示。
图3 推理流程
第五步:搭建人机界面,利用软件中resource选项卡中的Dialog选项建立所需人机界面,如图4。在ClassView选项卡中把构建的知识库,推理机制的代码加载到相应函数中。
构建的模糊专家系统的初始界面如图5所示。
通过这个模糊专家系统,用户可以根据自己的实际情况选择信息,单击分析按钮时,系统就会根据模糊推理与规则库中的每条规则进行比较,得出的结果进行析取运算,得出最大的那条规则。因为在建立规则库时定义每条规则的阈值大于0.6时,规则被激发。所以当规则被激发且分析出当结果最大值时,系统就会输出这条规则的结论部分,也就是所得的疾病,如图6所示。当规则不被激发,系统会自动弹出一个界面告诉用户,系统不能诊断其所得的疾病,如图7所示。
图4 人机界面
图5 初始界面
图6 正确诊断界面
日常生活中,人们会患不同的疾病,例如假期中,有位同学突然出现发烧、呕吐和腹泻的情况,根据询问他出现症状的不同程度,用构建的系统进行诊断。他出现症状的情况依次为比较严重、严重和很严重,根据系统的诊断为急性肠炎如图8所示。
通过他出现的症状查阅医书,可以得知他得急性肠炎的概率很大,后来,他到医院就诊,医生询问之后得出,由于吃的食物不干净得了急性肠炎。
经过实际病例的实际诊断可以看出,这个系统可以得到令人满意的诊断结论。由于系统中疾病规则还不完善,系统实用性的验证还不是很完善,随着规则库的完善,这将得到更好的证明。
图7 不能正确诊断界面
图8 急性肠炎
随着技术的不断进步,专家系统和模糊专家系统已经得到了快速的发展。本文对其发展进行了简要的概述,对模糊专家系统中已存在的模糊推理进行了替换,即:用基于贴近度的模糊推理替代原有的Mamdani模糊推理,构建了相应的模糊专家系统。
值得指出的是,本文构建的模糊专家系统适用于人们日常生活中出现的集中常见疾病的诊断。用这个系统进行诊断时,用户只需要按自己出现状况做出相应的选择即可。需要强调的是,本文构建的模糊专家系统只是疾病自动诊断模糊专家系统的雏形,其中所含的疾病种类与临床症状的数据均不够全,尚不能满足实际疾病自动诊断的需要。另外,这个系统诊断的结果可以通过修正函数(例如:模糊强度增加、模糊强度降低等)对其进行修改使结果更贴近实际,也没有与其他诊断方法得到的结果进行比较。针对这些问题还需展开深入研究,以期完善这个诊断系统。
[1]王国俊.非经典数理逻辑与近似推理[M].北京:科学出版社,2008:82-107.
[2]Yen V C.Rule selections in fuzzy expert systems[J].Expert Systems with Applications,1999,16(1):79-84.
[3]杨 蓓,缑西梅,艾 艳.专家系统中的模糊知识表示及推理研究[J].郑州大学学报:理学版,2004,36(2):31-33.
[4]汪德宁,孙即祥,毛 玲,等.一种新的模糊推理方法:ECRI[J].模糊系统与数学,2005,19(3):19-23.
[5]权双燕.模糊集之间的距离测度[J].计算机工程与应用.2008,44(26):65-67.
[6]Yeng D S,Tsang E C C.A comparative study on similarity-based fuzzy reasoning methods[J].IEEE Transactions on Systems Man and Cybernetics,1997,27(2):216-227.
[7]Turksen IB,Zhao Z.An approximate analogical reasoning approach based on similarity measure[J].IEEE Transactions on Systems Man and Cybernetics,1988,18(6):1049-1056.
[8]张化光,陈米久.考虑两种不确定性的模糊决策方法[J].中国科学:A辑,1991,21(7):776-784.
[9]Arias-Aranda D,Casrro J L,Nararro M,et al.A fuzzy expert system for business management[J].Expert Systems with Applications,2010,37:7570-7580.
[10]Haji A,Assadi M.Fuzzy expert systems and challenge of new product pricing[J].Computer&Industrial Engineering,2009,56:616-630.
[11]陈水利,李敬功,王向公.模糊集理论及其应用[M].北京:科学出版社,2005:161-170.
Disease Diagnosis Fuzzy Expert System Based on CIose Degree
ZHANGAi-ying,PEI Dao-wu
(The School of Information Science and Technology,Zhejiang Sci-Tech University,Hangzhou 310018,China)
This paper briefly describes fuzzy inference mechanism of fuzzy expert system and replaces common Mamdani fuzzy inference with close degree inference method.Aiming at the severity degree of the disease,this paper applies Visual C++as the development platform of the system to establish disease diagnosis fuzzy expert system.The results show that:the disease diagnosis fuzzy expert system can automatically diagnose several common diseases.
fuzzy inference;Mamdani fuzzy inference;close degree;fuzzy expert system;disease diagnosis
TP182;R44
A
(责任编辑:陈和榜)
1673-3851(2014)02-0206-05
2013-05-24
国家自然科学基金项目(11171308)
张爱英(1988-),女,山东临沂人,硕士研究生,主要从事计算机视觉与模式识方面的研究。