Gianluca Bontempi - Associate Professor - Département d'Informatique -  ULB Brussels, Belgium

Mauro Birattari - Researcher - IRIDIA - ULB Brussels, Belgium

To download the manual, click here.
To download the software, click here .




The neuro-fuzzy software for identification and data analysis has been implemented in the MATLAB language ver. 4.2.

The software trains a fuzzy architecture, inspired to Takagi-Sugeno approach, on the basis of a training set of  N (single) output-(multi) input samples.
The returned model has the form

1) if input1 is A11 and input 2 is A12 then output =f1(input1,input2)

2) if input1 is A21 and input 2 is A22 then output =f2(input1,input2)


where Aij are parametric membership function.

The program provides a set of structural alternatives in the definition of the fuzzy model: the shape of the membership functions of the antecedents (gaussian or triangular), the parametric form of the consequent (constant or linear f), the combination method of the rules (normalized or not). Further, it is possible to choose between two different clustering policies, K-means or Hyperplane Fuzzy Clustering [3], to provide the identification algorithm with good initial values of the centers and bases of the membership functions.

The program searchs also for the 'right' complexity (number of rules) of the architecture by adopting a procedure of cross-validation on the available data set. It starts with a minimal number of rules and at each step increase the number of rules by restarting the global procedure, until a maximum number of rules is reached (the user is free to set properly what is the desired range of complexity to range over). Then each structure is characterized by its error in generalization, estimated by a procedure of cross-validation and the optimal number of rules is searched by comparing the cross validation error obtained at different levels of complexity. At the end of the global training phase, the cross validation error is plotted against the number of rules used and the user is asked to choose the level of complexity at which the fuzzy system looks to perform better (fig.1): after this, the fuzzy system of the chosen complexity is identified from scratch by using the whole data set. The model is now ready to be used for prediction on new samples.

fig. 1. Cross-validation error vs. complexity diagram



  • The software was used by Prof. Masoud Nikravesh as part of a short course at LBNL in the area of soft computing ( BISC Berkeley Initiative in soft computing ).
  • Dr. Alfredo Vaccaro (University of Salerno, Italy) used the neurofuzzy software as identification module in the control system for trajectory control of a PMDC motor. The neurofuzzy network was trained to emulate the unknown nonlinear motor dynamic by presenting a suitable set of input/output patterns generated by the motor. Once identified the motor dynamic an inverse learning control strategy was applied to control the trajectory.
  • Dr. Matteo Galante (University of Venezia, Italy) used the neurofuzzy software for financial prediction.
  • Dr.  Nasser Ghadiri is currently applying the neuro-fuzzy toolbox to the fault detection of rotating machinery using vibration analysis.



    [1]Bersini H., Bontempi G., Decaestecker C. (1995). Comparing RBF and Fuzzy Inference Systems on Theoretical and Practical Basis in F.Fogelman-Soulie', P. Gallinari (Eds.) ICANN '95,International Conference on Artificial Neural Networks, Paris , vol. 1, pp. 169-174
    [2]Bersini H., Bontempi G. (1997) Now comes the time to defuzzify neuro-fuzzy models Fuzzy Sets and Systems , 90,2, 161-170.
    [3] Bezdek J.C., Anderson I.M. (1985), An Application of the c-Varieties Clustering Algorithms to Polygonal Curve Fitting, IEEE Trans. Syst., Man Cybern.,vol.SMC-15,no 5. pp 637-641
    [4] Sugeno M. , Yasukawa T.,(1993) A Fuzzy-Logic-Based Approach to Qualitative Modeling, IEEE Trans. Fuzzy Syst., vol.1 no 1
    [5] Bontempi G., Bersini H. (1997) Identification of a sensor model with hybrid neuro-fuzzy methods in A. B. Bulsari, S. Kallio (eds.) Neural Networks in Engineering systems (Proceedings of the 1997 International Conference on Engineering Applications of Neural Networks (EANN '97), Stockolm, Sweden) pp. 325-328.

    Local model for regression Matlab library