支持向量机和逻辑回归的异同

2017-01-09 14:15:04来源:oschina作者:依姆哣特人点击

本节来自:http://www.cnblogs.com/zhizhan/p/5038747.html,有删改。支持向量机模型并不是严格意义上的判别式模型。


相同点: 1,LR和SVM都是分类算法。 2,如果不考虑核函数,LR和SVM都是线性分类算法,也就是说他们的分类决策面都是线性的。 3,LR和SVM都是监督学习算法。


不同点:


1,本质上是其loss function不同。 2,支持向量机只考虑局部的边界线附近的点,而逻辑回归考虑全局(远离的点对边界线的确定也起作用)。 线性SVM不直接依赖于数据分布,分类平面不受一类点影响;LR则受所有数据点的影响,如果数据不同类别strongly unbalance,一般需要先对数据做balancing。 3,在解决非线性问题时,支持向量机采用核函数的机制,而LR通常不采用核函数的方法。 ​这个问题理解起来非常简单。分类模型的结果就是计算决策面,模型训练的过程就是决策面的计算过程。通过上面的第二点不同点可以了解,在计算决策面时,SVM算法里只有少数几个代表支持向量的样本参与了计算,也就是只有少数几个样本需要参与核计算(即kernal machine解的系数是稀疏的)。然而,LR算法里,每个样本点都必须参与决策面的计算过程,也就是说,假设我们在LR里也运用核函数的原理,那么每个样本点都必须参与核计算,这带来的计算复杂度是相当高的。所以,在具体应用时,LR很少运用核函数机制。​ 4,​线性SVM依赖数据表达的距离测度,所以需要对数据先做normalization,LR不受其影响。 5,SVM的损失函数就自带正则!!!(损失函数中的1/2||w||^2项),这就是为什么SVM是结构风险最小化算法的原因!!!而LR必须另外在损失函数上添加正则项!!!


本节来自http://www.iliuye.com/index.php/Wap/Index/article/id/190886,该博客里有些写的并不准确,具有参考价值。


在Andrew NG的课里讲到过: 1. 如果Feature的数量很大,跟样本数量差不多,这时候选用LR或者是Linear Kernel的SVM 2. 如果Feature的数量比较小,样本数量一般,不算大也不算小,选用SVM+Gaussian Kernel 3. 如果Feature的数量比较小,而样本数量很多,需要手工添加一些feature变成第一种情况


有问题欢迎讨论.

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台