HYPER_LNK(1)

NAME
hyper_lnk - Hypersphere Classifier

SYNOPSIS
Program for training and testing a hypersphere classifier. Places hyperspheres and adjusts their radii to model data in nearest neighbor style classification.

hyper_lnk [ -add ] [ -r_init x ] [ -force_class ] [ -prune ]
[ -correct ] [ -best_n ] [ -prune_val x ]
[ -prune_n n ] [ -epochs n ] [ -classifier_options ]

EXAMPLE
hyper_lnk -add -force_class -epochs 3 -train -create \
-pathdata $LNKHOME/data/class -finput vowel.train \
-fdescribe vowel.defaults -npatterns 338 -fparam hyper.param

hyper_lnk -pathdata $LNKHOME/data/class -finput vowel.eval \
-fdescribe vowel.defaults -fparam hyper.param \
-npatterns 166

DESCRIPTION
In testing, the class assigned to an input pattern is the class of the hypersphere which covers the pattern and has the center closest to the pattern. If the pattern is not contained within any of the spheres, an unknown-class response is provided (class = -1) or optionally, the sphere whose center is closest to the pattern is used to assign a class label.

In training, if the input pattern falls inside a sphere of a different class, that sphere is shrunk to avoid covering the point. If the pattern does not fall inside any sphere of its own class, a new sphere is created with this pattern as its center. The radius of the new sphere is the distance to the nearest point of another class, or r_init, whichever is smaller.
After the adding phase of training is complete, the set of spheres can be pruned. Spheres can be selected based on size or "usefulness". Those smaller than a certain radius or which are used fewer than a certain number of times for classifying training patterns are removed.

OPTIONS
-- Prints a list of all flags and arguments.

-add
    Add and resize hyperspheres on misclassification.

-r_init x
    x is the maximum initial radius of a hypersphere. If the hypersphere would cover a center of a different class, the actual initial radius will be smaller.

-force_class
    Use the class of the nearest hypersphere center when a pattern falls outside of all hyperspheres or inside two spheres of differing classes.

-prune
    After the add stage of training, sort the spheres and prune as directed by the next two flags

-correct
    Before pruning, sort the spheres by the number of training patterns each correctly classifies. If this flag is not set, the spheres are sorted by size.

-best_n
    Prune the sorted spheres so that there are prune_n of them. If this flag is not set, the spheres which are under the limit of prune_val are pruned.

-prune_val x
    The limit for pruning. Spheres which are smaller than x are pruned. If the -correct flag is set, spheres which are used fewer than x times for a correct classification are pruned.

-prune_n n
    The number of spheres to keep if both prune and best_n are set.

-epochs n
    n is the number of times to run through all of the data in the input file during training. This flag has no effect when testing.

-classifier_options
    hyper_lnk accepts the general classifier arguments described on the classifier(1) manual page. Certain arguments are not used by the program, and so are not available.

    Unavailable arguments from general list:

    -adjust_test_priors -test_uniform_priors -test_priors_list
        Because hyper_lnk does nearest neighbor classification, there are no outputs to scale for adjusting the priors during testing.

    -log_outputs
        hyper_lnk does not currently store outputs in the error file.

REFERENCE
Bruce G. Batchelor, ed. Pattern Recognition: Ideas in Practice. Plenum Press: New York, (1978).

Yuchan Lee, Classifiers: Adaptive Modules in Pattern Recognition Systems. Cambridge, MA: Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science (1989).

Douglas L. Reilly, Leon N. Cooper, and Charles Elbaum, A neural model for category learning, in Neuro Computing 2, Directions for Research, James A Anderson, Andras Pellionisz and Edward Rosenfeld editors, MIT Press, Cambridge, MA, 1990. Pages 497-506.

SEE ALSO
classifier(1), hyper2c(1), hyper_feat_sel(1), hyper_plot_bound(1)

HISTORY
First written 20 May 1992 by Linda Kukolich

BUGS
Send bug reports to Linda Kukolich (kukolich@sst.ll.mit.edu)