liblinear简介
Posted bitcarmanlee
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了liblinear简介相关的知识,希望对你有一定的参考价值。
1.liblinear是什么
liblinear是国立台湾大学林智仁教授开发的一个工具包。
林教授个人官网
https://www.csie.ntu.edu.tw/~cjlin/
其中关于liblinear,官网首页是这么介绍的:
a library for large linear classification.
It is very suitable for document classification.
Version 1.0 released in April 2007.Current Version: 2.43, February 2021.
我将原来的一行分成为四部分,简单说来就是
1.这个库适合于大规模线性分类问题。
2.特意适合于文本分类问题。
3.第一个版本1.0发布于2007.4,目前版本2.43
2.liblinear的特点
看看官网上林教授对liblinear的介绍
LIBLINEAR is a linear classifier for data with millions of instances and features. It supports
L2-regularized classifiers
L2-loss linear SVM, L1-loss linear SVM, and logistic regression (LR)
L1-regularized classifiers (after version 1.4)
L2-loss linear SVM and logistic regression (LR)
L2-regularized support vector regression (after version 1.9)
L2-loss linear SVR and L1-loss linear SVR.
L2-regularized one-class support vector machines (after version 2.40)
Main features of LIBLINEAR include
Same data format as LIBSVM, our general-purpose SVM solver, and also similar usage
Multi-class classification: 1) one-vs-the rest, 2) Crammer & Singer
Cross validation for model evaulation
Automatic parameter selection
Probability estimates (logistic regression only)
Weights for unbalanced data
MATLAB/Octave, Java, Python, Ruby interfaces
通过上面介绍我们不难总结出来liblinear的优点
1.适应于大规模线性分类问题,可以满足上百万级别的样本与特征。
2.支持libsvm类型的数据格式,并且有基本相同的用法。
3.支持多分类。
4.支持corss validation进行模型选择。
5.自动选择参数。
6.在logistic regression中支持概率预测。
7.对不平衡数据集可以进行样本权重设置。
8.支持matlab/octave, java,python,ruby等语言接口。
3.liblinear与libsvm区别
相信凡是接触过机器学习的同学都知道libsvm。简单来说,libsvm是对svm算法的一套完整实现方法,主要是在libsvm中通过核函数来训练非线性svm模型(当然也可以是线性的)。
a simple and easy-to-use support vector machines tool for classification (C-SVC, nu-SVC), regression (epsilon-SVR, nu-SVR), and distribution estimation.
It includes a GUI for both classification and regression. Version 1.0 released in April 2000. Current Version: 3.25, April 2021.
根据林教授官网对libsvm的介绍,可以看出其第一个版本再2000年就已经实现,而且一直有更新维护,主要是用来训练svm模型。
而liblinear则是用来进行线性分类场的工具包,可以支持svm,也可以支持lr,但是不能定义核函数来进行非线性分类,两者的区别主要在这里。
以上是关于liblinear简介的主要内容,如果未能解决你的问题,请参考以下文章
ConvergenceWarning: Liblinear 收敛失败,增加迭代次数