Linear SVM 不直接依赖数据的 distribution,分类平面不受一类点的影响。LR 受所有数据点的影响,如果 dataSet 不同类别 strongly unbalanced,一般会对 data 先做一次 balancing;
Linear SVM 在计算margin有多“宽”的时候是依赖数据表达上的距离测度的,换句话说如果这个测度不好(badly scaled,这种情况在高维数据尤为显著),所求得的所谓 Large margin就没有意义了,这个问题即使换用 kernel trick(比如用Gaussian kernel)也无法完全避免。所以使用 Linear SVM 之前一般都需要先对数据做 normalization,而求解LR(without regularization)时则不需要或者结果不敏感。
Linear SVM 受到 penalty 的参数影响,实验时要做 validation,比如依赖参数 C。
Linear SVM 和 LR 的 performance 都会收到outlier的影响,其敏感程度而言,谁更好很难下明确结论。
只有当 SVM 的 surrogate loss 是 hinge loss 的时候,SVM 才是 SVM。
hinge loss 存在一块零区域,对应的正是非支持向量的普通样本。因为。若,则有,即。根据 KKT 条件可知,最优解必须满足,即此时的。 等价于非支持向量。
当 SVM 选用作为 surrogate loss 时,就会利用 hinge loss 零区域的优势,使得 SVM 在寻找最优 hyperplane 时只选取少量的样本(support vector),所有的普通样本(非 support vector)不参与最优 hyperplane的确定,对训练样本的依赖大大减少,即 SVM不依赖样本(feature)的 distribution。hinger loss 的零区域与 SVM 只用少量样本来确定最优 hyperplane 的思想不谋而合。
SVM loss(hinge loss) 和 LR loss(MSE loss)的区别
两个 cost function 的目标都是增加对分类影响较大的数据点的权重,减少与分类关系不大的数据点的权重;
SVM 只考虑 support vectors,即利用 hyperplane最相关的少数点去学习分类器;
LR 通过 sigmod function 的非线性变化(映射),大大减少了离分类平面较远的点的权重,提升与分类最相关的数据点的权重;
SVM 关注局部,LR 关注全局。
当采用 hinge loss 时,式(29)变为:
引入“松弛变量” (slack variables) ,则可将上式重写为:
使用 hinge loss,实际是将 slack variables 作为 cost function 的一部分进行优;