Biased ARTMAP




Download(s)


  1. Download File #1

Software Description

Memories in Adaptive Resonance Theory (ART) networks are based on matched patterns that focus attention on those portions of bottom-up inputs that match active top-down expectations. While this learning strategy has proved successful for both brain models and applications, computational examples show that attention to early critical features may later distort memory representations during online fast learning. For supervised learning, biased ARTMAP (bARTMAP) solves the problem of over-emphasis on early critical features by directing attention away from previously attended features after the system makes a predictive error. Small-scale, hand-computed analog and binary examples illustrate key model dynamics. Two-dimensional simulation examples demonstrate the evolution of bARTMAP memories as they are learned online. Benchmark simulations show that featural biasing also improves performance on large-scale examples. One example, which predicts movie genres and is based, in part, on the Netflix Prize database, was developed for this project. Both first principles and consistent performance improvements on all simulation studies suggest that featural biasing should be incorporated by default in all ARTMAP systems. Benchmark datasets and bARTMAP code are available here.
Disclaimer
This software is provided free of charge. As such, the authors assume no responsibility for the programs' behavior. While they have been tested and used in-house for three years, no claim is made that biased ARTMAP implementations are correct or bug-free. They are used and provided solely for research and educational purposes. No liability, financial or otherwise, is assumed regarding any application of biased ARTMAP.
Feedback
Have questions? Found a bug? Please send comments to:

Coded By

Sai Gaddam

Abstract

Memories in Adaptive Resonance Theory (ART) networks are based on matched patterns that focus attention on those portions of bottom-up inputs that match active top-down expectations. While this learning strategy has proved successful for both brain models and applications, computational examples show that attention to early critical features may later distort memory representations during online fast learning. For supervised learning, biased ARTMAP (bARTMAP) solves the problem of over-emphasis on early critical features by directing attention away from previously attended features after the system makes a predictive error. Small-scale, hand-computed analog and binary examples illustrate key model dynamics. Two-dimensional simulation examples demonstrate the evolution of bARTMAP memories as they are learned online. Benchmark simulations show that featural biasing also improves performance on large-scale examples. One example, which predicts movie genres and is based, in part, on the Netflix Prize database, was developed for this project. Both first principles and consistent performance improvements on all simulation studies suggest that featural biasing should be incorporated by default in all ARTMAP systems.

Code Description

Biased ARTMAP Code Use Directions

This description is also available in the ReadMe.txt file provided in the downloadable zipped folder.

The following examples can be run by executing biasedARTMAP_examples.m:

  1. Six Point Dataset
  2. Stripes benchmark (sparse)
  3. Stripes benchmark (dense)
  4. Circle in Square benchmark (sparse)
  5. Circle in Square benchmark (dense)
  6. Checkerboard benchmark (sparse)
  7. Checkerboard benchmark (dense)
  8. 6-D binary dataset
  9. Boston Benchmark: test on strip 4
  10. Boston Benchmark: test on strip 3
  11. Boston Benchmark: test on strip 2
  12. Boston Benchmark: test on strip 1
  13. Movie Genre Benchmark

To provide your own dataset, run biasedARTMAPTester

Usage: [a,b,c] = biasedARTMAPTester(dataStruct,lambda_value)

lambda_value = 0 -> biased ARTMAP is equivalent to fuzzy ARTMAP
lambda_value = 10 -> lambda value found to be optimal for many benchmarks.

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'

Operating System

Any

Programming Language(s)

MATLAB

License

Public domain software

Contact

Contact Us