逻辑回归和支持向量机之间的区别也是面试经常会问的一道题,特地找了一些相关资料看了下。

此处输入图片的描述

损失函数

我们先来看一下带松弛变量的 SVM 和正则化的逻辑回归它们的损失函数1

其中, $g(z)=(1+\exp(-z))^{-1}$.

可以将两者统一起来,

也就是说,它们的区别就在于逻辑回归采用的是 log loss(对数损失函数),svm采用的是hinge loss $\rightarrow E(z) = \max(0,1-z)$。

  • SVM 损失函数 : $Loss(z) = (1-z)^+$
  • LR 损失函数: $Loss(z) = \log(1+\exp(-z))$

此处输入图片的描述


这两个损失函数的目的都是增加对分类影响较大的数据点的权重,减少与分类关系较小的数据点的权重。SVM的处理方法是只考虑support vectors,也就是和分类最相关的少数点,去学习分类器。而逻辑回归通过非线性映射,大大减小了离分类平面较远的点的权重,相对提升了与分类最相关的数据点的权重,两者的根本目的都是一样的。

svm考虑局部(支持向量),而logistic回归考虑全局,就像大学里的辅导员和教师间的区别2

辅导员关心的是挂科边缘的人,常常找他们谈话,告诫他们一定得好好学习,不要浪费大好青春,挂科了会拿不到毕业证、学位证等等,相反,对于那些相对优秀或者良好的学生,他们却很少去问,因为辅导员相信他们一定会按部就班的做好分内的事;而大学里的教师却不是这样的,他们关心的是班里的整体情况,大家是不是基本都理解了,平均分怎么样,至于某个人的分数是59还是61,他们倒不是很在意。