您的当前位置:首页正文

SVM与Logistic区别

来源:华佗小知识

Logistic模型和SVM很像,现在大概说一下两者的区别

1、 寻找最优超平面的方法不同

形象点说,Logistic模型找的那个超平面,是尽量让所有点都远离它,而SVM寻找的那个超平面,是只让最靠近中间分割线的那些点尽量远离,即只用到那些“支持向量”的样本——所以叫“支持向量机”。

2、SVM可以处理非线性的情况

比Logistic更强大的是,SVM还可以处理非线性的情况。​

3、Logistic regression 和 SVM本质不同在于loss function的不同,Logistic regression的损失函数是 cross entropy loss, SVM是hinge loss,Adaboost的损失函数是 exponential loss 。常见的回归模型通常用均方误差 loss。​


而逻辑回归通过非线性映射,大大减小了离分类平面较远的点的权重,相对提升了与分类最相关的数据点的权重.两者的根本目的都是一样的.

此外,根据需要,两个方法都可以增加不同的正则化项,如l1,l2等等.所以在很多实验中,两种算法的结果是很接近的.

但是逻辑回归相对来说模型更简单,好理解,实现起来,特别是大规模线性分类时比较方便.而SVM的理解和优化相对来说复杂一些.但是SVM的理论基础更加牢固,有一套结构化风险最小化的理论基础,虽然一般使用的人不太会去关注.还有很重要的一点,SVM转化为对偶问题后,分类只需要计算与少数几个支持向量的距离,这个在进行复杂核函数计算时优势很明显,能够大大简化模型和计算svm 更多的属于非参数模型,而logistic regression 是参数模型,本质不同.

其区别就可以参考参数模型和非参模型的区别就好了.logic 能做的 svm能做,但可能在准确率上有问题,svm能做的logic有的做不了。


Andrew Ng老师在Coursera上《Machine Learning》from stanford的结论:

n: feature 数目m: sample 数目