LR和SVM
从目标函数的形式上看,使用线性核的SVM和带L2正则的LR是等价的,考虑
LR的目标函数
$$J_{LR}=-\frac{1}{m} \sum_{i=1}^{N} y_ilog(\frac{1}{1 + e^{-z_i}}) + (1 - y_i)log(1 - \frac{1}{1 + e^{-z_i}}) + \frac{\lambda}{2m}||w||^2$$
SVM的目标函数
$$J_{SVM} = C\sum_{i = 1}^{N} y_icost_1(z_i) + (1 - y_i)cost_0(z_i) + \frac{1}{2}||w||^2$$
其中\(cost_1(z)\)和\(cost_0(z)\)的图像如下
而\(-log(\frac{1}{1 + e^{-z_i}})\)和\(-log(1 - \frac{1}{1 + e^{-z_i}})\)的图像如下
LR如果不对特征进行处理只能处理线性分类问题,SVM可以通过引入核函数来处理非线性问题,SVM由于要计算核函数的值和存储核矩阵,因此具有较高的计算复杂度,在样本数目较多的时候不适用,在处理非线性分类的问题上,在训练时,SVM一定要对特征进行归一化处理,否则几何间隔对取值变化范围小的特征不敏感从而影响分类效果,而归一化一般情况下只会影响LR了收敛速度而对其分类效果不会有太大影响,在样本不均衡的情况下,如果样本数目不太多的情况下,使用SVM较适合,因为决策边界在SVM中只与支持向量相关而在LR中与所有的样本都相关。