自己在libSvm中SMO算法中KKT条件的理解误区(还不确定)

在libsvm中,分类和回归都是基于的同一个SMO算法的Solver类,根据林智仁的文章A Library for Support Vector Machines,最终的二次规划问题可统一表示为:

自己在libSvm中SMO算法中KKT条件的理解误区(还不确定)_第1张图片

其中,eps-svr的具体形式是:

自己在libSvm中SMO算法中KKT条件的理解误区(还不确定)_第2张图片

统一之后,文献中说道的根据KKT条件选择合适的alpha,只要上式11满足当且仅当一个数字b,和两个非负向量lambda和xi:

自己在libSvm中SMO算法中KKT条件的理解误区(还不确定)_第3张图片

这里的KKT条件是针对式11的,之前一直以为是将原始问题转化为拉格朗日函数时,原问题中的约束要遵守的KKT条件,然后就一直迷糊了好多天,后来才想明白应该是式11转化为拉格朗日函数求解极小值时要遵守的KKT条件。原问题的KKT条件是为了确保原问题能够取得极小值,和这个不一样。

如果有大神看见这个博客觉得不对,一定要说出来,先谢谢了。因为感觉也不太对,Platt的最开始提出的SMO算法中,KKT条件是对应的原问题的不等式约束,即从对偶问题接触的alpha是原问题中的拉格朗日乘子,原问题中有不等式约束,因此是原问题的约束条件。这两个约束得到的结果是一致的么?先做个记号


图中的公式来自林智仁的文章:

LIBSVM: A Library for Support Vector Machines    这篇文章随着libsvm更新一直在更新,我找到的最新的是2013年的,地址在:

http://www-ai.cs.uni-dortmund.de:8080/LEHRE/FACHPROJEKT/SS14/Papers/libsvm.pdf

其中,eps-svr的具体形式是:

你可能感兴趣的:(自己在libSvm中SMO算法中KKT条件的理解误区(还不确定))