【模糊数学】模糊逻辑,隶属度,模糊逻辑应用,模糊推理过程

本篇博客整理自我的模糊系统大作业.....这学期这门课常常缺席,90多个人选,去上课的只有十来个人,从我们下一级开始就没这门课了,哈哈,也是我研究生阶段的最后一节课了。发现很多资料都需要及时整理才能在日后查看的时候有处可寻而不是从头来过。

下一篇博客我将会讲如何用这篇博客的模糊推理过程构建一个图像边缘检测的模糊推理系统~~~

链接:https://blog.csdn.net/luolan9611/article/details/94296622

一、经典逻辑和模糊逻辑

如果想看模糊数学的数学干货讲义,强推这一PPT:Fuzzy Mathematics and Its in Technology,下载链接:

 经典逻辑(布尔逻辑)坚持所有事物(陈述)都可以用二元项(0或1,黑或白,是或否)来表达,而模糊逻辑用隶属度替代了布尔真值,允许在包含0和1之间的集合成员关系值。这些陈述表示实际上接近于日常人们的语意陈述,因为“隶属”在多数时候是部分的,非二元的,不精确的。

以星期四是周末吗?星期五是周末吗?这样的问题举个例子:

经典逻辑给出的回答:是(1)/不是(0),像下面的左图,星期五在凌晨的时候对这个问题的回答是1,所以有个阶跃。

模糊逻辑给出的回答:星期四好像不算周末吧,如果“是周末”得分为1的话,可能周四只有0.1的程度算是周末;周五算是周末的程度会高一些,虽然白天要上班但晚上就可以休息了呀,那给个0.8分好了,像下边的右图。

同样针对于常见的身高问题来说的话,身高高,身高低,不算很高,非常高,这一系列的表述不是简单的0和1能够表达的,这样的程度的概念具有一定的模糊性,因此需要模糊集,需要模糊逻辑。

模糊集:被定义为具有连续成员等级的一类对象。它的特征在于“隶属函数”或“特征函数”,隶属函数为模糊集的每个成员分配单位区间[0,1]中的隶属度,每个成员的隶属度构成了模糊集。

隶属函数(Membership functions):隶属函数完全定义了模糊集,隶属函数提供元素与模糊集的相似程度的度量(隶属度),所有模糊集中的关键问题之一是如何确定模糊隶属函数,可以

1.根据用户的经验,由用户任意选择(两个用户选择的隶属函数可能根据他们的经验,观点等而有所不同,还是拿周末的那个图为例,越临近周六周日,属于周末的程度就越高,这个具体的值跟不同地区的文化、人们的认可度、个人感觉等等相关,有人觉得周五算周末的程度为0.7,有人会觉得是0.9。)

2.或者使用机器学习方法设计(例如,人工神经网络,遗传算法等)

3.隶属函数可以采用任何形式,一些常见的有三角形,梯形,分段线性,高斯,钟形等隶属函数

隶属度:元素与模糊集的相似程度的度量,通过隶属函数得到。取值在0-1之间。

模糊运算: 常见的模糊集之间的运算:AND取小,OR取大,NOT取1-A

模糊逻辑是处理部分真实概念的布尔逻辑扩展,模糊逻辑事实上是标准布尔逻辑的超集:

第一行是布尔逻辑中的二元真值表,以模糊集的边界0和1这种极端情况进行AND.OR.NOT逻辑运算(如第二行图,AND取小,OR取大,NOT取1-A),可以发现取得的结果和布尔逻辑的结果是相同的。

用绘制的图像把二值(经典)和多值(模糊)表示一下:

 

二、隶属度不是概率

在模糊逻辑中,任何陈述的真实性都是程度问题。模糊隶属度表示在模糊定义的集合中的成员隶属关系,而不是某事件或条件的可能性。举个例子:

小明在阶梯教室401上模糊系统课程,在很多情况下,小明是否在 “在阶梯教室401中”这一集合内是完全明确的,他要么“在阶梯教室401中”要么“不在阶梯教室401中”。

