主要内容

模糊推理法

模糊推理是使用模糊逻辑将给定输入映射到输出的过程。然后,映射提供了一个可以做出决策或识别模式的基础。模糊推理的过程涉及到中所描述的所有部分隶属度函数逻辑运算,if - then规则

本节描述了模糊推理过程,并使用了来自的两个输入,一个输出,三个规则倾斜问题的例子模糊与非模糊逻辑.该问题的模糊推理系统采用服务而且食品质量作为输入,并使用以下规则计算小费百分比。

  1. 如果服务很差或者食物变质了,那么小费就很便宜。

  2. 如果服务很好,小费就一般了。

  3. 如果服务很好或者食物很美味,小费就会很慷慨。

模糊推理过程获取清晰的输入,使用模糊推理并行评估规则,组合规则结果,并产生清晰的输出。

规则的并行性是模糊逻辑系统的一个重要方面。而不是基于断点在模式之间急剧切换,逻辑从一个或另一个规则占主导地位的区域流畅地流动。

模糊推理过程有以下几个步骤。

Fuzzify输入

第一步是获取输入,并通过隶属函数确定它们属于每个适当模糊集的程度(模糊化).在Fuzzy Logic Toolbox™软件中,输入始终是受输入变量话语范围限制的清晰数值(在本例中为0到10的区间)。输出是限定语言集中的模糊隶属度(总是从0到1的区间)。输入的模糊化相当于查找表或求函数值。

这个例子建立在三个规则之上,每个规则都依赖于将输入解析为几个不同的模糊语言集:服务差、服务好、食物馊了、食物好吃,等等。在对规则进行评估之前,必须根据这些语言集对输入进行模糊化。例如,食物好吃到什么程度?下图显示了使用隶属度函数,假设餐厅的食物(从0到10分)作为语言变量“美味”的合格程度。在这种情况下,我们给食物打了8分,根据美味的图形定义,对应于µ= 0.7为了美味的会员函数。

如果食物评级为8,那么美味的隶属函数值为0.7。

通过这种方式,每个输入都模糊化了规则所需的所有合格成员函数。

应用模糊算子

在输入被模糊化之后,您可以知道每个规则的前项的每个部分被满足的程度。如果一个规则的先行项有多个部分,则应用模糊运算符来获得一个表示该规则先行项结果的数字。然后将该数字应用于输出函数。模糊运算符的输入是来自模糊化输入变量的两个或多个隶属度值。输出是一个真值。

如在逻辑运算,可以为AND操作或or操作填充任意数量的定义良好的方法。在工具箱中,支持两个内置的AND方法:金宝app最小值(最低)和刺激(产品)。还支持两个内置的OR方法:金宝app马克斯(最大)probor(概率)。概率OR法(又称代数和法)的计算公式为:

probor一个b) =一个+b-ab

除了这些内置方法外,您还可以通过编写任何函数并将其设置为您选择的方法来创建自己的AND和OR方法。有关更多信息,请参见使用自定义函数构建模糊系统

下图演示了OR运算符马克斯通过对第三条规则的先行条件进行评估,计算小费。对于给定的服务和食物评级,前项的两个元素(服务优秀和食物美味)分别产生模糊隶属度值0.0和0.7。模糊或运算符选择两个值中的最大值0.7。概率或法的结果仍然是0.7。

对于3分的服务等级和8分的食物等级,模糊化输入并应用OR模糊算子产生0.7的输出。

应用蕴涵法

在应用蕴涵方法之前,必须确定规则的权重。每条规则都有一个重量(从0到1的数字),应用于先行词给出的数字。通常,这个权重为1(本例中就是这样),因此对隐含过程没有影响。但是,您可以通过将一个规则的权重值更改为1以外的值来降低其相对于其他规则的影响。

在为每个规则分配适当的权重之后,实现隐含方法。结果是由隶属函数表示的模糊集,隶属函数适当地加权了归属于它的语言特征。结果使用与先行项(单个数字)关联的函数进行重塑。蕴涵过程的输入是由先行项给出的单个数字,输出是一个模糊集。含义是为每个规则实现的。支持两个内置方法,它们是and方法使用的相同函数:金宝app最小值(minimum),截断输出模糊集刺激(product),它对输出模糊集进行缩放。

最小蕴涵方法截断给定规则的输出模糊集。输出隶属度函数在规则先行项产生的值处被截断。

请注意

苏格诺系统总是使用产品蕴涵法。

汇总所有输出

由于决策是基于测试FIS中的所有规则,因此必须以某种方式组合规则输出。聚合是将表示每个规则的输出的模糊集组合成单个模糊集的过程。对于每个输出变量,聚合只发生一次,也就是在最后的去模糊化步骤之前。聚合过程的输入是隐含过程为每个规则返回的截断输出函数列表。聚合过程的输出是每个输出变量的一个模糊集。

只要聚合方法是可交换的,那么规则执行的顺序就不重要。支持三个内置方法。金宝app

  • 马克斯(最大)

  • probor(概率)

  • 总和(规则输出集的和)

在下面的图中,显示了所有三个规则,以显示如何将规则输出聚合到一个模糊集,该模糊集的隶属度函数为每个输出(提示)值分配权重。

通过对每个可能的输出值取最大隶属度,将三个规则的输出模糊集组合成一个模糊集。

请注意

Sugeno系统总是使用总和聚合方法。

Defuzzify

去模糊化过程的输入是聚合输出模糊集,输出是单个数字。尽管模糊性在中间步骤中有助于规则评估,但每个变量的最终期望输出通常是单个数字。然而,一个模糊集的集合包含了一个输出值的范围,因此必须去模糊化以从集合中获得单个输出值。

支持五种内置的去模糊化方法:质心、平分线、最大值的中间值(输出集最大值的平均值)、最大值中的最大金宝app值和最大值中的最小值。也许最流行的去模糊化方法是质心计算,它返回聚集模糊集下区域的中心,如下图所示。

对样本聚合输出模糊集进行质心解模糊,得到的解模糊尖端值为16.7%。

虽然总输出模糊集覆盖了从0%到30%的范围,但去模糊值在5%到25%之间。这些极限与质心相对应便宜的而且慷慨的分别为成员函数。

模糊推理图

模糊推断图是迄今为止在本节中介绍的所有较小的图的组合。它同时显示了您所检查的模糊推理过程的所有部分。信息在模糊推理图中的流动如下图所示。

模糊推理过程的图形表示

在该图中,流程从左下角的输入向上,跨越每一行,然后向下到右下角的规则输出。这个紧凑的流程同时显示了所有内容,从语言变量模糊化一直到总体输出的去模糊化。

下图为基本倾卸问题的实际全尺寸模糊推理图。使用模糊推断图,您可以了解到系统是如何运行的。例如,对于该图中的特定输入,您可以看到隐含方法是使用截断最小值函数。的马克斯函数用于模糊或运算。规则3(前面图表中最底部的一行)对输出的影响最大。有关查看模糊系统的规则推断图的详细信息,请参见用模糊逻辑设计器分析模糊系统

组合模糊推理图用于三规则基本倾侧问题

相关的话题