深度学习-机器学习(5.2支持向量机SVM)

1.SVM如何找出最大边际的超平面呢(MMH)?

     利用一些数学推到,以上一节的公式可变为有限的凸优化问题(convex quadratic optimization)

    利用Karush-Kuhn-Tucker)(KKT)条件和拉格朗日公式,可以推出MMH可以被表示为以下“决定边界(decision boundary)”

   可以表示的公式:

                             

其中:  l 是支持向量点的个数  

            yi  是支持向量点 xi  (support vector)的类别标记(class label)

            xT   (是要预测的实例,但必须是转置后的)

           αi 和b0都是单一的值(都是通过解决优化问题算出来的具体的值 )

 这个公式就是  边际最大化的 超平面,当有一个实例进来的时候 ,把它带入这个方程,看它是正的还是负的,通过它的符号就可  以对这个点进行归类。

 2.对于任何测试(要归类的)实例,带入以上公式,得出的符号是正还是负决定

  即实例是在建立的超平面的某一侧,用正负号来区分

3. 来看一个具体的例子:

     

一类用方框表示,一类用圆圈表示,对这个例子用SVM来做个分类

左边的点:

右边的点

如图::

 假设已经求解到了几个支持向量的话,怎么才能知道这个超平面的方程

  运算过程已经在图上写出了。可以解出ω0和a的值,解出之后代入公式,可解出这个超平面的

  方程。

   可以验证 把超平面上方的点代入方程就为大于0的,下方的话就是小于0的

下一节 在Python中实现SVM

猜你喜欢

转载自blog.csdn.net/wei18791957243/article/details/80510392