机器学习技法-SVM原理

    以线性二元分类为例,在对一个平面内的点进行分类的时候,通常会有无数条直线可以将两类分开,那么选择哪一条线作为我们的分类依据呢?这里就引出了支撑向量机(SVM)这个概念。以我们通常的直觉,也会选择通过两类正中的一条直线,那么有怎么样的理论依据呢。

                                                                             

    这里我们要使得在参数w的作用线,使得图中灰色部分也称之为margin是最大的,第一个条件是保证所有的点能够正确的分类,第二个条件是找到里分界线最近的点。

                  

                

    上图主要是描述了点到分界面的距离是如何表示的,我们只需要把要求的点在法向量上作一个投影就可以求出其距离。

                    

    因为我们要求每个点都能正确分类,所以我们可以用标签乘上分类结果来去掉距离里面的绝对值符号。

    最后我们可以得到:

                   

这时我们还是不会解这个问题,需要进一步进行化简,第一个条件要求我们的所有点正确分类,所以标签乘上结果要大于0,那么我们可以对这个条件进行一个放缩,使得问题看起来更简单一些,可以这样来做:

                     

条件放缩过后要求解的问题变为:

                    

由于取最小值的条件还是比较的紧,需要进行进一步的放缩:

                    

里面的小框是原条件,大框使我们放缩后的条件,可以证明出在条件放松过后,并没有改变约束条件的本质。最后求解的问题转化为:

                                          

以上问题可以把相应的参数放到一个解二次规划的程序里就可以求得最优解。




猜你喜欢

转载自blog.csdn.net/pengxuan3507/article/details/80462921