实际上,作为libsvm中支持核函数和线性SVM的SMO算法的复杂度是O(n^2)或O(n^3),而liblinear的复杂度是O(n),但它不支持核SVM。这里的n是训练数据集中样本数。
因此,在处理中大型数据集时,最好避免使用核函数并选择liblinear(或者可以尝试使用近似核SVM求解器,例如LaSVM)。
编辑:实际上,在10,000个样本以上的情况下,libsvm的速度会变得非常缓慢。
来源: http://www.csie.ntu.edu.tw/~cjlin/papers/liblinear.pdf
它支持L2正则化逻辑回归(LR),L2和L1损失的线性支持向量机(SVMs)(Boser等人,1992年)。它继承了流行的SVM库LIBSVM的许多特点。
另外,您可能还会从其中一位创建者的这里看到一些有用的信息:http://agbs.kyb.tuebingen.mpg.de/km/bb/showthread.php?tid=710
我认为,主要思想是liblinear被优化来处理线性分类(即不需要内核),而线性分类只是libsvm的许多能力之一,因此在分类准确性方面可能不如liblinear。 显然,在这里我进行了一些广泛的概括,差异的确切细节可能在我上面链接的论文以及libsvm网站上的相应用户指南中得到详细介绍。