SVM 实践步骤

时间:2023-03-09 07:49:55
SVM 实践步骤

主要公式步骤:

原距离问题的函数:SVM 实践步骤

  1.将SVM的距离问题转化为拉格朗日函数:

    SVM 实践步骤

  2.原函数问题化成如下问题:

    SVM 实践步骤

     SVM 实践步骤

  3.对各非拉格朗日参数求偏导来求min值:

    SVM 实践步骤

  4.将上面 令各偏导等于0 的结果带回 拉格朗日函数 消去非拉格朗日参数(w,b,£)

    结果为:SVM 实践步骤

    步骤:

    SVM 实践步骤

  5.用SMO算法求α:

    KKT条件:

      SVM 实践步骤

    将拉格朗日函数转化为下面函数:

      SVM 实践步骤

    根据 α1y1+α2y2 = k(常数),可以将他们(α1,α2)替换成一个变量,且有一个范围:

    SVM 实践步骤

      对于左边:      

       SVM 实践步骤

      对于右边:

      SVM 实践步骤

      所以最小值区域:

      SVM 实践步骤

      SVM 实践步骤

      SVM 实践步骤

      SVM 实践步骤

    原式:

      SVM 实践步骤

    简化为:

       SVM 实践步骤

      将α1转化为α2SVM 实践步骤

      代入上面:

      SVM 实践步骤

      求导:SVM 实践步骤

      SVM 实践步骤

      SVM 实践步骤

                SVM 实践步骤    

  6.将α代入

    SVM 实践步骤

    SVM 实践步骤求得w,μ

  7.用0<α<C的样本(支持向量)求出b

    

 变量选择:

第一个变量: 

SMO算法称选择第一个变量为外层循环,这个变量需要选择在训练集中违反KKT条件最严重的样本点。对于每个样本点,要满足的KKT条件:

                      SVM 实践步骤

一般来说,我们首先选择违反

SVM 实践步骤 这个条件的点。

如果这些支持向量都满足KKT条件,再选择违反

SVM 实践步骤的点。

第二个变量的选择

SVM 实践步骤

SVM 实践步骤

重要参数总结图:

  SVM 实践步骤