调整模糊推理系统
由于大量的MF参数和规则,设计具有大量输入和成员功能(MFS)的复杂模糊推理系统(FIS)是一个挑战性的问题。要设计这样的FIS,您可以使用数据驱动的方法来学习规则和调整FIS参数。要调整模糊系统,请使用tunefis
功能并使用Tunefisoptions
目的。
使用Fuzzy Logic Toolbox™软件,您可以调整1型和2型FISS以及FIS树。有关示例,请参见使用2型FIS预测混乱的时间序列和曲调树木的燃气里程预测。
在训练过程中,优化算法生成候选FIS参数集。每个参数集更新模糊系统,然后使用输入训练数据进行评估。
如果您有输入/输出培训数据,则根据模糊系统的输出与训练数据的预期输出值之间的差异计算每个解决方案的成本。对于使用此方法的示例,请参阅曲子mamdani模糊推理系统。
如果您没有输入/输出培训数据,则可以指定一个自定义模型和成本函数,以评估候选FIS参数集。成本测量功能将输入发送到模糊系统并接收评估的输出。成本基于评估的输出与模型预期的输出之间的差异。有关更多信息和使用此方法的示例,请参见使用自定义成本功能来调整模糊机器人避免障碍系统。
有关调整模糊系统的更多信息,请参见以下示例。
调整方法
下表显示了由金宝apptunefis
功能。这些调整方法找到了最佳FIS参数
方法 | 描述 | 更多信息 |
---|---|---|
遗传算法 | 基于人群的全球优化方法,通过人口成员之间的突变和交叉随机搜索 | 什么是遗传算法?(全局优化工具箱) |
粒子群优化 | 基于人群的全球优化方法,其中人口成员在整个搜索区域中走上 | 什么是粒子群优化?(全局优化工具箱) |
模式搜索 | 直接搜索本地优化方法,该方法在当前点附近搜索一组点以找到新的最佳 | 什么是直接搜索?(全局优化工具箱) |
模拟退火 | 一种局部优化方法,该方法模拟了加热和冷却过程,该方法在当前点附近找到了一个新的最佳点 | 什么是模拟退火?(全局优化工具箱) |
自适应神经模糊的推断 | 调谐成员功能参数的后传播算法。或者,您可以使用Anfis 功能。 |
神经自适应学习和ANFI |
前四个调整方法需要全局优化工具箱软件。
全局优化方法(例如遗传算法和粒子群优化)对于大参数调整范围的表现更好。这些算法对于FIS优化的规则学习和参数调整阶段都有用。
另一方面,诸如模式搜索和模拟退火之类的本地搜索方法对小参数范围的表现更好。如果使用培训数据生成FISGenfis
或使用培训数据已经将规则基础添加到FIS中,那么与全局优化方法相比,这些算法可以产生更快的收敛速度。
防止调谐系统过度拟合
数据过度拟合是FIS参数优化中的一个常见问题。当发生过度拟合时,调整后的FIS会为训练数据集提供优化的结果,但对于测试数据集的性能很差。为了克服数据过度拟合问题,使用单独的验证数据集对模型的无偏评估可以提前停止。
在调谐时使用tunefis
功能,您可以防止使用K折交叉验证过度拟合。为了防止更多信息和一个示例,请参见用K折交叉验证优化FIS参数。
改善调整结果
为了提高调谐模糊系统的性能,请考虑以下准则。
在调整过程中使用多个阶段。例如,首先了解模糊系统的规则,然后使用学识渊博的规则库来调整输入/输出MF参数。
增加规则学习和参数调整阶段中的迭代次数。这样做会增加优化过程的持续时间,还可以增加验证数据,并通过训练数据过度导致验证错误。为了避免过度拟合,请使用K折交叉验证训练系统。
更改由
Genfis
。根据聚类技术,生成的规则在培训数据的表示方面可能会有所不同。因此,使用不同的聚类技术会影响tunefis
。更改FIS属性。尝试更改属性,例如FIS的类型,输入数量,输入/输出MF的数量,MF类型和规则数。Sugeno系统的输出MF参数较少(假设MFS恒定)和更快的Defuzzification。因此,对于具有大量输入的模糊系统,Sugeno FIS通常比Mamdani FI的收敛速度更快。少数MF和规则减少了调整参数的数量,从而产生更快的调整过程。此外,大量规则可能会过分适合培训数据。
修改MFS和规则的可调参数设置。例如,您可以在不更改其峰位置的情况下调整三角MF的支撑。金宝app这样做可以减少可调参数的数量,并可以为特定应用程序产生更快的调整过程。对于规则,您可以通过设置
允许
可调设置为False,这减少了学习阶段的总体规则数量。
为了改善模糊树的调整结果,请考虑以下准则。
您可以单独调整FIS树中每个FI的参数。然后,您可以将所有模糊系统调整在一起以概括参数值。
更改FIS树属性,例如模糊系统的数量和模糊系统之间的连接。
将输入的不同排名和分组用于FIS树。有关创建FIS树的更多信息,请参阅模糊的树。