首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LibSVM和LibLinear有什么不同

LibSVM和LibLinear有什么不同
EN

Stack Overflow用户
提问于 2012-07-17 00:46:04
回答 3查看 15K关注 0票数 28

libsvmliblinear都是实现支持向量机的软件库。有什么关系呢?这些差异是如何使liblinear比libsvm更快的呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-07-18 00:07:57

在实践中,在libsvm中实现的SMO算法(同时适用于核和线性支持向量机)的复杂度为O(n^2)或O(n^3),而线性的算法复杂度为O(n),但不支持核支持向量机。N是训练数据集中的样本数。

因此,对于中到大规模的应用,忘掉内核,使用线性函数(或者可以看看近似的内核支持向量机解算器,比如LaSVM)。

编辑:在实践中,libsvm在10k样本时变得非常慢。

票数 37
EN

Stack Overflow用户

发布于 2012-07-17 01:01:35

支持向量机是support vector machine,它本质上是一种线性分类器,但需要经过多次核变换才能将非线性问题转化为线性问题。

从上面的链接可以看出,没有这些内核变换,liblinear似乎是非常相似的事情。因此,正如他们所说,在不需要内核转换的情况下(他们提到了文档分类),它会更快。

票数 10
EN

Stack Overflow用户

发布于 2012-07-17 12:05:52

来自:http://www.csie.ntu.edu.tw/~cjlin/papers/liblinear.pdf

它支持L2正则化逻辑回归(LR)、L2损失和L1损失线性支持向量机(Boser et al.,1992)。它继承了流行的SVM库LIBSVM的许多特性

您还可以在这里看到一些有用的信息,这些信息来自创建者之一:http://agbs.kyb.tuebingen.mpg.de/km/bb/showthread.php?tid=710

我想说的主要思想是,libl线性是为了处理线性分类而优化的(即不需要内核),而线性分类只是libsvm众多功能中的一个,因此从逻辑上讲,它在分类精度方面可能无法与libl线性相匹配。显然,我在这里做了一些广泛的概括,关于差异的确切细节可能在我上面链接的论文中以及libsvm网站上相应的libsvm用户指南中涵盖。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11508788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档