基于模糊算法的专家系统.docx
《基于模糊算法的专家系统.docx》由会员分享,可在线阅读,更多相关《基于模糊算法的专家系统.docx(17页珍藏版)》请在冰点文库上搜索。
基于模糊算法的专家系统
2.2基于模糊算法的专家系统
2.1.1模糊数学概述
1、模糊数学的定义
•处理现实对象的数学模型
–确定性数学模型:
确定性或固定性,对象间有必然联系.
–随机性数学模型:
对象具有或然性或随机性
–模糊性数学模型:
对象及其关系均具有模糊性.
•随机性与模糊性的区别
–随机性:
指事件出现某种结果的机会.
–模糊性指存在于现实中的不分明现象.
•模糊数学:
研究模糊现象的定量处理方法.
模糊概念用数学语言来说就是模糊集合。
模糊集合的基本思想是把经典集合中的绝对隶属关系灵活化,用特征函数的语言来讲就是;元素对“集合”的隶属度不再是局限于取0或1,而是可以取从0到1的任一数值。
✧映射:
在两个集合X、Y之间,如果有一个法则f,使得对X种的每个元素x,在Y中都有唯一元素y与之对应,则称f是X到Y的映射。
给定非空集合x与非空集合y.我们把记号
称做从X到Y的映射,所谓映射实质上是函数概念的推广,它的意思是指,对每个x∈X都存在着唯一确定的元素y=f(x)∈Y与之对应.
✧模糊子集:
设给定论域U和一个资格函数把U中间每个元素x和区间[0,1]中的一个数μA(x)结合起来。
μA(x)表示x在A中的资格的等级。
此处的A我们就说是U的一个模糊子集。
此处的μA(x)相当于CA(x),不过其取值不仅是0和1,而是扩展到[0,1]中的任一数值。
一般也称模糊子集为模糊集,而经典集合是模糊集的特例。
✧隶属函数
设给定论域U,U在闭区间[0,1]中的任一映射μA
可确定U的一个模糊子集A
μA(x)称为A的隶属函数,μA(xi)称为元素xi的隶属度。
当μA(xi)=1时,则xi完全属于模糊集集A,当μA(xi)=0则xi完全不属于模糊集A.μA(xi)越接近于1,xi属于A的程度就越大.
例1已知论域为实数集R,设A是“比0大得多的所有实数”,A就是论域R上的一个Fuzzy集,且:
A:
R→[0,1],x∈R关于A的隶属度为:
0x≤0
A(x)=
1/(1+(100/x2))x>0
例2“年轻”和“年老”是两个模糊概念,可用Fuzzy集来描述它们。
取年龄论城U=[0,200],设描述“年轻”和“年老”的这两个Fuzzy集分别为Y和O,年龄u属于Y及O的隶属度分别为:
Y(23)=l,O(80)=0.97;这意味着23岁属于“年轻”的程度为100%,80岁属年老”的程度为97%.
2、确定隶属函数的主要方法
确定隶属函数的方法主要有三种:
第一种,根据主观认识或个人经验,给出隶属度的具体数值。
这时的论域元素多半是离散的。
这里,取论域式右端各项的“分母”部分表示论域U的组成元素,“分子”部分表示元素符合“n个”这一概念的程度。
按定义,隶属度都在闭区间[0,1]内取值。
上式是凭经验认识写出来的,因为一般说“n”个总是意味着5个或6个,所以它们的隶属度是1,取多或取少都会远离“n个”一词的含意,因而隶属度要下降。
当然,这都是在U的前提下定出来的,否则,隶属度的取法也要变。
例如:
针麻手术规定无痛
(一)、轻痛(十)、中痛(十十)、剧痛(十十十)4级,可以据此定出手术A的隶属函数。
第二种,根据问题的性质,选用某些典型函数作为隶属函数。
这时的论域元素多半是连续的。
常用的如正态型、戒上型、戒下型等。
当论域为实数集R时,常用下面三种标准函数作为Fuzzy集的隶属函数.
(1)S函数(偏大型隶属函数)
对于指定的参数a,b,S(u;a,b)是u的单调递增连续函数,例如模糊集“年老”的隶属函数可表示为:
A(u)=S(u;50,70)
(2)Z函数(偏小型隶属函数)
Z(u;a,b)=1-S(u;a,b)
对于指定的参数a,b来说,Z(u;a,b)是u的单调递减函数。
(3)H函数(中间型隶属函数)
对于指定的参数a,b来说,H(u;a,b)是u的连续函数。
且H(b;a,b)=1;当u≤b,H(u;a,b)单调递增;当u≥b时,H(u;a,b)单调递减;
第三种,模糊统计。
模糊统计与人的心理过程密切联系,它注往是通过心理测量来进行的,它研究的是事物本身的模糊性。
如果把普通数理统计比喻成“圈圈固定,点子在变”的试验,那么模糊统计则是一种“点子固定,圈圈在变”的试验。
例如:
设论域U,选定元素u0∈U,然后考虑U的一个运动着边界可变的集合A*(实际上是模糊集合),如“高个子”、“美丽”、“高产”等,它是随不同条件、不同场合、不同观点而变化的。
每一次试验可以理解为让不同观点的人评论u0是否属于“高个子”、“美丽”、“高产”这样的集合A*,于是u0属于A*的隶属频率为:
n是试验次数。
在实际中,当n足够大时,定义u0属于A*的隶属度为
两个模糊子集间的运算,实际上就是逐点对隶属度作相应的运算。
模糊集合可以转化为普通集合。
✧模糊集合的截集
在一个模糊集合中,隶属函数值大于某一水平值λ的元素所组成的集合,叫做该模糊集的λ水平集或称λ截集,记作Aλ。
λ就是水平值,0≤λ≤1,显然,水平集是普通集合。
若写成一般表达式,即
3、模糊矩阵
医学上常用“体重(kg)=身高(cm)一100”描述标准体重,这实际上给出了身高(U)与体重(V)的普通关系。
如U={140,150,160,170,180},V={40,50,60,70,80}。
但人有胖瘦,对于非标准的情况(对应于表3-3左端取0值的格子),应该描述其接近标准的程度,这就是表右端给出的模糊关系。
显然,它更深刻,更完整地结出了身高与体重的对应关系。
普通关系只能描述元素之间关系的有无。
现实世界存在着大量更为复杂的关系,元素间的关联不是简单的有和无,而是不同程序地存在。
一般用模糊矩阵来表现模糊关系,用聚类分析模糊关系。
模糊聚类分析具体步骤如下:
第一步:
首先确定Xi与Xj间的相关程度rij=μ(xi,xj),然后建立模糊相似矩阵。
第二步:
将相似短阵及改造成等价矩阵。
为此作矩阵合成运算。
当某一步出现R2K=RK时,便是一个模糊等价矩阵。
第三步:
有了等价矩阵RK,根据聚类需细分还是粗分的要求,在[0,1]中选取—个数λ,凡rij≥λ的元素变为l,否则变为0,从而达到分类的目的。
设U={u1,u2,u3,…un}为被分类对象的全体.根据对象的属性(如物理、化学等属性),用一组数据刻划每一个对象.设刻划对象ui的数据组为
ui={ui1,ui2,ui3,…uim}i=1,2,3,…,n。
㈠建立模糊矩阵:
Fuzzy聚类分析的第一步叫标定,即使用普通聚类分析中的确定相似系数的方法来建立Fuzzy相似方阵:
r11r12r13…r1n
r21r22r23…r2n
R=………
rn1rn2rn3…rnn
①计算相似系数:
计算ui与uj之间的相似系数rij的方法很多,常见的如下:
1)数量积法
2)夹角余弦法
3)相似系数法
4)绝对值倒数法
5)最小最大法
6)最小算术平均法
7)绝对值减数法
除上述方法外,还可以请有实际经验的专业人员直接对ui与uj的相似程度评分,作为rij的值.为避免片面性,也可以采用多人评分再取平均值来确定rij。
以上方法究竟选用哪一种,不能一概而论.视问题的实际情况而定。
例1:
设被分类的对象集U={u1,u2,u3,…u5},每个对象的特征数据如下.
u1=(3,2,4,6,7,4),
u2=(6,5,4,3,8,6),
u3=(9,5,7,3,2,1),
u4=(5,9,4,6,3,8),
u5=(4,6,3,7,8,4).
利用最小最大法计算;计算系数rij的值。
例2:
用专家评分法建立模糊相似矩阵
一般来说,中医专家有扎实的基础理论知识和丰富的临床经验,他们对症状与辨证论治之间的量化关系有比较明确的概念。
若某患者有腰膝酸软、盗汗、手足心热、眩晕、潮热、目干涩、舌质红、脉沉细软等症状,如果应用八纲辨证,则八纲与这些症状的模糊关系如表所示。
可得模糊矩阵如下:
如果应用脏腑辨证,则症状与脏腑辨证的模糊关系如表所示:
可得模糊矩阵如下:
② 模糊矩阵的运算
㈡改造相似矩阵为等价矩阵。
为此作矩阵合成运算,用平方法求出当某一步出现R2K=RK时,便是一个模糊等价矩阵,通过R2K。
便可对U进行分类。
例:
环境单元分类
每个环境单元包括空气、水分、土壤、作物四个要素,环境单元的污染情况由污染物在四个要素中含量的超限度来描述。
以下对五个工厂写出附近水域中的四种污染物数据
工厂u1=(5,5,3,2)工厂u2=(2,3,4,5)
工厂u3=(5,5,2,3)工厂u4=(1,5,3,1)
工厂u5=(2,4,5,l)
现在按污染物数据把五个工厂附近的水域分类。
取论域U=(u1,u2,u3,u4,u5),按绝对值减数法进行标定,建立相似关系,取c=0.1。
1当i=j
rij=
1-c∑|xik–xjk|当i≠j
得模糊相似矩阵:
使用平方法求传递闭包:
㈢聚类:
有了等价矩阵RK,根据聚类需细分还是粗分的要求,在[0,1]中选取—个数λ,凡rij≥λ的元素变为l,否则变为0,从而达到分类的目的。
当0≤λ≤0.4时,U分为一类:
{u1,u2,u3,u4,u5},即U本身。
当0.4≤λ≤0.5时,U分为二类:
{u1,u3,u4,u5},{u2}
当0.5≤λ≤0.6时,U分为三类:
{u1,u3},{u4,u5},{u2}
当0.6≤λ≤0.8时,U分为四类:
{u1,u3},{u4},{u5},{u2}
当0.8≤λ≤1时,U分为五类:
{u1},{u2},{u3},{u4},{u5}
4、模糊算法专家系统的设计实施
医生在看病时要根据病人的体温、血相以及有关的各方面症状,判定病人患的是什么病,才能对症下药。
每一种典型的病都是一种模式,因此,医生确诊病人的过程是一个模式识别的过程(医疗诊断的过程用模糊数学来描述,是从症状集S到诊断集D的映射)。
从专家经验和大量病例中总结出从S到D的模糊关系:
其模糊矩阵为
R为医疗诊断的专家系统,将R储存在计算机内,如果某一病例的症状、体征、检验结果构成一模糊子集A:
则由A与R合成的关系矩阵
就给出了该病人的诊断意见书B。
只要将A输入计算机,输出就是B。
R起转换器的作用,A·R是模糊诊断模型,是借计算机实现的。
此即模糊算法专家系统的设计。
举例:
模糊决策在中医辨证中应用
某一患者,具有腰膝酸软、盗汗、手足心热、眩晕、潮热、目干涩、舌质红、脉沉细软等症状。
根据中医八纲辨证,可得到它们的关系如模糊矩阵R2:
根据中医脏腑辨证的知识,可得矩阵R3:
应用模糊矩阵运算规则得矩阵R8:
于是可得模糊关系如下表:
对表4-14中大于相等于0.5的数值用“*”表示出来.则可以明显地看到,据脏腑辨证,该病主要涉及肝、肾两脏;据八纲辨证,则该患者主要是阴、虚,其次是里、热,所以,可综合辨证为肝肾阴虚里热证,于是便可以据此采用相应的治则及理法方药。
本节只举了脏腑辨证及八纲辨证的例子。
也可以把此方法运用到六经辨证、卫气营血辨证、三焦辨证等等。
由例题可看到,中医专家系统知识库中的知识的正确性和完备性是非常重要的。
如果在计算机中存储的知识有错误,就会得出错误的结论;如果知识库的知识不完备,很可能搜索不到相应的知识,也无法作出综合辨证。