1

I am implementing a ANFIS model with hydrid training method. I have 13 inputs that maps to one output. I framed rules with respect to my system. When I train data, i get the below error:

Number of output MF's is not equal to number of rules

Any clues about where I am going wrong?

Franck Dernoncourt
  • 77,520
  • 72
  • 342
  • 501
Rangesh
  • 728
  • 2
  • 12
  • 27

1 Answers1

1

Quote from the Fuzzy Logic Toolbox User's Guide:

Constraints of anfis:
anfis is much more complex than the fuzzy inference systems discussed so far, and is not available for all of the fuzzy inference system options. Specifically, anfis only supports Sugeno-type systems, and these must have the following properties:
* Have no rule sharing. Different rules cannot share the same output membership function, namely the number of output membership functions must be equal to the number of rules.

The ANFIS model structure should therefore look like this: enter image description here

FYI the error comes from the following code snippet:

/* output MF no. must be the same as rule no. */
if (fis->output[0]->mf_n != fis->rule_n) {
    fisFreeFisNode(fis);
    PRINTF("Number of output MF's is not equal to number of rules -->\n");
    fisError("Parameter sharing in FIS is not allowed!");
}
Franck Dernoncourt
  • 77,520
  • 72
  • 342
  • 501
  • Great!yup,thanx for notification, i did share the Mf,that led to error! Its Resolved now! – Rangesh Apr 02 '12 at 04:09
  • What if you actually need the shared parameters (creating a different output for every combination creates a snowball/avalanche effect to the number of outputs produced). Is there any alternative training in that case? – brbtsl Sep 18 '16 at 17:29