复杂的模糊推理系统具有大量的输入和隶属函数,其参数和隶属函数数量众多,因此设计模糊推理系统是一个具有挑战性的问题。要设计这样的FIS,可以使用数据驱动的方法来学习规则和调整FIS参数。要调整模糊系统,请使用tunefis
函数并配置调优过程tunefisOptions
对象。
使用模糊逻辑工具箱™软件,您可以调整类型1和类型2 FIS以及FIS树。有关示例,请参见利用2型FIS预测混沌时间序列和调整FIS树的汽油里程预测.
在训练过程中,优化算法生成候选FIS参数集。用每个参数集更新模糊系统,然后利用输入的训练数据进行评估。
如果您有输入/输出训练数据,则每个解决方案的代价将基于模糊系统的输出与训练数据的预期输出值之间的差值来计算。有关使用此方法的示例,请参见Tune Mamdani模糊推理系统.
如果没有输入/输出训练数据,可以指定一个自定义模型和代价函数来评估候选FIS参数集。成本测量函数向模糊系统发送输入,并接收评估的输出。成本基于评估输出和模型预期输出之间的差异。有关使用此方法的更多信息和示例,请参见用自定义代价函数优化模糊机器人避障系统.
有关模糊系统调优的更多信息,请参见以下示例。
控件支持的调优方法如下表所示金宝apptunefis
函数。这些调整方法可以找到最优的FIS参数
方法 | 描述 | 更多的信息 |
---|---|---|
遗传算法 | 基于种群的全局优化方法,通过种群成员间的变异和交叉进行随机搜索 | 什么是遗传算法?(全局优化工具箱) |
粒子群优化 | 基于种群的全局优化方法,种群成员在搜索区域内步进 | 什么是粒子群优化?(全局优化工具箱) |
模式搜索 | 直接搜索局部优化方法,搜索当前点附近的一组点以找到一个新的最优 | 什么是直接查册?(全局优化工具箱) |
模拟退火 | 一种局部优化方法,模拟加热和冷却过程,在当前点附近找到一个新的最优点 | 什么是模拟退火?(全局优化工具箱) |
自适应神经模糊推理 | 调整成员函数参数的反向传播算法。或者,您可以使用简称anfis 函数。 |
神经适应学习和ANFIS |
前四种调优方法需要全局优化工具箱软件
遗传算法和粒子群算法等全局优化方法在参数调整范围较大时性能更好。这些算法对于FIS优化的规则学习和参数调整阶段都是有用的。
另一方面,局部搜索方法,如模式搜索和模拟退火,对小的参数范围有更好的性能。如果FIS是使用训练数据生成的genfis
或者使用训练数据向FIS中添加规则库,那么这些算法可以比全局优化方法产生更快的收敛速度。
数据过拟合是FIS参数优化中的一个常见问题。当过拟合发生时,调谐FIS对训练数据集产生优化的结果,但对测试数据集性能较差。为了克服数据过拟合问题,可以根据使用独立验证数据集对模型的无偏评估,提前停止调优过程。
在使用tunefis
函数时,可以使用k倍交叉验证防止过拟合。有关更多信息和示例,请参见利用k-Fold交叉验证优化FIS参数.
为了提高调优后的模糊系统的性能,请考虑以下指导方针。
在调优过程中使用多个阶段。例如,首先学习模糊系统的规则,然后利用学习到的规则库调整输入/输出MF参数。
在规则学习和参数调优阶段增加迭代次数。这样做会增加优化过程的持续时间,还会增加由于训练数据的系统参数过优而导致的验证错误。为了避免过度拟合,请使用k折交叉验证来培训您的系统。
更改使用的集群技术genfis
.根据聚类技术,生成的规则在训练数据的表示上可能不同。因此,使用不同的集群技术可能会影响性能tunefis
.
改变FIS属性。尝试更改属性,如FIS的类型、输入数量、输入/输出MF数量、MF类型和规则数量。Sugeno系统具有更少的输出MF参数(假设MF恒定)和更快的去模糊化。因此,对于具有大量输入的模糊系统,Sugeno FIS通常比Mamdani FIS收敛更快。少量的mf和规则减少了要调优的参数数量,从而产生了更快的调优过程。此外,大量的规则可能会过度拟合训练数据。
修改MFs和规则的可调参数设置。例如,您可以在不改变其峰值位置的情况下调优三角形MF的支持。金宝app这样做可以减少可调参数的数量,并为特定的应用程序生成更快的调优过程。对于规则,可以通过设置AllowEmpty
可调参数设置为false,这将减少学习阶段的规则总数。
为了改善模糊树的调优结果,考虑以下指导原则。
您可以在一个FIS树中分别调优每个FIS的参数。然后,您可以将所有模糊系统调优到一起,以泛化参数值。
改变FIS树的属性,例如模糊系统的数量和模糊系统之间的连接。
对FIS树的输入使用不同的排名和分组。有关创建FIS树的详细信息,请参见模糊树.
tunefis
|getTunableSettings
|genfis