SVM
1. LR与SVM对比
- 损失函数
SVM是hinge损失;LR是log损失 - 输出
LR给出了后验概率;SVM只给出0或1,也就是属于哪一个类别 - 异常值
LR对异常值敏感;SVM相对不敏感,泛化能力好 - 训练集大小
较小的训练集更适合SVM。
SVM的参数优化方法是先转为对偶问题再使用SMO算法,最坏情况下的时间复杂度是O(n^2),并不适合在大规模数据集上做分类。
另外,在使用核技巧,例如RBF时,特征会升高至无限维,因此其计算量也变得很大。 - LR用到所有的样本点来寻找分割面;SVM只用到少数靠近支持面的几个点。
- 非线性处理方式
LR靠特征组合高次项;SVM也可以组合,但更多使用核函数 - LR较为简单,可以适用于大规模线性分类;SVM较复杂,但是理论支撑完备
- SVM只考虑支持向量
2. SVM的优缺点
2.1. 优点
- 可以有效解决高维特征的分类和回归问题
- 无需依赖全体样本,只依赖支持向量
- 有大量的核技巧可以使用,从而可以应对线性不可分
- 样本量中等偏小照样有较好的效果
2.2. 缺点
- 如果特征维度远大于样本个数,SVM表现一般
- SVM在样本巨大且使用核函数时计算量很大
- 非线性数据的核函数选择依旧没有标准
- SVM对缺失数据敏感
- 特征的多样性导致很少使用svm,因为 svm 本质上是属于一个几何模型,这个模型需要去定义 instance 之间的 kernel 或者 similarity(线性svm中的内积),而我们无法预先设定一个很好的similarity。这样的数学模型使得 svm 更适合去处理 “同性质”的特征
3. SVM的损失函数
4. SVM为什么要从原始问题变为对偶问题来求解
- 对偶问题将原始问题中的约束转为了对偶问题中的等式约束
- 方便核函数的引入
- 改变了问题的复杂度。由求特征向量 转化为求比例系数 ,在原始问题下,求解的复杂度与样本的维度有关,即 的维度。在对偶问题下,只与样本数量有关。