第六章模式识别与模糊控制.docx
《第六章模式识别与模糊控制.docx》由会员分享,可在线阅读,更多相关《第六章模式识别与模糊控制.docx(21页珍藏版)》请在冰豆网上搜索。
第六章模式识别与模糊控制
第六章模式识别与模糊控制
前几章集中讨论了模糊数学的基本理论,为加深对这些基本理论的理解,进一步讨论它们的应用背景,本章和下章将介绍模糊数学的部分典型应用。
6.1模糊模式识别
根据给定的某个模型特征来识别它所属的类型问题称为模式识别。
例如,给定一个手写字符,然后根据标准字模来辨认它;通过气象和卫星资料的分析处理,对未来天气属于何种类型作出预报等等。
换言之,模式识别是通过已知的各种模型来识别给定义对象属哪一类模型的问题。
模式识别通常采用统计方法、语言方法和模糊识别方法。
本节介绍的是模糊识别的基础。
6.1.1模糊识别基本方法
模糊识别方法主要建立在“最大隶属原则”和“择近原则”的基础之上。
因此,我们首先介绍这两个原则。
一、最大隶属原则
设给定待识别对象x0∈X,求x0应属于X中的哪个模糊集合?
最大隶属原则是种用于个体识别的方法。
最大隶属原则:
设A1,A2,…,An是论域X中的n个模糊集合——标准模型。
对于给定的待识别对象x0∈X,如果存在一个i∈{1,2,…,n},使得
Ai(x0)=Max{A1(x0),A2(x0),…,An(x0)}
则认为x0相对地隶属于Ai。
例6-1将人分为老、中、青三类,它们分别对应于三个模糊集合A1,A2,A3,其隶属函数分别为
①现有某人45岁,因A1(45)=0,A2(45)=1,A3(45)=0,故有
Max{A1(45),A2(45),A3(45)}=A2(45)
即此人应属中年人。
②当x=30岁,因A1(30)=0,A2(30)=0.5,A3(30)=0.5,故有
Max{A1(30),A2(30),A3(30)}=A2(30)=A3(30)
即对于30岁的人,即可以认为是青年人,也可以认为是中年人。
例6-2在机器自动识别染色体或白血球分类等课题中,常常将问题归结为几何形状的识别,现以三角形识别为例说明。
用三元组(A,B,C)表示一个三角形,A、B、C分别是三角形的个内角,且A≥B≥C。
则三角形集合为:
X={(A,B,C)|A+B+C=180o}
现考虑五类三角形,并将其作为模型——论域X中的五个模糊集合。
①等腰三角形模糊集合I:
隶属函数为
I(A,B,C)=1-Min{(A-B),(B-C)}/60
②直角三角形模糊集合R:
隶属函数为
R(A,B,C)=1-|A-90|/90
③等腰直角三角形模糊集合IR:
因IR=I∩R,故隶属函数为
IR(A,B,C)=Min{I(A,B,C),R(A,B,C)}
=1-Max{Min{(A-B),(B-C)}/60,|A-90|/90}
④正三角形模糊集合E:
隶属函数为
E(A,B,C)=1-|A-C|/180
⑤其它三角形模糊集合T:
因T=~(I∪E∪R)=~I∩~E∩~R,故
T(A,B,C)=Min{3(A-B),3(B-C),2|A-90|,A-C}/180
假设给定一个三角形x0=(85,50,45),计算其对各个模型的隶属度:
I(x0)=0.916
R(x0)=0.940
IR(x0)=0.916
E(x0)=0.7
T(x0)=0.05
按最大隶属原则,应判定x0近似为直角三角形。
二、择近原则
设A1,A2,…,An是论域X中的n个模糊集合。
给定待识别对象B——X中的模糊集合,求B与A1,A2,…,An中哪个模糊集合最相似?
与最大隶属原则不同,择近原则是种用于群体识别的方法。
择近原则:
设A1,A2,…,An是论域X中的n个模糊集合——标准模型,对于给定待识别对象B(X中的模糊集合),若存在k,使得
(1)σ(Ak,B)=Max{σ(A1,B),σ(A2,B),…,σ(An,B)}
其中σ(Ai,B)表示B对Ai的贴近度,则认为B与Ak最相似;
或
(2)d(Ak,B)=Min{d(A1,B),d(A2,B),…,d(An,B)}
其中d(Ai,B)表示B与Ai的距离,则认为B与Ak最相似。
例6-3设X为6个元素的集合,并设标准模型由以下模糊向量组成
A1=(1,0.8,0.5,0.4,0,0.1),
A2=(0.5,0.1,0.8,1,0.6,0),
A3=(0,1,0.2,0.7,0.5,0.8),
A4=(0.4,0,1,0.9,0.6,0.5),
A5=(0.8,0.2,0,0.5,1,0.7),
A6=(0.5,0.7,0.8,0,0.5,1)。
现给定一个待识别的模糊向量
B=(0.7,0.2,0.1,0.4,1,0.8),
问B与哪个标准模型最相似?
这里采用4.4.3中定义的第3种贴近度计算,即
σ(A,B)=
则有
σ(B,A1)=0.3333
σ(B,A2)=0.3778,
σ(B,A3)=0.4545
σ(B,A4)=0.4348
σ(B,A5)=0.8824
σ(B,A6)=0.4565
其中σ(B,A5)=0.8824的值最大,依择近原则得B与A5最相似。
6.1.2模糊模式识别应用
模糊模式识别在很多领域中都有广泛的应用,本节介绍其中的几种。
一、几何图形识别
例6-2介绍了用最大隶属原则识别三角问题,现在进一步介绍如何识别四边形和多边形问题。
正如前面所看到的那样,识别几何形状的首要工作识建立标准模型的隶属函数。
下面给出几种几何形状的隶属函数。
(1)四边形
这里用A,B,C,D表示四边形的四个内角,a、b、c、d表示四边形的四条边。
1梯形B:
B(x)=1-ρT×Min{|A+B-180o|,|B+C-180o|}/180o
其中ρT为常数通常可取1。
2矩形RE:
RE(x)=1-ρRE[(A-90o)+(B-90o)+(C-90o)+(D-90o)]/90o
其中ρRE为某一常数。
3平行四边形:
P(x)=1-ρP×Max{|A-C|,|B-D|}/180o
其中ρP为某一常数。
4菱形RH:
RH(x)=1-ρRH×Max{|a-b|,|b-c|,|c-d|,|d-a|}/s
其中ρRH为某一常数,s=a+b+c+d。
(2)多边形
设多边形的边和角分别为ai,Ai(i=1,2,…,n)。
1n边等边多边形SD:
SD(x)=1-ρSD×Max{|a1-a2|,|a2-a3|,…,|an-a1|}/s
其中ρSD为某一常数,s=
。
2n边等角多边形AG:
AG(x)=1-ρAG×Max{|A1-
|,…,|An-
}/180o
其中ρAG为某一常数。
例6-4染色体的识别。
图6-1给出了几种染色体的一般形状,它们可以作为识别染色体的标准模型。
根据这些染色体形状的共有特征,不妨我们先对其做统一的前处理,视其为类似图6-2所示的六边形(ai表示边,Ai表示角)。
从而,染色体的识别问题便转化为六边形的识别问题。
一种特殊的染色体称之为“对称染色体”,它的形状经前处理后如图6-2所示,具有a1=a2,a3=a4,A2i-1=A2i(i=1,2,3,4)。
这种染色体也可作为识别的标准模型,视其为模糊集合S,则
S(x)=1-
视图6-1中的三个标准模型为模糊集合M、MS、AC,它们的隶属函数依次为
对于任意一个染色体x,应首先进行前处理,用一组线段将其外形勾画出一个六边形,在根据边ai、角Ai计算隶属度S(x)、M(x)、SM(x)、AC(x),最后由最大隶属原则判断x属哪一类染色体。
A2A1
a2a1
A6a5A5
a3a4
A3A4
图6-1几种染色体示意图图6-2前处理后的图形
二、文字识别
任何文字的书写都有一定的规范,从而使得人们能够从少至几十个,多至数万、几十万种不同的字中将其一一识别出。
然而,在手书文字时,无论书写的如何工整,任何人都不会将一个字的结构写的分毫不差。
事实上,任何种文字的规范中也没有规定其各个文字的结构比例、笔划的粗细长短等等。
总之,在书写规范中含有极大的模糊性。
虽然这些模糊性几千年来并未对人类识别文字造成什么问题,但是,它对非智能的机器识别文字却是个极大的障碍。
近年来,研究机器识别已有了一定的进展,特别是将模糊数学引入模式识别之后,机器文字识别问题又大幅度地前进了一步。
目前发表的计算机识别手书文字的算法已有很多种,且均各具特色。
作为模糊模式识别的应用实例,例6-5介绍了一种最简单的手书文字识别方法。
例6-5首先在计算机中存放十个阿拉伯数字的标准模型。
例如图6-3a是数字6的标准字模。
它由一个5×4的点阵刻画,并且将其转化为机器可识别的0、1数据:
对于任何一个小方格,若被某一笔划覆盖,则将用1表示,否则用0表示。
依照字模点阵的结构,容易得到相应的字模矩阵。
例如对于图6-3a的数字6,其对应的字模矩阵为
假设现有一个待识别的手书如图6-3b所示。
识别时,首先应将其转化为字模矩阵B:
(a)(b)
图6-3数字6示意图
这个识别问题显然属于一种群体识别问题,与例6-3完全类似,可采用择近原则进行识别,故具体步骤这里不再赘述。
在实际应用中,为了更为精确地识别文字,通常都选用更大的字模点阵,例如9×8、16×16、24×24,甚至更大。
当然,随着字模点阵的加大,识别计算量也将大幅度地增大。
另外,对于图像识别,例如相机、指纹等,也可以采用与例6-5的原理完全相同的方法。
但由于组成图象的象素在多数情况下不会仅仅是“黑”或“白”,而可能存在不同层次的“灰”(惯称为“灰度”),所以不能只用0、1表示。
事实上,仔细考虑例6-5的识别算法可知,它的所有字模矩阵都是布尔矩阵,而择近原则正是针对模糊群体的识别。
所以在图像识别中,我们完全可以用[0,1]间的实数表示灰度,从而所得出的模型矩阵和识别对象矩阵都是模糊矩阵。
6.2模糊控制
一般的控制理论有一个基本的共性,即控制器的设计都必须建立在受控对象的精确数学模型的基础之上。
但是,在现实世界中,有许多系统极为复杂,难以建立精确的数学模型。
模糊控制理论的主要目的就是避免开精确数学模型,而通过其它方法来对系统进行控制。
6.2.1模糊控制基础
现以一个简单的例子来说明模糊控制的基本原理。
设有一个储水器K,具有可变水位x,调节阀y能够向K中注水或从K向外排水。
现需要设计一个控制器,通过调节阀y将水位稳定在零点附近。
根据操作者的经验,对水位的控制可有以下的控制策略:
(1)若x较0大的多(称为正大,记为PB),则y大量排水(称为负大,记为NB);
(2)若x较0稍大(称为正小,记为PS),则y小量排水(称为负小,记为NS);
(3)若x与0相等,则y保持不动(记为y=0);
(4)若x较0稍小(称为负小,记为NS),则y小量注水(称为正小,记为PS);
(5)若x较0小的多(称为负小,记为NB),则y大量注水(称为正大,记为PB);
根据这些,我们可以设计出描述控制规则模糊集合R。
控制规则R
观控
察模糊控制器制
量量
AB
受控对象
图6-4模糊控制器框图
图6-4给出了模糊控制器的框图。
通过某些手段对受控对象逐次进行观测取得观察量——模糊集合A,再按一定的控制规则R便可得到控制量B=A·R。
显然,控制量B也是一个模糊集合,它为控制器对当前情况的确切响应动作的确定提供了依据。
模糊控制器是对人脑所具有的模糊推理机能的模拟。
它应用模糊数学的理论,将用自然语言描述的控制策略转变为模糊控制规则,并由此构造“模糊变换器”——模糊关系R。
建立了模糊控制器后,要完成一次控制动作,只要将观测量输入模糊控制器,观测量在模糊控制器中经过模糊化、模糊变换、模糊判决之后,就能输出一个确切的系统响应,最后将其作用到受控对象上。
一般地,实现模糊控制需要三个基本步骤:
(1)模糊化;
(2)建立模糊控制规则,构造模糊变换器;
(3)模糊判决。
下面详细介绍这三个步骤。
一、模糊化
在实际控制问题中,观测值常常是确切的量,但要实现模糊控制,则应将其转化为模糊集合,故称为模糊化。
模糊化可以分为两部分进行,首先应将观测量论域中的语言值表示成为模糊集合,然后确定论域的划分。
将语言值表示成模糊集合可以主观地定义。
为了方便起见,通常将连续的论域通过划分等级的方法先离散化,然后再在此论域上定义语言值的模糊集合。
一般地,论域中的元素不宜多(最好不超过20个),语言值也以少为好,以免计算复杂化。
例如,假设在实际中“误差”的论域为X=[-6,6]将其离散化后为:
X={x|x=-6,-5,…,5,6}
用模糊集合A表示“误差”的语言变量,它有7个元素——语言值:
负大、负中、负小、零、正小、正中、正大。
A的隶属函数如表6-1所示。
表6-1语言变量隶属函数
-6
-5
-4
-3
-2
-1
0
1
2
3
4
5
6
负大
1
0.8
0.3
0.1
0
0
0
0
0
0
0
0
0
负中
0.2
0.8
1
0.8
0.2
0
0
0
0
0
0
0
0
负小
0
0
0.1
0.7
1
0.8
0.2
0
0
0
0
0
0
零
0
0
0
0
0.1
0.8
1
0.8
0.1
0
0
0
0
正小
0
0
0
0
0
0
0.2
0.7
1
0.7
0.2
0
0
正中
0
0
0
0
0
0
0
0
0.2
0.8
1
0.7
0.3
正大
0
0
0
0
0
0
0
0
0
0.1
0.3
0.8
1
由于将论域离散化,故会出现这种问题:
对于获得的某一观测量,它应当对应于哪一个语言值?
进一步说,现在遇到的问题是,必须使得论域中任何一个元素属于且仅属于一个语言值。
考虑表6-1可以加深对这个问题的理解:
根据隶属度的大小从表中我们不难看出,论域中的元素均“主要的隶属于”2~3个语言值(例如对于语言值“负大”、“负中”、和“负小”语言值的隶属度均大于零)。
这就需要我们采用某种方式使得它们能有一个确定的隶属对象,而显然这个方法就是对论域进行划分。
论域的划分有许多方法,这里介绍一种通过隶属函数曲线划分那的方法。
假设论域X上的语言变量A取5个语言值A1、A2、A3、A4、A5,其隶属函数如图6-5所示。
图中的N1、N2、N3、N4为5条曲线的交点,我们定义各交点的横坐标为划分的界点:
(-∞,x1]隶属于A1,(x1,x2]隶属于A2,(x2,x3]隶属于A3,(x3,x4]隶属于A4,(x4,∞)隶属于A5,从而得到了论域X的一个划分。
事实上,这个划分方法是很自然的:
对于论域中任意元素,选其在各语言值中隶属度最大者所在的语言值为隶属对象。
不仅观测量应当模糊化,控制量也应当模糊化。
控制量模糊化的方法与观测量完全相同,故不再赘述。
A1(x)A2(x)A3(x)A4(x)A5(x)
N1N3N4
N2
x1x20x3x4
图6-5论域的划分示意图
二、建立模糊控制规则和模糊变换器R
模糊控制规则的描述应当是含有语言值的语句。
例如
若水位“正大”,则调节阀“负大”。
若误差“负大”且误差变化“正中”,则控制量变化“正大”。
事实上,这些语句可归结为诸如以下形式的条件语句:
·若A则C
·若A且B则C
·若A则B否则C
当A、B、C为模糊集合时,以上的条件语句又称为“模糊条件语句”。
模糊变换器R的构造是通过模糊条件语句实现的。
而模糊条件语句实际上就是种模糊关系。
下面介绍几种常用的模糊条件语句的表示方法。
假设X、Y、Z为有限论域,A、Ai(i=1,2,…,n)为X中的模糊集合,B、Bi(i=1,2,…,n)为Y中的模糊集合,C为Z中的模糊集合。
(1)若A则B
R=AT·B
R(x,y)=A(x)∧B(y)
此模糊条件语句适合于单观测量、单控制量的情况。
(2)若A且B则C
R=s(D)·C
其中s(D)表示将矩阵D“拉直”为单列(见例6-7),而
D=AT·B
R(x,y,z)=A(x)∧B(y)∧C(z)
此模糊条件语句适合于双观测量、单控制量的情况。
(3)若A则B1否则B2
R=AT·B1∪~AT·B2
R(x,y)=[A(x)∧B1(y)]∨[~A(x)∧B2(y)]
此模糊条件语句适合于单观测量、单控制量的情况。
(4)若A1则B1,否则若A2则B2,…,否则若An则Bn
R=
AiT·Bi
R(x,y)=
(Ai(x)∧Bi(y))
此模糊条件语句适合于多观测量、多控制量的情况。
(5)若A1且B1则C1,否则若A2且B2则C2,…,否则若An且Bn则Cn
R=
s(Di)·CI
其中s(Di)表示将矩阵D“拉直”为单列(见例6-7),而
Di=AiT·Bi
R(x,y,z)=
Ai(x)∧Bi(y)∧Ci(z)
此模糊条件语句适合于多观测量、多控制量的情况。
以上给出的五种模糊条件语句表示方法中,前三种是基本方法,而后两种则是由它们推广而得的,称为“多段条件语句”。
不难看出,模糊条件语句“T1,否则T2,否则T3,…,否则Tn”是由基本的模糊条件语句Ti(i=1,2,…,n)通过并集运算而得的。
试问你能否表示出模糊条件语句“T1,T2,T3,…,Tn”?
下面分别给出几个基本模糊条件语句的对应关系的例子。
例6-6设X={a,b,c},Y={!
@,#},X中的模糊集合A和Y中的模糊集合B为
A={(a,1),(b,0.5),(c,0.l)}
B={(!
1),(@,0.5),(#,0.l)}
这样,模糊关系R:
“若A则B”表示为
例6-7设X={a,b},Y={!
@,#},Z={$,%},X中的模糊集合A,Y中的模糊集合B和Z中的模糊集合C为
A={(a,1),(b,0.6)}
B={(!
0.2),(@,0.7),(#,0.l)}
C={($,0.3),(%,1)}
则
这样,模糊关系R:
“若A且B则C”表示为
R=s(D)·C
例6-8设X={a,b,c},Y={!
@,#},X中的模糊集合A和Y中的模糊集合B、C为
A={(a,0.2),(b,0.4),(c,0.9)}
B={(!
0.1),(@,0.6),(#,0.3)}
C={(!
0.9),(@,0.3),(#,0.7)}
这样,模糊关系R:
“若A则B否则C”表示为
R=AT·B∪~AT·C
三、模糊判决方法
由于经模糊控制系统得到的控制量是一个模糊集合,而系统的最终响应显然必须是确定的,所以在对观测量进行了模糊变换后,还必须进行模糊判决。
可以有很多种模糊判决方法,这里仅介绍常用的几种。
(1)最大隶属原则
这是直接引用6.1.1中介绍的最大隶属原则的方法。
例如系统所得出的模糊控制量为
{(a,0.1),(b,0.2),(c,0.1),(d,0.5),(e,1),(f,0.5)}
则系统的确切响应取e。
当作为控制量的模糊集合中隶属度最大值有多个时,可能的情况有两种
·隶属度为最大值的元素为相连的若干个元素;
·隶属度为最大值的元素不相接。
对于相连的情况,在隶属函数曲线图上表现为曲线具有一个平顶,这时可取平顶中点所对应的论域中元素作为确切响应。
例如若模糊控制量为
{(a,0.1),(b,0.2),(c,0.5),(d,0.5),(e,0.5),(f,0.3)}
则系统的确切响应取d。
对于不相连的情况,最大隶属原则法失效。
最大隶属原则法的特点是能够突出主要信息,并且比较简单直观。
但因为它不考虑其它所有的次要信息,所以从这点上看此判决方法是比较粗糙的。
(2)中位数判决法
论域X中将隶属函数曲线与横坐标围成的面积平分为两部分的元素x*称为“中位数”。
将模糊控制量的模糊集合之中位数取做系统的确切响应称为“中位数判决法”。
令X={x1,x2,…,xn},B为模糊控制量,则中位数xk满足
例6-9设模糊控制量为
{(-4,0.1),(-3,0.5),(-2,0.1),(-1,0),(0,0.1),(1,0.2),(2,0.4),(3,0.5),(4,0.1)}
则由于
0.1+0.5+0.1+0.1+0.2=0.4+0.5+0.1
及0.2对应的元素为1,所以取xk=1,即选1为系统的确切响应。
不难想象,满足上面给出的中位数关系式都是些比较特殊的模糊集合,而在一般的情况下,中位数往往落在某两个元素之间。
如果原始论域是一个连续实数区间,这时我们可以借助于线性插值的方法进行处理。
例6-10设模糊控制量为
{(-4,0.1),(-3,0.5),(-2,