先引用两篇好博客:
https://blog.csdn.net/u011239443/article/details/77170119
https://blog.csdn.net/willbkimps/article/details/54697698
对原始问题的拉格朗日乘子法得到其“对偶问题”,因为原始问题时凸问题,所以是强对偶,而且这个对偶问题也是凹的,所以可以用凸优化工具解决,为了提高效率,用了smo方法,选择两个α,固定其他的α,这两个α表示成一个α,用第一篇博客的方法解出α,然后求出另外一个α,然后用第一篇博的方法,求出b,代码循环很多次后,如果没有α变化,就是最后得到的α,再求出b和w,最终得到结果。
要点:根据西瓜书里面的132页的kkt条件,大部分α都为0,所以代码中初始化所有的α为0;然后根据西瓜书125页的启发式搜索方法加快代码收敛速度。