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).
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.
Public domain software