主要内容

优化模糊推理系统

复杂模糊推理系统(FIS)具有大量的输入和隶属函数(MF),由于MF的参数和规则较多,设计是一个具有挑战性的问题。要设计这样的FIS,可以使用数据驱动的方法来学习规则和调优FIS参数。要调优模糊系统,请使用tunefis函数并配置调优过程tunefisOptions对象。

使用Fuzzy Logic Toolbox™软件,您可以调优1型和2型FIS以及FIS树。有关示例,请参见用2型FIS预测混沌时间序列而且调整FIS树的汽油里程预测

在训练过程中,优化算法生成候选FIS参数集。模糊系统根据每个参数集进行更新,然后利用输入的训练数据进行评估。

如果您有输入/输出训练数据,每个解决方案的成本是基于模糊系统的输出和训练数据的期望输出值之间的差来计算的。有关使用此方法的示例,请参见调Mamdani模糊推理系统

通过将模糊系统的输出与训练数据的期望输出进行比较,计算给定参数集的代价。

如果您没有输入/输出训练数据,您可以指定一个自定义模型和成本函数来评估候选FIS参数集。成本度量函数向模糊系统发送一个输入,并接收评估的输出。成本是基于评估输出和模型预期输出之间的差值。有关使用此方法的更多信息和示例,请参见利用自定义代价函数优化模糊机器人避障系统

定制成本函数通过将模糊系统的输出与定制模型计算的输出进行比较来计算给定参数集的成本。

有关优化模糊系统的更多信息,请参见以下示例。

调优方法

控件支持的调优方法如下表所示万博1manbetxtunefis函数。这些优化方法可以找到最优的FIS参数

方法 描述 更多的信息
遗传算法 基于种群的全局优化方法,通过种群成员之间的突变和交叉进行随机搜索 什么是遗传算法?(全局优化工具箱)
粒子群优化 基于群体的全局优化方法,其中群体成员在搜索区域内步进 什么是粒子群优化?(全局优化工具箱)
模式搜索 直接搜索局部优化方法,即搜索当前点附近的一组点来寻找新的最优点 什么是直接搜索?(全局优化工具箱)
模拟退火 一种模拟加热和冷却过程,在当前点附近寻找新的最优点的局部优化方法 什么是模拟退火?(全局优化工具箱)
自适应神经模糊推理 调整隶属函数参数的反向传播算法。或者,您也可以使用简称anfis函数。 神经自适应学习和ANFIS

前四种调优方法需要全局优化工具箱软件

全局优化方法,如遗传算法和粒子群优化,在大参数调谐范围内表现更好。这些算法在FIS优化的规则学习和参数调优阶段都很有用。

另一方面,模式搜索和模拟退火等局部搜索方法对较小的参数范围具有更好的性能。如果FIS是由训练数据生成的genfis或者已经使用训练数据在FIS中添加了一个规则库,那么这些算法与全局优化方法相比可以产生更快的收敛。

防止调谐系统过拟合

数据过拟合是FIS参数优化中的一个常见问题。当发生过拟合时,调优的FIS对训练数据集产生最优结果,但对测试数据集表现较差。为了克服数据过拟合问题,可以根据使用单独验证数据集的模型的无偏评估提前停止调优过程。

调优时使用tunefis函数,可以使用k-fold交叉验证防止过拟合。有关更多信息和示例,请参见用k-Fold交叉验证优化FIS参数

改善调优结果

要提高调优模糊系统的性能,请考虑以下指导方针。

  • 在调优过程中使用多个阶段。例如,首先学习模糊系统的规则,然后使用学习到的规则库调优输入/输出MF参数。

  • 增加规则学习和参数调优阶段的迭代次数。这样做会增加优化过程的持续时间,还会增加验证误差,因为训练数据会导致系统参数过调。为了避免过拟合,请使用k-fold交叉验证来训练系统。

  • 更改所使用的群集技术genfis.根据聚类技术的不同,生成的规则对训练数据的表示可能不同。因此,使用不同的聚类技术会影响的性能tunefis

  • 更改FIS属性。尝试更改一些属性,例如FIS的类型、输入的数量、输入/输出MF的数量、MF类型和规则的数量。Sugeno系统具有更少的输出MF参数(假设MF恒定)和更快的去模糊化。因此,对于有大量输入的模糊系统,Sugeno FIS通常比Mamdani FIS收敛得更快。少量的mf和规则减少了要调优的参数数量,从而产生了更快的调优过程。此外,大量的规则可能会对训练数据进行过拟合。

  • 修改mf和规则的可调参数设置。例如,您可以调优三角形MF的支持,而不改变其峰值位置。万博1manbetx这样做可以减少可调参数的数量,并为特定的应用程序产生更快的调优过程。对于规则,可以通过设置来排除零MF指数AllowEmpty可调设置为false,这将减少学习阶段的规则总数。

要改进模糊树的调优结果,请考虑以下指导方针。

  • 您可以分别调优FIS树中每个FIS的参数。然后,您可以将所有模糊系统调优在一起,以概括参数值。

  • 改变FIS树的属性,例如模糊系统的数量和模糊系统之间的连接。

  • 对FIS树的输入使用不同的排名和分组。有关创建FIS树的更多信息,请参见模糊树

另请参阅

||

相关的话题