1.0: 2007/4/30, initial release. Support only logistic regression. Called liblr in the beginning. 1.1: 2007/7/18, support l2loss SVM. Rename to liblinear split cpp file to tron.cpp and linear.cpp improve Makefile svn version: 1.2: 2007/12/17, support l1loss SVM. New coordinate descent method for L2loss and L1loss SVM tron: better stopping condition for unbalanced data matlab interface: row and column formats 1.21: 2007/12/18, Windows binaries not updated in 1.2 Fix an error of setting eps in matlab interface 1.22: 2008/1/12, Better shrinking Better way to calculate the final obj value 1.23: 2008/04/05 New way to store w: [1..class|1..class|...]; faster testing Fix a matlab interface bug on handling the bias Support Octave interface 1.24: 2008/05/08 Fix a matlab interface bug on handling multi-class data model.w is nr_classifier by n matrix (was n by nr_classifier) 1.3: 2008/06/02 Support multi-class SVM via Crammer & Singer (the class MCSVM_CS) 1.31: 2008/06/06 Remove wrongly included redundent files in 1.3 1.32: 2008/07/26 Improve README following comments for the paper appearing in JMLR 1.33: 2008/09/21 Improve the code to read data -> now much faster info() in linear.cpp becomes static Strict conversion check (-Wconversion) in Makefile 1.34: 2009/08/03 Maximal number of iterations changed from 20,000 to 1,000 train -q option (disable outputs) read_sparse changed to libsvmread; add libsvmwrite Add explanation of model structure in README Minor code cleanup and better error descriptions 1.4: 2009/08/24 L1-regularized SVM and LR Rename solver names 1.5: 2009/10/04 Improve sufficient decrease condition of L1 solvers Set default -B -1 (i.e., no bias term) 1.51: 2009/12/20 Column format used by L1r solvers have index start from 1 GET(i) to get class weight for an instance; easily modified to support instance weight 1.6: 2010/06/20 Use set_print_string_function to set the print function Add free_model_content and free_and_destroy_model functions (avoid memory problem is users declare a model variable) Add check_probability_model (consistent with libsvm) New Python interface (using ctypes) 1.7: 2010/09/13 A new solver: coordinate descent for dual logistic regression 1.8: 2011/04/01 New optimization method for l1-regularized logistic regression linear.cpp: Use 1-norm stopping condition for l1-regularized solvers newton_iter < l/10 replaced by newton_iter <= l/10 in l2r_lr_dual (for l < 10) train.c and predict.c Better format check in reading data labels Python interface: Rename linear.py and linearutil.py to liblinear.py and liblinearutil.py relative path to load *.dll and *.so MATLAB interface: Using mexPrintf() when calling info() in MATLAB interface. Use tron.o and linear.o in the parent directory (iinstead of regenerating them 64- instead of 32-bit windows binary files are provided