首页 > 代码库 > 支持向量机(SVM)复习总结

支持向量机(SVM)复习总结

摘要:

  1.算法概述

  2.算法推导

  3.算法特性及优缺点

  4.注意事项

  5.实现和具体例子

内容:

1.算法概述

  其基本模型定义为特征空间上的间隔最大的线性分类器,即支持向量机的学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解。

或者简单的可以理解为就是在高维空间中寻找一个合理的超平面将数据点分隔开来,其中涉及到非线性数据到高维的映射以达到数据线性可分的目的。

2.算法推导

2.1几个基本概念:

2.1.1 函数间隔(function margin):

    单个样本i的函数间隔:技术分享,y取值{-1,1} ,W是参数向量,b是截距(这个margin会越大,表示分类越confident )

   整个样本的函数间隔:技术分享,即最小的样本函数间隔(整体的margin由最近的那个决定 )

2.1.2 几何间隔(geometric margins):

   单个样本i的几何间隔:技术分享(对functional margin做了norm L1归一化)

   整个样本样本的几何间隔:技术分享

2.1.3.凸二次优化(convex optimization)问题:

   技术分享(通过指定技术分享 而得)

 

2.2 几种最优化计算的工具:

2.2.1 拉格朗日乘数法(Lagrange Multiplier)

  应用问题:拉格朗日乘数法是用来解决极值问题的,其将一个有n 个变量与k 个约束条件的最优化问题转换为一个有n + k个变量的方程组的极值问题 

     技术分享

    既有等式,也有不等式的约束,称为generalized Lagrangian

    技术分享 

  其中,技术分享(拉格朗日因子)

  最终,求这个方程组 
   技术分享  
   解出w和拉格朗日算子β,求出f(w)的极值 

2.2.2 KKT(Karush-Kuhn-Tucker)约束条件

  对于一般的任意问题而言,KKT条件是使一组解成为最优解的必要条件,当原问题是凸问题的时候,KKT条件也是充分条件。

  技术分享

 

 

3.算法特性及优缺点

  优点:泛化错误率低,计算开销不大,结果易解释。

  缺点:对参数调节和核函数的选择敏感,原始分类器不加修改仅适用于处理二分类问题。

  适用数据类型:数值型和标称型数据。

4.注意事项

  核函数将数据从低维度映射到高维:SVM是通过寻找超平面将数据进行分类的,但是当数据不是线性可分的时候就需要利用核函数将数据从低维映射到高维使其线性可分后,

再应用SVM理论。

5.实现和具体例子

支持向量机(SVM)复习总结