SMO算法在更新参数b过程中的疑问


smo算法中计算得到两个新的参数a1,a2后需要更新参数b,更新过程如下(详细见july博客http://blog.csdn.net/v_july_v/ ... mments)

july.png

上面是july博客中的内容,貌似没什么问题,照这样更新b就行了

但是当a1 a2同时大于0,小于C 就会得到两个满足条件的b1 b2,这时候该怎么更新b呢?
李航的《统计学习方法》中,提到,这时候,b1 == b2,所以随便取其中一个就好。。。

原文如下

b.png


那么问题来了:
a1 a2同时大于0小于C,此时b1一定会等于b2吗?怎么证明呢?
对于这个问题,似乎有点明白了,所以各位朋友重点帮我解决下面的问题吧。

{这里先附上对上面问题的理解:
当新的a1 大于0小于C时候,对应这个点xi刚好在决策边界上,通过KKT条件0<a<C => yi*(w*xi + b) ==1 ==> b1的值
bnew = b1

当新的a2 大于0小于C时候,同理求得b2 的值
bnew = b2

那么 a1 和a2同时大于0小于C的时候,b1 b2两个都可用,说明a1,a2对应的x1,x2都在决策边界上

这个时候计算出来的b肯定是相同的,因为两个点x1 x2到分割面的函数距离都是1,而这个分割面的w是确定的,x1,x2处于分割面的哪一侧也是确定的,即y1,y2是确定的,那么由x1 x2计算得到的b也是确定的。相同的。}

问题又来了:
《统计学习方法》里面说如果当 a1, a2是0或者C,那么 b1 ,b2以及它们之间的数都是符合KKT条件的b,这时候选择它们的中点作为b(new)。。

为什么如果 a1,a2是0或者C,那么 b1 ,b2以及它们之间的数都是符合KKT条件的b,怎么证明?
已邀请:

手机用户554648

赞同来自:


你好,请问x1和x2的相对位置不确定,那么b1和b2的相对大小也是不确定的,那么两个平面一边向左一边向右不是很容易就构造出是开集的情况吗?求解释。

要回复问题请先登录注册

收藏七月在线,一起向大牛进阶

ctrl+D或command+D可以快速收藏哦~