# HyFIS model building

### Description

This is the internal function that implements the hybrid neural fuzzy inference
system (HyFIS). It is used to solve regression tasks.
Users do not need to call it directly,
but just use `frbs.learn`

and `predict`

### Usage

1 2 3 | ```
HyFIS(data.train, num.labels, max.iter = 10, step.size = 0.01,
type.tnorm = "MIN", type.snorm = "MAX", type.defuz = "COG",
type.implication.func = "ZADEH")
``` |

### Arguments

`data.train` |
a matrix ( |

`num.labels` |
a matrix ( |

`max.iter` |
the maximal number of iterations. |

`step.size` |
step size of the gradient descent method. |

`type.tnorm` |
the type of t-norm. For more detail, please have a look at |

`type.snorm` |
the type of s-norm. For more detail, please have a look at |

`type.defuz` |
the type of aggregation function. For more detail, please have a look at |

`type.implication.func` |
a value representing type of implication function. For more detail, please have a look at |

### Details

This method was proposed by J. Kim and N. Kasabov. There are two phases in this method for learning, namely the knowledge acquisition module and the structure and parameter learning. The knowledge acquition module uses the techniques of Wang and Mendel. The learning of structure and parameters is a supervised learning method using gradient descent-based learning algorithms. This function generates a model which consists of a rule database and parameters of the membership functions. The rules of HyFIS use the Mamdani model on the antecedent and consequent parts. Futhermore, HyFIS uses a Gaussian membership function. So, there are two kinds of parameters that are optimized, mean and variance of the Gaussian function.

### References

J. Kim and N. Kasabov, "HyFIS: Adaptive neuro-fuzzy inference systems and their application to nonlinear dynamical systems", Neural Networks, vol. 12, no. 9, pp. 1301 - 1319 (1999).

### See Also

`HyFIS.update`

, `frbs.learn`

, and `predict`

.

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker. Vote for new features on Trello.