神经自适应学习与ANFIS
假设您希望将模糊推理应用于一个系统,对于这个系统,您已经有了一组输入/输出数据,您希望将这些数据用于建模、模型跟踪或一些类似的场景。另外,假设您不一定有一个基于系统中变量特征的预定模型结构。在某些建模情况下,通过查看数据来识别隶属函数参数可能很困难或不可能。在这些情况下,您可以根据输入/输出数据定制隶属函数参数,而不是随意选择与给定隶属函数关联的参数。使用模糊逻辑工具箱™软件,您可以使用类似于用于训练神经网络的神经自适应学习技术来调整Sugeno模糊推理系统。
使用模糊逻辑工具箱软件,您可以训练自适应神经模糊推理系统(ANFIS):
在命令行中,使用
简称anfis
函数。在命令行中,使用
tunefis
函数。在模糊逻辑设计器app。使用示例请参见利用模糊逻辑设计器对模糊推理系统进行调优。
FIS结构
使用ANFIS训练方法,您可以训练具有以下属性的Sugeno系统:
单输出
加权平均去模糊化
一阶或零阶系统;也就是说,所有的输出成员函数也必须是相同的类型
“线性”
或“不变”
。没有规则共享。不同的规则不能使用相同的输出隶属函数;也就是说,输出隶属函数的数量必须等于规则的数量。
每个规则的统一权重。
没有自定义成员函数或去模糊化方法。
在MATLAB中创建这样一个模糊系统®工作空间,你可以:
使用
genfis
函数。在使用这种方法时,您可以使用网格分区或减法集群来创建系统。当输入个数达到4个或5个时,网格划分可以产生大量的规则。为了减少规则的数量,可以考虑使用减法聚类方法。使用
sugfis
函数。从文件加载系统
readfis
函数。使用模糊逻辑设计器。使用示例请参见使用模糊逻辑设计器构建模糊系统。
训练数据
要使用神经自适应方法训练模糊系统,必须使用要建模的系统的实验或模拟来收集输入/输出训练数据,并在MATLAB工作空间中定义它。一般来说,如果训练数据完全代表训练后的FIS打算建模的数据的特征,那么ANFIS训练效果很好。
定义训练数据时简称anfis
函数,将其指定为单个数组。每行包含一个数据点,最后一列包含输出值,其余列包含输入值。
定义用于调优的训练数据时tunefis
或模糊逻辑设计器App,创建并导入单独的输入和输出数组。每个数组包含一个数据点的相应输入或输出数据。
培训方案
为了配置训练过程,可以调整ANFIS调优设置。有关配置以下选项的详细信息:
模糊逻辑设计器应用程序,请参阅在模糊逻辑设计器中配置调优选项。
tunefis
功能,请参阅tunefisOptions
。简称anfis
功能,请参阅anfisOptions
。
使用所有调优方法,您可以配置以下调优选项。
选项 | 描述 |
---|---|
优化方法 | 优化方法在隶属函数参数训练中的应用。 |
训练周期数 | 训练epoch的最大数目,指定为正整数。 |
训练误差目标 | 训练错误目标,指定为标量。当训练误差小于或等于训练误差目标时,训练过程停止。 |
初始步长 | 初始训练步长,指定为正标量。 |
步长递减率 | 步长减少率,用小于的正标量指定1 。 |
步长增长率 | 步长增长速率,指定为大于的标量1 。 |
优化方法
为了使用ANFIS调谐来训练模糊系统,模糊逻辑工具箱软件使用以下方法之一:
所有参数的最陡峭的反向传播方法。
混合方法包括输入隶属度函数相关参数的反向传播和输出隶属度函数相关参数的最小二乘估计。
步长
当训练一个ANFIS系统时,你可以调整训练步长选项。在训练过程中,软件根据以下规则更新步长:
如果误差连续减小四次,则将其乘以步长增加率来增加步长。
如果误差经历了一次增加和一次减少的连续两次组合,则通过将其乘以步长减少率来减小步长。
理想情况下,步长在训练开始时增加,达到最大值,然后在剩余的训练中减小。要实现这个步长曲线,需要调整初始步长、步长增加速率和步长减少速率。
培训验证
验证数据允许您检查训练过的模糊推理系统的泛化能力。验证数据应该充分表示FIS打算建模的数据的特征,同时与训练数据有足够的不同,以测试训练泛化。软件通过将验证数据应用于模型并查看模型对该数据的响应情况,使用该数据集对模糊推理模型进行交叉验证。
模型验证在以下情况下是有用的:
有噪声的数据-在某些情况下,使用有噪声的测量数据收集数据,并且训练数据无法表示FIS打算建模的数据的所有特征。
过度拟合——由于用于ANFIS的模型结构是由大量参数固定的,因此模型有过拟合的趋势,特别是在使用大量训练epoch时。如果确实发生过拟合,训练好的FIS可能不能很好地推广到其他独立的数据集。
使用验证数据集进行模型验证背后的思想是,在训练过程中的某个点之后,模型开始过拟合训练数据集。原则上,验证数据集的模型误差减小到过拟合开始的点。在此之后,验证数据的模型误差增加。通过对验证数据测试训练后的FIS来解释过拟合,如果这些误差表明模型过拟合,则选择与最小验证误差相关的隶属函数参数。
通常,训练和验证数据集是根据对目标系统的观察收集的,然后存储在单独的文件中。
验证数据的数组和文件格式与训练数据的相同。
参考文献
[1]张家祥,j.s。R。基于广义神经网络和卡尔曼滤波算法的模糊建模。第九届全国人工智能学术会议论文集(AAAI-91),(1991年7月):762-767。
[2]张家祥,j.s。R。“基于自适应网络的模糊推理系统”。IEEE系统、人与控制论汇刊23日,没有。3(1993年5月):665-685。
bbbbo Jang, j.s.r.和n.g ulley。基于增益调度的模糊控制器设计。在NAFIPS /国际金融机构/美国国家航空航天局94年。北美模糊信息处理学会第一届国际联合会议论文集。工业模糊控制与智能系统会议与NASA联合技术研讨会101 - 5。San Antonio, TX, USA: IEEE, 1994。https://doi.org/10.1109/IJCF.1994.375142。
[4]张家祥、孙全仔。“神经模糊建模与控制”。IEEE学报83年,没有。3(1995年3月):378-406。
jh - shing Roger, Chuen-Tsai Sun, Eiji Mizutani。神经模糊与软计算:学习与机器智能的计算方法。MATLAB系列课程。上马鞍河,新泽西州:普伦蒂斯厅,1997。
王立新。自适应模糊系统与控制:设计与稳定性分析。Englewood Cliffs, NJ: PTR Prentice Hall, 1994。
[7] Widrow, B. and D. Stearns,自适应信号处理(Prentice Hall, 1985)。