Fuzzy ARTMAP

This package contains an implementation of Fuzzy ARTMAP.
3.9K Downloads
Updated 22 Jul 2009

View License

This software has been realized at the CNS Technology Lab team at Boston University - http://techlab.bu.edu. The main author of this software is Chaitanya Sai ( http://techlab.bu.edu/members/sai/ ).

This package contains an implementation of Fuzzy ARTMAP and provides a graphical user interface (GUI) as well as command line utilities to simulate the training and testing of a Fuzzy ARTMAP network. The GUI can be run by entering ARTMAPgui at the MATLAB command line after unpacking the contents of the zip file. To provide your own dataset, run biasedARTMAPTester Usage: [a,b,c] = fuzzyARTMAPTester(dataStruct) The MATLAB struct dataStruct should have the following format. The datastruct fields are: training_input: [f features X m records] training_output: [m labels X 1] test_input: [f features X n records] test_output: [n labels X 1] description: 'dataset_title' descriptionVerbose: 'A more verbose description of the dataset'
IMPORTANT NOTE: for space limitations, the pertinent datasets and papers have not been included. Please download the entire package at: http://techlab.bu.edu/resources/software_view/fuzzy_artmap/#download

MORE DETAILS
A new neural network architecture is introduced for incremental supervised learning of recognition categories and multidimensional maps in response to arbitrary sequences of analog or binary input vectors, which may represent fuzzy or crisp sets of features. The architecture, called fuzzy ARTMAP, achieves a synthesis of fuzzy logic and adaptive resonance theory (ART) neural networks by exploiting a close formal similarity between the computations of fuzzy subsethood and ART category choice, resonance and learning. Fuzzy ARTMAP also realizes a new minimax learning rule that conjointly minimizes predictive error and maximizes code compression, or generalization. This is achieved by a match tracking process that increases the ART vigilance parameter by the minimum amount needed to correct a predictive error. As a result, the system automatically learns a minimal number of recognition categories, or “hidden units,” to meet accuracy criteria. Category proliferation is prevented by normalizing input vectors at a preprocessing stage. A normalization procedure called complement coding leads to a symmetric theory in which the AND operator () and the OR operator () of fuzzy logic play complementary roles. Complement coding uses on cells and off cells to represent the input pattern, and preserves individual feature amplitudes while normalizing the total on cell/off cell vector. Learning is stable because all adaptive weights can only decrease in time. Decreasing weights correspond to increasing sizes of category “boxes.” Smaller vigilance values lead to larger category boxes. Improved prediction is achieved by training the system several times using different orderings on the input set. This voting strategy can also be used to assign confidence estimates to competing predictions given small, noisy, or incomplete training sets. Four classes of simulations illustrate fuzzy ARTMAP performance in relation to benchmark back propagation and genetic algorithm systems. These simulations include (i) finding points inside versus outside a circle; (ii) learning to tell two spirals apart, (iii) incremental approximation of a piecewise-continuous function; and (iv) a letter recognition database. The fuzzy ARTMAP system is also compared with Salzberg’s NGE system and with Simpson’s FMMC system.
Dataset
Boston Remote Sensing Testbed (preprocessed MAT files)
Frey & Slate Letter data

Code Description
To execute examples, execute ARTMAPgui at the MATLAB command line. From the GUI menu, select Run tab and select one of the following datasets from the dropdown menu 1. 1: Circle in Square benchmark (sparse) 2. 2: Circle in Square benchmark (dense) 3. 3: Stripes benchmark (sparse) 4. 4: Stripes benchmark (dense) 5. 5: Checkerboard benchmark (sparse) 6. 6: Checkerboard benchmark (dense) 7. 7: Boston Benchmark: test on stripe 1 8. 8: Boston Benchmark: test on stripe 2 9. 9: Boston Benchmark: test on stripe 3 10. 10: Boston Benchmark: test on stripe 4 11. 11: Movie Genre Benchmark To provide your own dataset, run fuzzyARTMAPTester Usage: [a,b,c] = fuzzyARTMAPTester(dataStruct) The MATLAB struct dataStruct should have the following format. The datastruct fields are: training_input: [f features X m records] training_output: [m labels X 1] test_input: [f features X n records] test_output: [n labels X 1] description: 'dataset_title' descriptionVerbose: 'A more verbose description of the dataset'

- Contributors
Gail Carpenter
Ben Chandler
Robert Kozma
Praveen K. Pilly
Chaitanya Sai
Doug Sondak
Kadin Tseng

Cite As

Massimiliano Versace (2024). Fuzzy ARTMAP (https://www.mathworks.com/matlabcentral/fileexchange/24768-fuzzy-artmap), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2007b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Fuzzy Logic Toolbox in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.4.0.0

updated authorship/credits

1.3.0.0

updated code description

1.2.0.0

updated file description

1.1.0.0

edited beginning and contributors

1.0.0.0