主要内容

Genfis.

从数据中生成模糊推理系统对象

描述

例子

金融中间人= genfis(输入数据outputData使用给定输入和输出数据的网格分区返回单输出Sugeno模糊推理系统(FIS)。

例子

金融中间人= genfis(输入数据outputData选项返回使用指定的输入/输出数据和生成的FIS选项.可以使用网格划分、减法聚类或模糊c均值(FCM)聚类生成模糊系统。

例子

全部收缩

定义培训数据。

inputData = [rand(10,1) 10*rand(10,1)-5];outputData =兰德(10,1);

生成一个模糊推理系统。

FIS = Genfis(InputData,OutputData);

生成的系统,金融中间人,使用默认选项的网格分区创建。

定义培训数据。

inputData = [rand(10,1) 10*rand(10,1)-5];outputData =兰德(10,1);

创建一个默认的genfisOptions选项设置用于网格分区。

选择= genfisoptions('gridpartition');

为生成的FIS指定以下输入成员函数:

  • 3.第一个输入变量的高斯隶属函数

  • 5第二个输入变量的三角形成员函数

opt.nummbershipfunctions = [3 5];Opt.InputmembershipFunctionType = [“Gaussmf”“trimf”];

生成金融中间人。

FIS = Genfis(InputData,OutputData,OPT);

绘制输入隶属函数。每个输入变量都具有指定的数字和类型的输入成员函数,均匀分布在其输入范围内。

[x,mf] = plotmf(fis,“输入”1);次要情节(2,1,1)情节(x, mf)包含(“输入1 (gaussmf)”)[x,mf] = plotmf(fis,“输入”2);次要情节(2,1,2)情节(x, mf)包含(“输入2 (trimf)”

图中包含2个轴。axis 1包含3个类型为line的对象。axis 2包含5个类型为line的对象。

获取输入和输出培训数据。

负载clusterdemo.dat.inputData = clusterdemo (:, 1:2);outputData = clusterdemo (: 3);

创建一个genfisOptions选项设置并指定每个数据维度的影响范围。指定0.50.25作为第一和第二输入变量的影响范围。指定0.3作为输出数据的影响范围。

选择= genfisoptions(“SubtractiveClustering”...'clusterinfluencerange'[0.5 0.25 0.3]);

生成金融中间人。

FIS = Genfis(InputData,OutputData,OPT);

生成的FIS为每个集群包含一条规则。

Showrule(FIS)
ANS =.3x83 char array.“1。If (in1 is in1cluster1 and (in2 is in2cluster1) then (out1 is out1cluster1)(1)' '2。If (in1 is in1cluster2) and (in2 is in2cluster2) then (out1 is out1cluster2) (1)' 'If (in1 is in1cluster3 and (in2 is in2cluster3) then (out1 is out1cluster3) (1)'

获取输入输出数据。

负载clusterdemo.dat.inputData = clusterdemo (:, 1:2);outputData = clusterdemo (: 3);

创建一个genfisOptions选项设置为FCM集群,指定Mamdani FIS类型。

选择= genfisoptions('fcmclmerting''瘘管''mamdani');

指定群集数。

opt.numclusters = 3;

抑制到命令窗口的迭代信息的显示。

opt.verbose = 0;

生成金融中间人。

FIS = Genfis(InputData,OutputData,OPT);

生成的FIS为每个集群包含一条规则。

Showrule(FIS)
ANS =.3x83 char array.“1。If (in1 is in1cluster1 and (in2 is in2cluster1) then (out1 is out1cluster1)(1)' '2。If (in1 is in1cluster2) and (in2 is in2cluster2) then (out1 is out1cluster2) (1)' 'If (in1 is in1cluster3 and (in2 is in2cluster3) then (out1 is out1cluster3) (1)'

绘制输入和输出隶属函数。

[x,mf] = plotmf(fis,“输入”1);次要情节(1,1)情节(x, mf)包含('输入1'的会员函数)[x,mf] = plotmf(fis,“输入”2);子图(3,1,2)绘图(x,mf)xlabel('输入2'的会员函数)[x,mf] = plotmf(fis,“输出”1);次要情节(3、1,3)情节(x, mf)包含('输出的成员函数'

图包含3个轴。axis 1包含3个类型为line的对象。轴2包含3个类型线的物体。轴3包含3个类型的线。

要从输入/输出数据创建Type-2 FIS,您必须首先使用Type-1 FIS使用Genfis.

负载训练数据并使用减数聚类生成FIS。

负载clusterdemo.dat.inputData = clusterdemo (:, 1:2);outputData = clusterdemo (: 3);选择= genfisoptions(“SubtractiveClustering”...'clusterinfluencerange'[0.5 0.25 0.3]);fisT1 = genfis (inputData outputData,选择);fisT1。输出
ANS = FISVAR具有属性:名称:“OUT1”范围:[-0.1274 1.1458]隶属度功能:[1x3 Fismf]

将生成的FIS转换为类型2 FIS。

fisT2 = convertToType2 (fisT1);

由于初始类型-1 FIS是Sugeno系统,因此仅将输入MFS转换为Type-2 MFS。

输入参数

全部收缩

输入数据,指定为一个N列的数组,N为FIS输入的个数。

输入数据outputData必须有相同的行数。

输出数据,指定为列的数组,是FIS输出的数量。

使用网格分区时,outputData必须有一列。如果为网格分区指定多个列,Genfis.使用第一列作为输出数据。

输入数据outputData必须有相同的行数。

FIS生成选项,指定为agenfisOptions选项集。如果您未指定选项Genfis.使用默认的网格分区选项集。

您可以使用以下方法之一生成模糊系统,您可以在创建选项集时指定:

  • 网格划分——通过统一划分输入变量范围,生成输入隶属函数,并创建一个单输出Sugeno模糊系统。对于每个输入隶属函数组合,模糊规则库包含一条规则。

    选择= genfisOptions ('gridpartition');
  • 减数集群 - 使用隶属函数和使用从输入和输出数据的减法聚类找到的数据集群导出的规则生成Sugeno模糊系统。有关减去集群的更多信息,请参阅subclust

    选择= genfisOptions (“SubtractiveClustering”);
  • FCM聚类-使用隶属函数和规则生成一个模糊系统,这些隶属函数和规则来源于使用FCM聚类的输入和输出数据的数据聚类。有关FCM集群的更多信息,请参见FCM.

    选择= genfisOptions ('fcmclmerting');

输出参数

全部收缩

模糊推理系统,作为一个返回Mamfis.Sugfis.对象。的属性金融中间人取决于使用的集群类型和相应的选项

聚类类型 模糊系统类型 输入隶属度函数 模糊规则 输出隶属度函数
网格划分 Sugeno 每个输入变量具有均匀分布的输入成员函数。使用使用的成员函数数量选择.指定隶属函数类型使用选项。InputMembershipFunctionType 每个输入成员函数组合有一条规则。每个规则的结果对应于一个不同的输出成员函数。 每个模糊规则的一个输出成员函数。指定隶属函数类型使用选项。OutputMembershipFunctionType
减数集群 Sugeno 每个输入变量都有一个'Gaussmf'输入每个模糊聚类的隶属函数。 每个模糊群集的一个规则 每个输出变量都有一个“线性”每个模糊群集的输出隶属函数。
FCM集群 Mamdani或Sugeno. 每个输入变量都有一个'Gaussmf'输入每个模糊聚类的隶属函数。 每个模糊群集的一个规则 对于每个模糊聚类,每个输出变量都有一个输出隶属函数。成员函数类型为'Gaussmf'对于mamdani系统和“线性”Sugeno系统。

如果金融中间人是一个单输出Sugeno系统,您可以使用ANFIS.函数。

不支持生成type-2 FIS金宝appGenfis..相反,生成1型FIS并使用该类型的FIS转换convertTotype2.函数。

兼容性考虑因素

展开全部

警告从R2019B开始

介绍了R2017a