Last update: $Date: 2000/12/09 06:19:15 $
TinySVM is an implementation of Support Vector Machines (SVMs) [Vapnik 95], [Vapnik 98] for the problem of pattern recognition. Support Vector Machines is a new generation learning algorithms based on recent advances in statistical learning theory. SVMs deliver state-of-the-art performance in real-word applications such as text categorization, hand-written character recognition. TinySVM provides efficient tools and libraries for learning and classification of SVMs.
TinySVM accepts the same representation of training data as SVM_light uses. This format has potential to handle large sparse feature vectors.
(BNF-like representation)
<class> .=. +1 | -1
<feature> .=. integer (>=1)
<value> .=. real
<line> .=. <class> <feature>:<value><feature>:<value> ... <feature>:<value>
Example +1 201:1.2 3148:1.8 3983:1 4882:1 -1 874:0.3 3652:1.1 3963:1 6179:1 +1 1168:1.2 3318:1.2 3938:1.8 4481:1 +1 350:1 3082:1.5 3965:1 6122:0.2 -1 99:1 3057:1 3957:1 5838:0.3See tests/train.svmdata and tests/test.svmdata in the package.
"svm_learn" accepts two arguments --- file name of training data stored in
the above formats and model file in which the SVs and their weights (alpha) are
stored after training. You can also select an appropriate kernel function by giving
some options.
Try --help option for finding out other options.
% svm_learn -t 1 -d 2 -c 1 train.svmdata model TinySVM - tiny SVM package Copyright (C) 2000 Taku Kudoh All rights reserved. 1000 examples, cache size: 1524 .................... 1000 1000 0.0165 1286/ 64.3% 1286/ 64.3% ............ Checking optimality of inactive variables re-activated: 0 Done! 1627 iterations Number of SVs (BSVs) 719 (4) Empirical Risk: 0.002 (2/1000) L1 Loss: 4.22975 CPU Time: 0:00:01 % ls -al model -rw-r--r-- 1 taku-ku is-stude 26455 Dec 7 13:40Each learning iterations, TinySVM prints the following messages
.................... 1000 1000 2.1540 1924/ 96.2% 1924/ 96.2% .................... 2000 1000 2.1540 2000/100.0% 3924/ 98.1%This means...
"svm_classify" accepts two arguments --- file name of test data stored in
above formats and model file produced by svm_learn program.
"svm_classify" simply outputs the accuracy for test data. You can also employ
interactive classification by giving "-" as file name of test example.
Try --help option for finding out other options.
% svm_classify test.svmdata model Accuracy = 77.8000000000% (389/500)
"svm_model" shows the estimated margin, VC dimension and number of SVs of given some model file.
Try --help option for finding out other options.
% svm_model model File Name: model Margin: 0.181666 Number of SVs: 719 Estimated VC dimension: 728.219
% cvs -d :pserver:anonymous@chasen.aist-nara.ac.jp:/cvsroot login CVS password: # Just hit return/enter. % cvs -d :pserver:anonymous@chasen.aist-nara.ac.jp:/cvsroot co TinySVM
% ./configure % make % make check % su # make installYou can change default install path by using --prefix option of configure script.
cd src; make -f ..\Makefile.bcc32Actually, the binary package of TinySVM is built using BCC32 compiler.
$Id: index.html,v 1.5 2000/12/09 06:19:15 taku-ku Exp $;
taku-ku@is.aist-nara.ac.jp