LR vs. SVM

2019-05-11  本文已影响0人  惊不意外

LR与SVM的联系与区别:
联系:

1、LR和SVM都可以处理分类问题,且一般都用于处理线性二分类问题(在改进的情况下可以处理多分类问题)
2、两个方法都可以增加不同的正则化项,如l1、l2等等。所以在很多实验中,两种算法的结果是很接近的。

区别:

1、LR是参数模型[逻辑回归是假设y服从Bernoulli分布],SVM是非参数模型,LR对异常值更敏感。
2、从目标函数来看,区别在于逻辑回归采用的是logistical loss,SVM采用的是hinge loss,这两个损失函数的目的都是增加对分类影响较大的数据点的权重,减少与分类关系较小的数据点的权重。
3、SVM的处理方法是只考虑support vectors,也就是和分类最相关的少数点,去学习分类器。而逻辑回归通过非线性映射,大大减小了离分类平面较远的点的权重,相对提升了与分类最相关的数据点的权重。
4、逻辑回归相对来说模型更简单,好理解,特别是大规模线性分类时比较方便。而SVM的理解和优化相对来说复杂一些,SVM转化为对偶问题后,分类只需要计算与少数几个支持向量的距离,这个在进行复杂核函数计算时优势很明显,能够大大简化模型和计算。
5、logic 能做的 svm能做,但可能在准确率上有问题,svm能做的logic有的做不了。

如何选择LR与SVM?

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

模型复杂度:

  • SVM支持核函数,可处理线性非线性问题;
  • LR模型简单,训练速度快,适合处理线性问题;
  • 决策树容易过拟合,需要进行剪枝

损失函数:

  • SVM hinge loss;
  • LR L2正则化;
  • adaboost 指数损失

数据敏感度:

  • SVM添加容忍度对outlier不敏感,只关心支持向量,且需要先做归一化;
  • LR对远点敏感

数据量:

  • 数据量大就用LR
  • 数据量小且特征少就用SVM非线性核

什么是参数模型(LR)与非参数模型(SVM)?

  • 在统计学中,参数模型通常假设总体(随机变量)服从某一个分布,该分布由一些参数确定(比如正太分布由均值和方差确定),在此基础上构建的模型称为参数模型;
  • 非参数模型对于总体的分布不做任何假设,只是知道总体是一个随机变量,其分布是存在的(分布中也可能存在参数),但是无法知道其分布的形式,更不知道分布的相关参数,只有在给定一些样本的条件下,能够依据非参数统计的方法进行推断。

作者:流川枫AI
链接:https://www.imooc.com/article/46843
来源:慕课网
本文原创发布于慕课网 ,转载请注明出处,谢谢合作

上一篇 下一篇

猜你喜欢

热点阅读