SOARD algorithm

Software Description

The Self-Organizing ARTMAP Rule Discovery (SOARD) system derives relationships among recognition classes during online learning. SOARD training on input/output pairs produces direct recognition of individual class labels for new test inputs. As a typical supervised system, it learns many-to-one maps, which recognize different inputs (Spot, Rex) as belonging to one class (dog). As an ARTMAP system, it also learns one-to-many maps, allowing a given input (Spot) to learn a new class (animal) without forgetting its previously learned output (dog), even as it corrects erroneous predictions (cat).

Coded By

Santiago Olivera


Code Description

The main code is in SOARD.m. It takes as inputs a labeled dataset for Stage 1 learning, an unlabeled dataset for Stage 2, and a flag to determine if you want to create a new data ordering or work with a previously created one. It requires the following functions: ordenes.m, ppf.m, fabso.m, rigido.m, and soSelfSupLearning. All of them are included in the files.

Operating System


Programming Language(s)



Public domain software


Contact Us