SMO要点总结

时间:2023-01-25 02:18:37

SMO要点总结:

SMO使用坐标上升的方法,求解SVM的最优解。和原始坐标上升方法的不同点在于:

1.      
由于SVM的限制条件
SMO要点总结,所以不能只使用一个坐标,改为更新两个

2.      
采用启发式方法,找到每次更新的坐标,而不是按顺序来

SMO的终止条件即,所有参数都符合KKT条件:

SMO要点总结     对应在margin以外的点

SMO要点总结 对应在margin上的点

SMO要点总结     对应在margin内的点

其中SMO要点总结

所以在伪代码中,使用如下代码判断,是否违反KKT条件

SMO要点总结

对于SMO要点总结 的点,应该有SMO要点总结,即SMO要点总结,若起小于0,则判定为违反KKT条件;同样,对于SMO要点总结的点,判定大于0为违反KKT条件

当所有点都没有违反KKT条件时,说明已经达到最优解

当选定第一个更新坐标SMO要点总结后,根据以下规则选择SMO要点总结

1.      
首先在unbound(SMO要点总结)点中,选择使SMO要点总结最大的SMO要点总结

2.      
若1失败,按随机顺序从unbound(SMO要点总结)点中开始尝试

3.      
若2失败,随机顺序从所有点尝试

更新SMO要点总结,SMO要点总结时,可以计算得到SMO要点总结的解析解,按以下公式更新:

SMO要点总结

由于a取值范围有限定,所以需要判断解析解是否在范围内

y1,y2异号

SMO要点总结

y1,y2同号

SMO要点总结

当新的a超过范围时,需要替换成对应的上下界

SMO要点总结

注意:SMO要点总结

当是个大于0的数字,用以上公式更新$\alpha_2$;

当等于0时,原式变成一元一次式,在L或H处去的最小(SMO要点总结>0时,函数单调降,取H,否则取L);

当小于0时,原式轮廓类似与$y=-x^2+1$,L和H谁离中间线(即SMO要点总结)远,谁取得最小値

得到新的a2后,计算a1

SMO要点总结

更新玩a后,接着需要更新
b

如果SMO要点总结为unbound,更新b为

SMO要点总结

如果SMO要点总结为unbound,更新b为

SMO要点总结

如果两者都为bound

SMO要点总结

最后更新每个点上的错误(考虑到只变化了SMO要点总结

SMO要点总结

SMO要点总结

SMO要点总结

SMO要点总结