LR和SVM的联系与区别。

联系:

1.LR和SVM都可以处理分类问题,且一般都用于处理线性二分类问题(在改进的情况下可以处理多分类问题) 都是有监督的分类算法;如果考虑核函数,LR和SVM都是线性分类算法。
2.LR和SVM都是判别式模型。LR、SVM、决策树等判别式模型直接生成一个表示P(Y|X)或者Y=f(X)的判别函数
3两个方法都可以增加不同的正则化项,如L1、L2等等。所以在很多实验中,两种算法的结果是很接近的。

区别:

1、LR是参数模型,SVM是非参数模型。
在这里插入图片描述
在这里插入图片描述
2、从目标函数来看,区别在于逻辑回归采用的是Logistical Loss,SVM采用的是hinge loss.这两个损失函数的目的都是增加对分类影响较大的数据点的权重,减少与分类关系较小的数据点的权重。 本质上是loss函数不同,或者说分类的原理不同。
LR的目标是最小化模型分布和经验分布之间的交叉熵,基于概率理论中的极大似然估计。首先假设样本为0或者1的概率可以用sigmoid函数来表示,然后通过极大似然估计的方法估计出参数的值,即让模型产生的分布P(Y|X)尽可能接近训练数据的分布。
SVM的目标是最大化分类间隔(硬SVM),或者最大化 [分类间隔—a*分错的样本数量](软SVM),基于几何间隔最大化原理,认为几何间隔最大的分类面为最优分类面 。
3、SVM的处理方法是只考虑Support Vectors,也就是和分类最相关的少数点,去学习分类器。而逻辑回归通过非线性映射,大大减小了离分类平面较远的点的权重,相对提升了与分类最相关的数据点的权重。
4、逻辑回归相对来说模型更简单,好理解,特别是大规模线性分类时比较方便。而SVM的理解和优化相对来说复杂一些,SVM转化为对偶问题后,分类只需要计算与少数几个支持向量的距离,这个在进行复杂核函数计算时优势很明显,能够大大简化模型和计算。
5、Logic 能做的 SVM能做,但可能在准确率上有问题,SVM能做的Logic有的做不了。
SVM是结构风险最小化,LR则是经验风险最小化。
结构风险最小化就是在训练误差和模型复杂度之间寻求平衡,防止过拟合,减小泛化误差。为了达到结构风险最小化的目的,最常用的方法就是添加正则项。
SVM的loss函数的第一项可看作L2正则项;LR需要加入正则化项。
3、SVM只考虑分界面附近的少数点,而LR则考虑所有点。
影响SVM决策面的样本点只有少数的支持向量。在支持向量外添加或减少任何样本点,对分类决策面没有任何影响。
在LR中,每个样本点都会影响决策面。决策面会倾向于远离样本数量较多的类别。如果不同类别之间的数量严重不平衡,一般需要先对数据做balancing。
4、SVM不能产生概率,LR可以产生概率
5、在解决非线性问题时,SVM可采用核函数的机制,而LR通常不采用核函数的方法。
SVM只有少数几个样本需要参与核计算(即kernal machine解的系数是稀疏的)。
LR里每个样本点都要参与核计算,计算复杂度太高,故LR通常不用核函数。
6、SVM计算复杂,但效果比LR好,适合小数据集;LR计算简单,适合大数据集,可以在线训练。

发布了9 篇原创文章 · 获赞 0 · 访问量 70

猜你喜欢

转载自blog.csdn.net/GFDGFHSDS/article/details/104596071