5. SVM小结

    • 5.1 SVM分类算法步骤
    • 5.2 一分类SVM(1-SVM)/多分类SVM
      • 5.2.1 1-SVM
      • 5.2.2 多分类SVM
        • (1)一对多法
        • (2) 一对一法
    • 5.3 SVM优缺点
      • (1)优点
      • (2)缺点

5.1 SVM分类算法步骤

输入:m个样本(x 1 ,y 1 ),(x 2 ,y 2 ),...,(x m ,y m ),其中x 为n维向量,y∈{−1,1}

输出:分离超平面(由w ∗ 和 b ∗ 决 定 w^{*}和b^{*}决定w ∗ 和b ∗ 决定)

  • Step1:选择适当的核函数K(,)和一个惩罚系数C>0, 构造约束优化问题:
  • Step2:用SMO算法求出上式最小时对应的α向量的值α ∗ 向量

5.2 一分类SVM(1-SVM)/多分类SVM

5.2.1 1-SVM

用于异常检测,通过超球提实现一分类:找到一个以α为中心,以R为半径的包含样本本的最小超球。

5.2.2 多分类SVM

  • 直接法:直接修改目标函数,将多个分类面的参数求解合并到一个最优化问题中,通过求解该最优化问题“一次性”实现多类分类。简单但是计算复杂度较高,只适合小型问题。
  • 间接法:主要通过组合多个二分类器来实现多分类器的构造,如:一对多(one-against-all)和一对一(one-against-one)方法。

(1)一对多法

训练时依次把某个类别的样本归为一类,其它样本归为另一类,这样k个类别的样本构造了k个SVM,分类时将未知样本分类为具有最大分类函数值的那类。

  • 优点:训练k个分类器,个数较少,分类速度相对较快
  • 缺点:
    • 训练速度会随训练样本数量的增加而急剧减慢
    • 样本不对称:负类样本的数据要远远大于正类样本的数据(可通过引入不同的惩罚因子解决,对样本点较少的正类采用较大的惩罚因子C CC)
      新的类别加入,需要对所有的模型重新训练

(2) 一对一法

在任意两类样本之间设计一个SVM,因此k个类别的样本需要设计k(k−1)/2个SVM,当对一个未知样本进行分类时,得票最多的类即为该样本的类别。当类别很多时,模型个数也很多,计算代价大。

5.3 SVM优缺点

(1)优点

  • 解决高维特征的分类问题和回归问题很有效,在特征维度大于样本数时依然有很好的效果。
  • 仅仅使用一部分支持向量来做超平面的决策,无需依赖全部数据。
  • 有大量的核函数可以使用,从而可以很灵活的来解决各种非线性的分类回归问题。
  • 样本量不是海量数据的时候,分类准确率高,泛化能力强。

(2)缺点

  • 在样本量非常大,核函数映射维度非常高时,计算量过大,不太适合使用。
  • 非线性问题的核函数的选择没有通用标准,难以选择一个合适的核函数。
  • 特征维度远远大于样本数时,表现一般。
  • 对缺失数据、噪声敏感。