但小明站在门口的时候怎么办呢?

可以被认为是“部分在阶梯教室401中”。量化这个部分的表述就会产生一个模糊集合成员关系。比如,只有他的小脚趾在阶梯教室401,我们可以说小明是0.01“在阶梯教室401中”。只要他站在了门口,概率问题是不能解决他完全的“在阶梯教室401”或“不在阶梯教室401”这一问题的。

从上可见模糊集合是基于集合的模糊来定义的而不是随机性。

三、模糊逻辑的应用

家电控制系统:洗衣机控制感知装载量和清洁剂浓度并据此调整洗涤周期等, 一个模糊逻辑洗衣机的应用: 

                         http://www.bel.utcluj.ro/dce/didactic/sln/lab_eng/5WashingMachine/html/washing_machine.html

模糊图像处理:噪声检测和移除、边缘检测、图像分割等(下一篇博客讲使用matlba模糊推理系统进行边缘检测,链接

汽车刹车控制系统、航空航天飞行器控制系统等


四、模糊推理过程——以小费推理系统为例

    以一个两输入单输出的小费推理系统为例,餐厅的服务质量10分为满分,食物质量10分为满分,根据服务质量和食物质量的打分,使用模糊推理推测应该给出多少小费?

首先,写出三条给小费的法则:

        If the service is poor or the food is rancid, then tip is cheap.

        如果服务不好或者食物变质,那么小费就很便宜。

        If the service is good, then tip is average.

        如果服务好,那么小费就是平均水平。

        If the service is excellent or the food is delicious, then tip is generous.

        如果服务很好或者食物很好吃,那么小费就很慷慨了。

假设平均小费是15% ,慷慨的小费是25% ,便宜的小费是5% 。构建的消费推理系统如下:

我们将对食物以及服务的评分(0-10)这是确定的,通过隶属函数转换为模糊集(食物的美味程度,服务的好坏程度),根据我们定义的三条评判规则,进行并行的模糊推理,然后将每个规则的结果合并起来,再去模糊化从模糊集转到确定的消费结果。

 

下面我将用PPT展示模糊推理的五个步骤:

在第一步输入变量的模糊化中,隶属函数是用户自行选择的隶属函数,在上图中,食物delicious与否有一个隶属函数,当输入为8时,得到食物是delicious的隶属度为0.7。

=========

在第二步中,同理,excellent定义了一个隶属函数,输入为3得到的隶属度为0,意为当服务评价为3时,这个服务属于excellent的程度为0。我们可以看到服务excellent的程度和食物delicious的程度在规则or下,运用了模糊逻辑运算,取了大的那个值为结果。

==========

在第三步中,我们将计算前提条件(食物好坏与服务好坏)对后件(小费多少)的影响。小费generous(定义了一个隶属函数),我们运用implication operator(蕴含算子),将前件得到的结果0.7对小费generous模糊集做一个截断,这就能够将前提的影响作用于后件。

==========

对于两个输入,并行运算三个规则条件,将每个规则经过截断后的结果进行Aggregation(聚集起来),就得到了一个总的结果,如上图所示。

==========

将Result of aggregation进行去模糊化(使用质心的方法),就可以得到最终的结果,应给的小费为16.7%。这个质心的方法相当于是找到这个图像面积下,平均分割左右面积的一条线,这条线所对应的横坐标的值就是16.7%。整个推理过程示意图如右边的所示。

===========

下一篇博客我将会讲如何用这篇博客的模糊推理过程构建一个图像边缘检测的模糊推理系统~~~链接:https://blog.csdn.net/luolan9611/article/details/94296622

本篇博客及下篇博客的PPT制作如下所示,下载链接:

===============================================================

参考文献:

是Matlab官网的哈哈 https://ww2.mathworks.cn/help/fuzzy/getting-started-with-fuzzy-logic-toolbox.html

大概先写这么多吧,去写下一篇啦,资料整理好了下载链接会一起传上来哒,可爱。

猜你喜欢

转载自blog.csdn.net/luolan9611/article/details/94285158