【LR与SVM -3】LR和SVM的对比

LR与SVM的相同点:

1、LR和SVM都是常用的二分类算法(由监督学习,可扩展到多分类);

2、如果不考虑核函数,LR和SVM都是线性分类算法。
它们的分类决策面都是线性的( y = w T X + b y=w^TX+b y=wTX+b)。

LR与SVM的不同点:

1、本质上是loss函数不同,或者说分类的原理不同。

(1)LR的目标是最小化模型分布和经验分布之间的交叉熵

LR基于概率理论中的极大似然估计。
首先假设样本为0或者1的概率可以用sigmoid函数来表示,然后通过极大似然估计的方法估计出参数的值(梯度下降进!),即让模型产生的分布P(Y|X)尽可能接近训练数据的分布。

(2)SVM的目标是最大化分类间隔(硬SVM),或者最大化 [分类间隔—a*分错的样本数量](软SVM),SVM​基于几何间隔最大化原理,认为几何间隔最大的分类面为最优分类面 。


可数学上进一步转化为:

2、SVM只考虑分界面附近的少数点,而LR则考虑所有点。

影响SVM决策面的样本点只有少数的支持向量。在支持向量外添加或减少任何样本点,对分类决策面没有任何影响。

在LR中,每个样本点都会影响决策面。决策面会倾向于远离样本数量较多的类别。如果不同类别之间的数量严重不平衡,一般需要先对数据做balancing。

3、SVM是结构风险最小化,LR则是经验风险最小化。(loss函数出发)

结构风险最小化就是在训练误差和模型复杂度之间寻求平衡,防止过拟合,减小泛化误差。为了达到结构风险最小化的目的,最常用的方法就是添加正则项。

SVM的loss函数的第一项可看作L2正则项;LR需要加入正则化项。

4、在解决非线性问题时,SVM可采用核函数的机制,而LR通常不采用核函数的方法。

SVM只有少数几个样本需要参与核计算(即kernal machine解的系数是稀疏的)。

LR里每个样本点都要参与核计算,计算复杂度太高,故LR通常不用核函数。

5、SVM计算复杂,但效果比LR好,适合小数据集;LR计算简单,适合大数据集,可以在线训练。

参考:https://blog.csdn.net/qq_35945399/article/details/81175772

猜你喜欢

转载自blog.csdn.net/The_dream1/article/details/113343577