LR和SVM区别
相同点
- 不考虑核函数的情况下,两者都是线性分类算法。
- 两者都是判别模型。
- 两者都是监督学习算法。
不同点
- 两者的损失函数不同:
- LR:${\rm{J}}(\theta ) = - \frac{1}{m}\left[ {\sum\limits_{i = 1}^m {{y^{\left( i \right)}}\log {h_\theta }\left( {{x^{\left( i \right)}}} \right) + \left( {1 - {y^{\left( i \right)}}} \right)\log \left( {1 - {h_\theta }\left( {{x^{\left( i \right)}}} \right)} \right)} } \right]$
- SVM:$L\left( {w,b,\alpha } \right) = \frac{1}{2}{\left\| w \right\|^2} - \sum\limits_{i = 1}^m {{\alpha _i}\left( {{y^{\left( i \right)}}\left( {{w^T}{x^{\left( i \right)}} + b} \right) - 1} \right)} $
-
LR基于概率论,用极大似然法来估计参数。支持向量机基于几何间隔最大化原理。
-
SVM只考虑决策边界附近的点,而LR考虑所有点。因此SVM对于样本类别不平衡有更好的容忍性。
-
SVM更适合采用核方法,因为SVM在计算决策面是只有少数样本起到作用,计算代价低。
-
SVM依赖数据的距离测度,所以数据需标准化,而LR不用。
-
SVM自带正则。