smo

作者: 叮宕 | 来源:发表于2019-01-18 19:54 被阅读14次

    好了,有了上两篇,svm坐标上升法这两篇,终于可以说这篇smo算法了。

    废话不说,我们当然想用坐标上升求这个只有r1,r2,r3,...rn的函数的最大值,但是问题是这个函数有个约束,就是sum(ri*yi)=0

    你看,你要是按照坐标上升法,选定一个变量,比如r1,其它变量看成常数,这个时候r1就没法做变量了。因为:

    sum(ri*yi)=r1*y1+sum(rj*yj) [j=2到n]
    然后
    r1*y1=-sum(rj*yj) 后面的就成了常数了 [因为其它变量是常数,yj是常数]
    

    这怎么办呢?咬咬牙,一次选两个好了,比如ri和rj,然后用ri可以表示rj,然后带回到函数,就可以只关于ri了。

    比如我们取r1和r2,图百度搜的,人家用的尔耳法,我打不出来:( 看图时把尔耳法转换成r就好,一样的,表示不同而已


    201103182043073145.png

    这样,右边是常数,则r1和r2成线性关系。根据直线的通式:AX+BY+C=0,我们很容易得到,当y1与y2异号与同号时的图形,值得注意的是加上了个折中经验风险和置信风险的C


    201106012315132094.png 201106012315132585.png

    我们可以看到两个ri和rj的选取必须同时满足直线与0到C的盒子这两个约束,所以可以给它们定义出范围来即:
    L≤r≤H


    chartafa.png

    下面的就和坐标上升一致了。

    另一个问题是怎么选取这两个ri和rj,smo使用的是启发式的方法选择

    相关文章

      网友评论

          本文标题:smo

          本文链接:https://www.haomeiwen.com/subject/ejcodqtx.html