机器学习——支持向量机SVM之基本型

来源:互联网 发布:高中生学编程 编辑:程序博客网 时间:2024/06/07 03:47

闲谈分类超平面

1、分类超平面(齐次)方程: w^T x=0

    a) x为n+1维的向量, w为 (n+1)×1 的矩阵(分类平面的法向量)

    b) w的作用是通过与样本向量x点乘,将向量映射到1维空间中(即原空间与分类超平面垂直的数轴)

    c) 公式 f(x)=w^T x 在几何上表示样本映射到数轴上的值(分类超平面对应数轴原点)

    d) 几何上的真实距离为 r=(w^T x)/|w|  ,可看作样本向量与单位法向量的点乘,即无放缩的映射

2、分类学习最基本的想法就是基于训练集在样本空间中找到一个划分超平面,将不同类型的样本分开。然而能将训练样本分开的划分超平面可能有很多,理论上我们应该找出鲁棒性最好的分类超平面,以获得最好的泛化能力。


间隔与支持向量

1、支持向量:距离超平面最近的、使以下不等式等号成立的几个样本点


2、间隔:两个异类支持向量到超平面的距离之和 γ=2/|w|


3、优化目标:最大化分类间隔 γ

    a)

    b) 可重写为:

    c) 这就是支持向量机(Support Vector Machine, SVM)的基本型

对偶问题

1、优化目标的拉格朗日函数可写为 L(w,b,α)=1/2 ‖w‖^2+∑_{i=1}^mα_i (1-y_i (w^T x_i+b))  ,其中 α_i≥0

2、故而规划问题就转变为,其对偶问题为

    a) 原问题是凸规划问题,直接求解是有难度的,因为通过消去拉格朗日系数来化简方程并无太大用处

    b) 通过拉格朗日对偶变换得到的对偶问题,求解其难度明显比原问题简单

    c) 原优化目标转化为规划问题有一个隐含的约束: α_i (y_i (w^T x_i+b)-1)=0

        i. 结合原目标函数和规划问题函数得,由后面结果可得

        ii. 化简得 ∑_{i=1}^m α_i (1-y_i (w^T x_i+b)) =0

        iii. 由 α_i≥0 和 y_i (w^T x_i+b)≥1 得 α_i (y_i (w^T x_i+b)-1)=0

3、拉格朗日函数分别对w和b求偏导,并令其为零,得

4、故而原优化目标的对偶问题为

    a) 推导过程


    b) 故而对偶问题为

5、解出 α 后,求出w和b即可得到模型 f(x)=w^T x+b=∑_{i=1}^m α_i y_i x_i^T x+b

6、总结上述过程,需要满足KKT(Karush-Kuhn-Tucker)条件


序贯最小优化(Sequential Minimal Optimization)

1、背景

    a) 求解拉格朗日系数是一个二次规划问题,可使用通用的二次规划算法求解

    b) 然而当问题规模正比于训练样本数时,通用的二次规划算法计算开销非常大

2、SMO是人们开发的高效算法中的一个著名代表,其不断执行以下两步骤直到收敛

    a) 选取一对需要更新的变量 α_i 和 α_j

    b) 固定 和 以外的参数,只对 α_i 和 α_j 优化 w(α)

    c) 根据优化后的 α_i 和 α_j 更新截距b

3、SMO是一种启发式搜索算法:使选取的两变量对应样本之间的间隔最大

    a) 选取的参数中,KKT条件的违背程度越大,变量更新后可能导致的目标函数值增幅越大

    b) 由于比较各变量对应的目标函数值增幅的复杂度过高,SMO采用一种启发式,即差异大的两参数相对于差异小的两参数,前者的更新会带给目标函数值更大的变化

4、SMO之所以高效,恰由于在固定其他参数后,仅优化两个参数的过程能做到非常高效

    a) 约束 ∑_{i=1}^m α_i y_i =0 可重写为 α_i y_i+α_j y_j=c,α_i≥0,α_j≥0 ,其中 c=-∑_{k≠i,j} α_k y_k

    b) 该约束代入对偶公式可得到一个关于 α_i 的单变量二次规划问题,仅有约束 α_i≥0 ,具有闭式解

    c) 对任意支持向量都有 y_s (w^T x_s+b)=1 ,则利用所有支持向量求解b的平均值更具鲁棒性 b=1/|S| ∑_{s∈S} (y_s-∑_{i∈S} α_i y_i x_i^T x_s )

原创粉丝点击