2008年5月27日

LIBLINEAR -- A Library for Large Linear Classification

http://eason982.blogspot.com/2008/05/liblinear-library-for-large-linear.html
Introduction

LIBLINEAR is a linear classifier for data with millions of instances and features. It supports L2-regularized logistic regression (LR), L2-loss linear SVM, and L1-loss linear SVM.

The approach for L1-SVM and L2-SVM is a coordinate descent method:

C.-J. Hsieh, K.-W. Chang, C.-J. Lin, S. S. Keerthi, and S. Sundararajan. A dual coordinate descent method for large-scale linear SVM. ICML 2008.


Main features of LIBLINEAR include

1) Same data format as LIBSVM, our general-purpose SVM solver, and also similar usage
2) One-vs-the rest multi-class classification
3) Cross validation for model selection
4) Probability estimates (logistic regression only)
5) Weights for unbalanced data
6) MATLAB/Octave interface


When to use LIBLINEAR but not LIBSVM

There are some large data for which with/without nonlinear mappings gives similar performances. Without using kernels, one can train a much larger set via a linear classifier. Document classification is one such application. In the following example (20,242 instances and 47,236 features; available on LIBSVM data sets), the cross-validation time is significantly reduced by using LIBLINEAR:

% time libsvm-2.85/svm-train -c 4 -t 0 -e 0.1 -m 800 -v 5 rcv1_train.binary
Cross Validation Accuracy = 96.8136%
345.569s


% time liblinear-1.21/train -c 4 -e 0.1 -v 5 rcv1_train.binary
Cross Validation Accuracy = 97.0161%
2.944s


Download LIBLINEAR

Here you can get it! http://0rz.tw/9748Y

The package includes the source code in C/C++. A README file with detailed explanation is provided. For MS Windows users, there is a subdirectory in the zip file containing binary executable files.

沒有留言: