关于机器学习SVM中KKT条件的深入理解推导
本文面向在寻找KKT条件相关推到文章的读者,且默认前面关于svm的松弛下的模型和smo算法推到都已经了解。如果没有或者需要温习,请参看支持向量机SVM与SMO算法的的详细推导过程,文章虽然是本科时期所写比较粗糙,但在本文发表前已经重做修改(虽然界面比较丑),但耐心一定能看懂。若想要看视频的推导,也可以看我发现的宝藏up主大海老师,翻看里面的机器学习专栏。
目前为止的已知
目前我们已经推导出了未松弛与松弛的拉格朗日算法的模型,并且根据递推关系得出了α2的迭代关系式如下
而smo算法是一种启发式的算法,它在所有的α中选择两个进行smo算法的迭代,直到终止条件满足。
对于两个α的递推迭代,我们有如下的基础模型[1],我们记作图1
其中min W(α1,α2)时目标函数,每个0=< αi <= C,C是惩罚因子(一般一开始就为固定的常数)
还有约束条件 a1y1 + a2y2 = l,(为了之后的简写,把α等价于a,ceta用l替代),因为只对a1和a2作考虑,所以把其他的求和项就视为l了,这样便于书写推导。
相信读者对SVM的kkt条件奇怪的地方是这里,为什么要取上下界,min和max的公式从何而来呢