Bayesian Trigonometric Support Vector Classifier       version 4.5

This version has been built by VC6.0 on Windows 2000. The source code is written in ANSI C.

Only one third party program is used in this version,  which is L-BFGS-B written by Nocedal's group. I translated the original Fortran code into ANSI C by the f2c program, and then built a static library named BFGSLIB.lib. The project of VC6.0 I used can be downloaded here as reference. It is recommended that you should rebuild the BFGSLIB.lib on your own system.

1. Input Format

Btsvc.exe can read the data file according to the DELVE format. More exactly, in training data file, each line of the data file contains a pair of sample, last term is assume as the target, and space is used as separator. Please do look at the example files, banana_train.1 ...

Btsvc.exe tries to load banana_test.1 as testing data automatically after loading banana_train.1. When in the testing data file each line contains only the input entries, btsvc.exe will try to load banana_targets.1 as the targets if the file is available. This is just to be consistent with the DELVE format.

After this training, btsvc.exe will try to load banana_train.2 as the second training task. The procedure will go on until such a file can not be found.

Thus, what the user need to do is to prepare the data files and name them as a serial: *_train.1, *_tets.1, *_train.2, *_tets.2, *_train.3, *_tets.3 ......


2. Output Files

If there is only two kinds of target values, btsvc.exe will assume that the problem is classification. If it is more than two, bisvr.exe will be called to solve the regression problem.

After training process, the file named as banana_cguess.1 is created to save the discriminant function (prediction for regression) values for each test pattern. A file banana_alpha.1 is created to save the alpha value for each training pattern in each line. A file banana_errorbar.1 is created, in each line of which we save three values, the discriminant function, the error bar, the predictive class probability as class +1, for each test pattern. If the targets are available in the test data, test error number and rate will be calculated and displayed on the screen. In addition, a log file is generated to save all the settings.


3. Command Options

default settings include Gaussian kernel, input normalization (zero mean and unit variance attribute-wise).

-a         choose the ARD Gaussian kernel

-i         keep the input original

-C c     set the initial value for C (default c=1.0)

-K k    set the initial value for Kappa (default k=1/input dimension)

-q        switch off the quick mode, recommend to use the option if you do not care the time 


4. Reference

W. Chu, S. S. Keerthi and C. J. Ong (2002), Bayesian trigonometric support vector classifier, [pdf] [ps] submitted to Neural Computation

W. Chu, S. S. Keerthi and C. J. Ong (2002), Bayesian support vector regression using a unified loss function.  [pdf][ps] submitted to IEEE Transactions of Neural Networks [old version]


5. Future version

We will implement outlier detection and include one-class (clustering) program.

Another version will focus on the use of Polynomial kernel.


Click here to download                         2002.11.15

                                                         EMAIL ME