File Exchange

image thumbnail

Fuzzy ART and Fuzzy ARTMAP Neural Networks

version (17.2 KB) by Aaron Garrett
This package allows creation, training, and testing of ART and ARTMAP neural networks.


Updated 24 Dec 2003

No License

Included in this package are two directories: ART and ARTMAP. The ART directory provides the functionality for creating and using an unsupervised neural network based on the Adaptive Resonance Theory of Grossberg and Carpenter. The ARTMAP directory provides the functionality for creating and using a supervised neural network, also based on Adaptive Resonance Theory.

The ARTMAP implementation makes use of a few of the ART functions.

These files were developed and tested under MATLAB 6.1 (R12.1) only.

Comments and Ratings (25)

shuai zhang

good exam for study, thanks!

I think there some thing wrong in Fuzzy ART code. Because, When I trained with first data, its categorize to n1, and the seconde data is categorize to n2, but when I combine to data to network, it carry out N group very large compaire to n1+n2.

I think there are some drawbacks. first, updating weights is not correct. second, when an input does not belong to any of the categories, the program return the -1 value. third, ART is on-line neural network that can be trained by off-line method. when we use categorization function instead of learn function, just one category is determined by the program and it is not correct. if someone can explain these drawbacks, i'll be glad.


Excellent work but I have a question. It seams that in the ART algorithm (not ARTMAP), the analog input vector requires some short of normalization. It does not function properly if the input values exceed a certain number (around 1.5). If there are input components above that value, the output of the algorithm is -1 meaning that this input does not belong to any of the available categories. Please advise of what is going on.


does the artmap code have inter art module ? how to draw a graph for training using this code?

ali sahebi

maybe it is good!

Enrique Avila

abdul mukti

Mario Cordina

Very good code. However can someone please clarify the reasoning behind updating weights ONLY IF input is less than weight (i,j)
Thanks for your help all.
You can reach me on

lali tha

* hai my name is lalitha
*i want your ART work details
please give some information
Thanking you

Vishnuvenkatesh Dhage

good codes for training and testing of fuzzy art and neural network

Emre Akbas

If I am not wrong, there is a SERIOUS BUG in this code:

In ART_Update_Weights.m at line 57, the update formula is written as:

weight(i, categoryNumber) = (learningRate * input(i)) + ((1 - learningRate) * weight(i, categoryNumber));

This should be:

weight(i, categoryNumber) = (learningRate * min(input(i),weight(i, categoryNumber))) + ((1 - learningRate) * weight(i, categoryNumber));

xiang hailin

Liliana Rosero

I Think: Is a very good aplication.
But when a data doesn't belong to one of the learnig clases, the output of the net is -1.

I'm doing some tests in a very big bucle (aprox 4000 iterations) changing (diferentially) the net.vigilance and changing the number of clases, in an application for clasify. The classes are obtained for randomly genertating the attributes.

I found: small changes in the net.vigilance have strong implications in performance of the network.

Stanislav Dimov

Dear Mr. Garett,

Your work is very interesting (Adaptive resonance theory and it's application on the Neural networks).I would like to offer You collaboration on the field of Adaptive resonance theory /ART/ especially adaption algorithms for linear neural networks by means of changing the weight vectors.I'm Professor at the Technical University in Sofia, Bulgaria , department of computer science.If You have some collaboration ideas , please send me Yours proposal per e-mail !
My e-mail address is:

With best regards

Dr. S. Dimov

Anny Olivar

Estoy interesada ehn obtener información sobre el material que se utilizo para la implementación, quiero agregarle otras cosas pero no tengo documentación..

someone interested

Chen Po Jen

arief kuncoro


Prasad VSS

aditya khambampati

MATLAB Release Compatibility
Created with R12.1
Compatible with any release
Platform Compatibility
Windows macOS Linux