• 关于机器学习SVM中KKT条件的深入理解推导


    关于机器学习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的公式从何而来呢
    在这里插入图片描述
    在这里插入图片描述

    首先回答第一个问题,为什么要取上下界:我们知道求解带约束问题时,由于启发式算法的求解,可能会破坏某些约束条件使其不满足,此时就需要认为的检测并且将其规范在解空间内,所以这里的上下界L和H是这样来的。
    下面就对第二个问题进行回答,也是本文的重点,L和H的min与max函数的参数是从何而来的呢?
    首先需要约束的时候,就是α1,α2违反了KKT条件,只有知道KKT条件,才能推出什么情况下违反,才能解释min和max的公式。

    KKT条件

    下面是C类优化问题、LCQ、规范性约束条件、LICQ、KKT、Slater等的充分必要关系,本文只讨论右上角的问题,但都在这里指出,给大家一个宏观的视野。(这与解决将要讨论的问题无关,只是了解一下,写出来是为了让文章更完整有说服力)
    在这里插入图片描述
    接下来就进入正题
    在这里插入图片描述
    左上角是线性SVM分类的示意图,其中有ABCDEF点,接下来对αi的不同情况进行几何意义上的讨论
    ①当0<α0
    而rξ=0(KKT条件,之前的模型中有提到,这是模型的约束条件)知,ξ=0
    ②当α=C时,由r
    ξ=1知r=0
    ③当α=0时,yi(wx+b)-1+ξ >= 0 ,此即题目的约束条件,因为α=0,所以其天然成立
    故我们可以总结出满足kkt条件的情况如下
    在这里插入图片描述
    当α=0时,也就是之前的③天然成立
    当0<α=1
    当α=C,由r=0,r*ξ=0知ξ可以为任意>=0的值,所以yi(wx+b)<=1
    综上所述,就是上图左下角的总结(KKT条件成立的情况),其中ui=wx+b

    违反KKT条件的情况

    所以违反KKT条件的情况就可以写出来了
    在这里插入图片描述
    当发生以上情况时,就可以采取限制条件,使解满足约束条件

    下面就是对于smo两个α迭代时的深入理解

    重新考虑a1y1+a2y2 = l的式子(这个式子在前面有等价替换,请注意)
    由于y1,y2取±1,所以只需要考虑a1a2同号和异号的情况
    将a1和a2视为横纵坐标画图,要注意到斜率为±1,波动为±l
    且因为 0=<α<=C,所以把参数解空间限制在了边长为C的正方形中
    根据不同的异号情况,我们做出示意图
    因此只需按照边界定制α1和α2的min和max即可

    在这里插入图片描述
    在这里插入图片描述
    所以就会有以下的综合模型
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    到这里SVM就完结撒花,完美理解
    本章历时一个多月,因为各种课程、科研和琐事,断断续续的看和理解,于今终于完成,也写下自己的理解与有碰到问题不理解的读者一起分享。

    参考文献

    [1]《统计学习方法(第2版)》2019年 清华大学出版社出版,李航

  • 相关阅读:
    仅仅只是用脱虚向实或者脱实向虚来诠释和表达产业互联网是不全面的
    Figma技术学习总结
    群晖 NAS 外网访问设置 - 腾讯 DNSPod
    Codeforces 353D 思维
    软件工程师必读的13本书
    Linux学习——进程间通信
    手机也可以搭建个人博客?安卓Termux+Hexo搭建属于你自己的博客网站【cpolar实现公网访问】
    公司电脑如何限制安装软件
    【word技巧】如何在word文件中方框打对勾?
    美国服务器vs香港服务器,哪个网站部署打开更快一些?
  • 原文地址:https://blog.csdn.net/wlfyok/article/details/127622765