BINTREE2MLP(1)

NAME
bintree2mlp - Create an mlp parameter file initialized using bintree parameters

SYNOPSIS
bintree2mlp [-bin_fparam string ] [-prune_tree
-max_nodes n ] [-mlp_fparam string ]
-nodes n,n[,n]... [-etta_change_type n [-etta x ]
[-use_etta_list -etta_list x[,x]...]
[-etta_tau n] ] [-hfunction n]
[-ofunction n] [-init_mag x] [-seed n]

EXAMPLE
bintree_lnk -train -create -pathdata $LNKHOME/data/class \
-finput disjoint.train -fdescribe disjoint.defaults \
-fparam bintree.param

bintree2mlp -bin_fparam bintree.param -prune_tree \
-max_nodes 6 -mlp_param mlp.param -nodes 2,6,2

mlp -train -fparam mlp.param \
-pathdata $LNKHOME/data/class -finput disjoint.train \
-fdescribe disjoint.defaults -epochs 10 -use_etta_list \
-etta_list 0,.1 -use_sig_param_list -sig_param_list 10,1

DESCRIPTION
bintree2mlp takes a binary tree classifier, prunes the tree, and builds a multi-layer perceptron classifier using the bintree non-terminal node tests for the first hidden layer weights. All other mlp weights are set to random values and must be trained by running the mlp program with the -train flag set and the -create flag NOT set. The mlp flags -use_etta_list and -etta_list should be used during mlp training to prevent changing the bintree initialized weights before the rest of the weights have been trained. Initializing the multi-layer perceptron using binary tree parameters greatly reduces mlp training time on some classification problems.

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

-bin_fparam string
    The previously trained bintree model to read.

-prune_tree
    Prune the binary tree before creating the mlp classifier.

-max_nodes n
    If -prune_tree is set prune tree until at most max_nodes non-terminal nodes remain.

-mlp_fparam string
    The new mlp parameter file.

-nodes n,n[,n]...
    This argument is required. The structure of the new mlp network.

-etta_change_type n
    When the mlp classifier is trained, use the indicated method for changing the step size during training.

    0 No change
        Hold the step size constant throughout each training run.

    1 Constant, then c/t step size
        Hold the step size appoximately constant for the first etta_tau trials, then reduce it.

    2 MAS
        Use the Multiple Adaptive Step size algorithm to set the step size for each weight in the network.

-etta x
    If -etta_change_type is set to 1 or 2, set the initial step size for each weight to etta.

-use_etta_list
    If -etta_change_type is set to 1 or 2, set the initial step sizes for the weights in each network layer according to -etta_list.

-etta_list
    If -etta_change_type is set to 1 or 2 and -use_etta_list are set, set the initial step sizes for the weights in each hidden layer to the entries in etta list. Because etta_list specifies step sizes between network layers, the list should be one entry smaller then -nodes..

-etta_tau n
    If -etta_change_type is set to 1, when the mlp classifier is trained, hold the step size approximately constant for n trials before reducing it.

-hfunction n
    n determines the function to be used on the outputs of all the hidden layer nodes.

    0 sigmoid
        output = 1/(1 + exp(- param * input))
        0 < output < 1

    1 symmetric sigmoid (-1,1)
        output = 2/(1 + exp(- param * input)) - 1
        -1 < output < 1

    4 linear
        output = input

-ofunction n
    n determines the function to be used as the sigmoid in the output layer. When using the squared error error function type, the allowable values for ofunction are the same as those for hfunction. If the cross entropy or maximum likelihood cost function will be used in training, ofunction must be 0.

-seed n
    Set the seed used for random initialization of weights to n.

-init_mag x
    x is the maximum allowed magnitude for those mlp weights that are randomly initialized. First hidden layer weights that are copied from the bintree classifier are unaffected by init_mag.

-seed n
    n is used to initalize the random number generator which is used to initialize those weights of the mlp which are not initialized using bintree parameters.

REFERENCES
Leo Breiman et. al., Classification and Regression Trees, Wadsworth Inc., Belmont California, 1984.

Yuchun Lee, Classifiers: Adaptive Modules in Pattern Recognition Systems, Bachelor's and Master's Thesis, Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, Cambridge, MA, May 1989. Pages 84-93.

SEE ALSO
mlp_lnk(1), bintree_lnk(1)

HISTORY
First written 18 November 1993 by Linda Kukolich
Modified 22 June 1994, changed mas to etta_change_type
Modified 19 April 1995, added seed

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