SVM(五):SVM小结

5.1 SVM分类算法步骤

输入: m m 个样本 ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) {(\boldsymbol x_1,y_1), (\boldsymbol x_2,y_2), ..., (\boldsymbol x_m,y_m)} ,其中 x x n n 维向量, y { 1 , 1 } y \in \{-1,1\}

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

  • Step1:选择适当的核函数 K ( , ) \boldsymbol K( , ) 和一个惩罚系数 C > 0 C>0 , 构造约束优化问题:
    max α i = 1 m α i 1 2 i = 1 , j = 1 m α i α j y i y j K ( x i , x j ) s . t .       i = 1 m α i y i = 0 , 0 α i C ,    i = 1 , 2 , . . . m \begin{aligned} \max_{\boldsymbol \alpha} & \sum\limits_{i=1}^{m}\alpha_i - \frac{1}{2}\sum\limits_{i=1,j=1}^{m}\alpha_i\alpha_jy_iy_j\boldsymbol K(\boldsymbol x_i,\boldsymbol x_j) \\ s.t. \; & \; \sum\limits_{i=1}^{m}\alpha_iy_i = 0, \\ & 0 \leq \alpha_i \leq C, \; i=1,2,...m \end{aligned}
  • Step2:用SMO算法求出上式最小时对应的 α \boldsymbol \alpha 向量的值 α \boldsymbol \alpha^* 向量
  • Step3:计算 w = i = 1 m α i y i ϕ ( x i ) \boldsymbol w^{*} = \sum\limits_{i=1}^{m}\alpha_i^{*}y_i\phi(x_i)
  • Step4: 找出所有的 S S 个支持向量,即满足 0 < α s < C 0 < \alpha_s < C 对应的样本 ( x s , y s ) (\boldsymbol x_s,y_s) ,通过 y s ( i = 1 m α i y i K ( x i , x s ) + b ) = 1 y_s(\sum\limits_{i=1}^{m}\alpha_iy_i \boldsymbol K(\boldsymbol x_i,\boldsymbol x_s)+b) = 1 ,计算出每个支持向量 ( x s , y s ) (\boldsymbol x_s, y_s) 对应的 b s b_s^{*} ,对其求平均值得到
    b = 1 S i = 1 S ( y s i = 1 s α i y i K ( x i , x s ) b^{*} = \frac{1}{S}\sum\limits_{i=1}^{S}(y_s - \sum\limits_{i=1}^{s}\alpha_iy_i \boldsymbol K(\boldsymbol x_i,\boldsymbol x_s)

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

5.2.1 1-SVM

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

5.2.2 多分类SVM

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

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

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

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

5.3 SVM优缺点

(1)优点

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

(2)缺点

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

猜你喜欢

转载自blog.csdn.net/apr15/article/details/105018863
svm
今日推荐