**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 .

*WARNING:*

*THIS SOFTWARE IS FREELY AVAILABLE FOR EDUCATIONAL AND STRICTLY NON
COMMERCIAL AND/OR MILITARY USE*

**GENERAL DESCRIPTION**

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

APPLICATIONS:

REFERENCES:

[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