Active Set Support Vector Regression Software
Copyright (C) 2002 David R. Musicant and Alexander Feinberg.
This software is free for academic use only.
For commercial use, contact dmusican@carleton.edu.
--------------------------------------------------------------

How to use
-----------
The executable archive contains five files:

asvr: This is the main program used for training.

  Syntax: asvr [options] training_file solution_file

  Type asvr with no arguments at the command prompt for a list of options.

  Input: A comma delimited file of numeric attributes, where the last
  column is the value to be predicted.

  For example:
    94, 91, 27, 20, 15, 0.3
    87, 86, 28, 23, 21, 4.0
    89, 82, 23, 14, 35, 0.9
    87, 52, 21, 19, 30, 0.5
    93, 43, 11, 16, 54, 6.0

  Output: A flat file indicating the regression surface found,
  as well as any necessary normalization coefficients.

  Sample usage:
	asvr -C 0.001 trainset out.txt

  Iteration description:
  ASVR provides a description for each iteration. Here is an
  explanation of what the descriptions mean:

    Normal iteration: ASVR has successfully decreased the objective
    value with a standard iteration.

    Global grad proj: ASVR has reached the minimum on its face of
    active constraints, and therefore performs a gradient projection
    step on the set of _all_ constraints to obtain a new basic set
    with a decreased objective.

    Line search: ASVR has not reached the minimum on its
    face of active constraints, and the normal ASVR iteration does not
    improve the objective value. Therefore, ASVR moves in the
    direction of the unconstrained minimum on the face, and stops when
    it reaches an active constraint. This is the "active set strategy"
    part of the algorithm.

    Face grad proj: This is a last step effort when all else fails, which
    should only happen due to numerical problems such as bad
    conditioning. ASVR performs a projected gradient step on the face
    of active constraints, and continues to do so until optimality on
    the face is acheived or the set of active constraints changes.

asvr_test: This program is used to test the generalization capability
  of the regression surface which was found with the asvr program.

  Syntax: asvr_test [options] training_file solution_file

  Type asvr_test with no arguments at the command prompt for a list of
  options.

  Input: A file of the same format as input to asvr.
         The solution file from asvr.

  Output: Generalization accuracy.

  Sample usage:
	asvr_test test_set out.txt

asvr_predict: This program is used to generate a set of predicted values
  for a test set. The default assumption is that there is a column of 
  predicted values already in the data, which should be ignored. If this
  column is not present in the data, the "-nopreds" option should be used.

asvr.m: This is an m-file which handles the link between MATLAB and
the ASVR mex file. In MATLAB, do "help asvr" for more information.

asvr.mexglx: This is the Linux binary for the MATLAB mexfile.


Compiling the source code under Linux
-------------------------------------
On a UNIX platform, type "make" at the command prompt. This should
theoretically work for other types of UNIX, but this has not been tested.

To generate the binaries for the MATLAB mex files, type "make mex" at a
command prompt. This assumes that your MEX facilities are properly
configured.
