HOME 首页
SERVICE 服务产品
XINMEITI 新媒体代运营
CASE 服务案例
NEWS 热点资讯
ABOUT 关于我们
CONTACT 联系我们
创意岭
让品牌有温度、有情感
专注品牌策划15年

    kkt条件推导(kkt条件推导的一定收敛吗)

    发布时间:2023-04-22 08:22:28     稿源: 创意岭    阅读: 66        

    大家好!今天让创意岭的小编来大家介绍下关于kkt条件推导的问题,以下是小编对此问题的归纳整理,让我们一起来看看吧。

    开始之前先推荐一个非常厉害的Ai人工智能工具,一键生成原创文章、方案、文案、工作计划、工作报告、论文、代码、作文、做题和对话答疑等等

    只需要输入关键词,就能返回你想要的内容,越精准,写出的就越详细,有微信小程序端、在线网页版、PC客户端

    官网:https://ai.de1919.com

    创意岭作为行业内优秀的企业,服务客户遍布全球各地,如需了解SEO相关业务请拨打电话175-8598-2043,或添加微信:1454722008

    本文目录:

    kkt条件推导(kkt条件推导的一定收敛吗)

    一、支持向量机—从推导到python手写

    笔者比较懒能截图的地方都截图了。

    支持向量机分为三类:

    (1)线性可分支持向量机,样本线性可分,可通过硬间隔最大化训练一个分类器。

    (2)线性支持向量机,样本基本线性可分,可通过软间隔最大化训练一个分类器。

    (3)非线性支持向量机,样本线性不可分,可通过核函数和软间隔最大化训练一个分类器。

    上面最不好理解的恐怕就是硬间隔和软间隔了,

    说白了硬间隔就是说存在这么一个平面,可以把样本完全正确无误的分开,当然这是一种极理想的情况,现实中不存在,所以就有了软间隔。

    软间隔说的是,不存在一个平面可以把样本完全正确无误的分开,因此呢允许一些样本被分错,怎么做呢就是加入松弛变量,因为希望分错的样本越小越好,因此松弛变量也有约束条件。加入松弛变量后,问题就变为线性可分了,因为是每一个样本都线性可分,因此松弛变量是针对样本的,每一个样本都对应一个不同的松弛变量。

    其实感知机说白了就是找到一条直线把样本点分开,就是上方都是一类,下方是另一类。当然完全分开是好事,往往是不能完全分开的,因此就存在一个损失函数,就是误分类点到这个平面的距离最短:

    这里啰嗦一句,误分类点y*(wx+b)<0,所以加个负号在前边。

    一般情况下||w||都是可以缩放,那么我们把它缩放到1,最后的目标函数就变成了

    间隔就是距离,我们假设分离超平面为 ,那么样本点到这个平面的距离可以记为 。我们都知道通过感知机划分的点,超平面上方的点 ,下方的点 ,然后通过判断 的值与y的符号是否一致来判断分类是否正确。根据这个思路函数间隔定义为:

    支持向量的定义来源于几何间隔,几何间隔最直接的解释是离分隔超平面最近点的距离,其他任何点到平面的距离都大于这个值,所以几何间隔就是支持向量。然后呢同样道理,w和b是可以缩放的,所以定义支持向量满足如下条件:

    再通俗一点说,支持向量是一些点,这些点到分隔平面的距离最近,为了便于表示,把他们进行一下缩放计算,让他们满足了wx+b=+-1.

    核函数是支持向量机的核心概念之一,它存在的目的就是将维度转换之后的计算简化,达到减少计算量的目的。我们都知道支持向量机求的是间距最大化,通常情况下我们求得的alpha都等于0,因此支持向量决定了间距最大化程度。

    核函数的形式是这样的

    其中x(i)和x(j)都是向量,他们两个相乘就是向量内积,相乘得到一个数。刚才说了目标函数一般只和支持向量有关,因此在做核函数计算之前,实际就是选择的支持向量进行计算。

    这个写完下面得再补充

    我们知道了支持向量的概念,那么支持向量机的目标函数是要使这两个支持向量之间的距离尽可能的远,因为这样才能更好地把样本点分开,当然支持向量也要满足最基本的约束条件,那就是分类正确,还有就是其他点到分隔平面的距离要大于等于支持向量到分隔平面的距离。

    这种凸优化问题都可以通过拉格朗日算子进行优化,就是把约束条件通过拉格朗日系数放到目标函数上。这部分基础知识,就是拉格朗日算法可以将等式约束和不等式约束都加到目标函数上,完成求解问题的转换,但是要满足一些约束条件,也就是我们后边要说的kkt条件。

    这里有个细节就是转换时候的加减号问题,这个和目标函数还有约束的正负号有关。一般这么理解,就是求最小化问题时候,如果约束是大于0的,那么拉个朗日算子可以减到这一部分,这样一来目标函数只能越来越小,最优解就是约束为0的时候,这个时候和没有约束的等价,再求最小就是原问题了。

    这里是最小化问题,直接减掉这部分约束,然后后半部分永远大于等于0所以这个式子的值是要小于原来目标函数值的。我们知道当x满足原问题的约束条件的时候,最大化L就等于那个原目标函数。所以我们可以把这个问题转化为:

    把它带回去原来的目标函数中,整理一下。

    这个时候只要求最优的α,就可以求出w和b了。我们上边做了那么一堆转换,这个过程要满足一个叫做kkt条件的东西,其实这个东西就是把一堆约束条件整理到一起。

    (1)原有问题的可行性,即h(x )=0,g(x )<0

    放到这里就是:

    SMO算法的核心思想是求出最优化的α,然后根据之前推导得到的w,b,α之间的关系计算得到w和b,最后的计算公式是:

    现在的问题就是怎么求α了。

    SMO算法总共分两部分,一部分是求解两个α的二次规划算法,另一部分是选择两个α的启发式算法。

    先说这个选择α的启发式算法部分:大神可以证明优先优化违反kkt条件的α可以最快获得最优解,至于咋证明的,就先不看了。

    在讲支持向量机的求解算法时候,直接给出了核函数K,那么怎么去理解核函数呢。核函数的作用是解决样本点在高维空间的内积运算问题,怎么理解呢,通常的分类问题都是有很多个特征的,然后为了达到现线性可分,又会从低维映射到高维,样本量再一多计算量非常大,因此先通过函数进行一个转换,减少乘法的计算量。

    要理解核函数,先理解内积运算,内积运算实际是两个向量,对应位置相乘加和,比如我有x1 = [v1,v2], x2=[w1,w2],那么x1和x2的内积计算方法就是:v1w1+v2w2。

    如果上面那种情况线性不可分,需要到高维进行映射,让数据变得线性可分,然后数据变为五维的,即v1 2+v2 2+v1+v2+v1v2,然后再进行一次内积计算,数据变为 。

    稍作变换,可以变为 ,形式展开和上边那个长式子差不多,然后其实可以映射内积相乘的情况,所以可以进行核函数的变化。

    问题在于,当你需要显式的写出来映射形式的时候,在维度很高的时候,需要计算的量太大,比如x1有三个维度,再进行映射就有19维度了,计算很复杂。如果用核函数,还是在原来低维度进行运算,既有相似的效果(映射到高维),又低运算量,这就是核函数的作用了。

    核函数的种类:

    这部分的核心在于SMO算法的编写。有待补充。

    二、笔记:支持向量机

    1、线性可分支持向量机

    线性可分支持向量机是指在训练数据集线性可分的情况下,寻找一条几何间隔最大化的直线(也称硬间隔最大化),将正样本和负样本完全分开。

    1.1、目标函数

    设有数据集D{(x(1),y(1)),(x(2),y(2)),(x(3),y(3))...(x(m),y(m))}含有m个样本,其中x∈Rn,y∈(-1,+1)。(x为n维向量),分割样本的直线方程为y=ω.x+b(ω∈Rn属于n维向量),目标函数为:

    1.2 对偶理论求解目标函数

    1)1.1中的问题称为函数优化的原问题,构造广义拉格朗日函数L(ω,b,α): 其中,α为拉格朗日乘子,数学上可以证明,构造的拉格朗日函数的最小最大问题(先对α求最大值,再对ω,b求最小值)与原问题等价,即min ω,b max α L(ω,b,α)与原问题等价。

    2)容易证明,min ω,b max α L(ω,b,α)与其对偶问题max α min ω,b L(ω,b,α)满足以下关系:

    上式被成为弱对偶关系

    3)如果原问题是一个凸二次规划问题,则满足强对偶关系,即:

    此外,原问题与对偶问题满足强对偶关系的充要条件是KKT条件:

    1.3 对偶问题的解

    由强对偶关系,可以将求原问题转化为求对偶问题,通过KKT条件,可以得到将对偶问题的优化问题最终转化为:

    该问题为凸二次规划问题,可以利用一些优化算法进行求解,比如SMO算法等。

    1.4分类超平面和决策函数

    由1.3求得最优解α * 后,可分别得到ω * 和b *

    选择α * 中的一个正分量α * j >0,可得b *

    分离超平面为:y=ω * .x+b *

    决策函数为f(x)=sign(ω * .x+b * )

    线性可分支持向量机求得的超平面唯一。

    1.5支持向量

    只有那些拉格朗日乘子α不为0对应的点才对最终的决策函数有贡献,这些点均位于分割边界上,被称为支持向量。

    2、线性支持向量机

    对于训练集出现某些异常点,导致无法线性可分,线性支持向量机目的在于寻找一条直线,在剔除这些异常点后,使大部分训练数据是线性可分的,实现软间隔最大化。

    2.1 目标函数

    其中,参数C用来对误分类进行惩罚,C越大,对误分类容忍度越小;ζ表示松弛因子。

    2.2对偶问题的求解

    最终转化为对偶问题的优化为:

    2.3分类超平面和决策函数

    由1.3求得最优解α * 后,可分别得到ω * 和b *

    选择α * 中的一个正分量0<α * j <C,可得b * ,注意,此时求得的b值不唯一:

    分离超平面为:y=ω * .x+b *

    决策函数为f(x)=sign(ω * .x+b * )

    注意,线性支持向量机求得的超平面不唯一。

    2.4支持向量

    支持向量由在函数间隔边界上的点、超平面与间隔边界上的点、位于超平面上的点和误分类点组成。

    3、非线性支持向量机与核函数

    非线性支持向量机用来解决线性不可分数据集的分类问题。现实中存在一些数据集,在现有特征维度下完全线性不可分(与只存在一些异常点不同,使用软间隔最大化的线性支持向量及也不能解决),非线性支持向量机通过核函数,将低维数据集通过映射函数转换为高维数据,这些高维数据是线性可分的。

    3.1 核函数

    1)设X是输入空间,H为特征空间,如果存在映射函数φ(x)使在输入空间X的数据映射到特征空间H中,使得对于输入空间X中的任意x,z∈X,都有:

    则称K(x,z)为核函数。

    2)常用核函数

    (1)多项式核函数

    其中,p为多项式次数。

    (2)高斯核函数

    对应的支持向量机为高斯径向基函数分类器。

    高斯核函数中的参数δ较大时,导致高偏差,低方差;

    δ参数较小时,导致低偏差,高方差。

    (3)字符串核函数

    定义在字符串上的核函数

    3.2目标函数

    目标函数转化为对偶问题的求解,并应用核函数后,可以转化为:

    3.3 决策函数

    在3.2求得α值后,不必通过映射函数φ(x)求参数ω,而是通过核函数求得决策函数:

    将数据从低维空间通过映射函数映射到高维空间,当做优化计算时,不必显式求得映射函数,而是通过核函数在低维空间做计算,这种方式称为为核技巧。

    注意:吴恩达机器学习课程中,称高斯核函数K(x i ,x)为样本x与参考点x i (i=1,2,...m)的相似度函数。对于容量为m训练数据集,选择这m个数据作为参考点,将样本x与参考点x i 的高斯核函数(相似度函数)构建新的特征f i ,最终的决策函数可以表示为:

    其中,θ 0 对应着公式3.3中的b * ,θ i 对应着α i * y i ,f i 对应着K(x i ,x)。

    三、最优化问题求解方法

    在求解最优化问题中,拉格朗日乘子法(Lagrange Multiplier)和KKT(Karush Kuhn Tucker)条件是两种最常用的方法。在有等式约束时使用拉格朗日乘子法,在有不等约束时使用KKT条件。

    我们这里提到的最优化问题通常是指对于给定的某一函数,求其在指定作用域上的全局最小值(因为最小值与最大值可以很容易转化,即最大值问题可以转化成最小值问题)。提到KKT条件一般会附带的提一下拉格朗日乘子。对学过高等数学的人来说比较拉格朗日乘子应该会有些印象。二者均是求解最优化问题的方法,不同之处在于应用的情形不同。

    一般情况下,最优化问题会碰到一下三种情况:

    这是最简单的情况,解决方法通常是函数对变量求导,令求导函数等于0的点可能是极值点。将结果带回原函数进行验证即可。

    设目标函数为f(x),约束条件为h_k(x),形如:

    s.t. 表示subject to ,“受限于”的意思,l表示有l个约束条件。

    则解决方法是消元法或者拉格朗日法。消元法比较简单不在赘述,这里主要讲拉格朗日法,因为后面提到的KKT条件是对拉格朗日乘子法的一种泛化。

    作为一种优化算法,拉格朗日乘子法主要用于解决约束优化问题,它的基本思想就是通过引入拉格朗日乘子来将含有n个变量和k个约束条件的约束优化问题转化为含有(n+k)个变量的无约束优化问题。拉格朗日乘子背后的数学意义是其为约束方程梯度线性组合中每个向量的系数。

    如何将一个含有n个变量和k个约束条件的约束优化问题转化为含有(n+k)个变量的无约束优化问题?拉格朗日乘数法从数学意义入手,通过引入拉格朗日乘子建立极值条件,对n个变量分别求偏导对应了n个方程,然后加上k个约束条件(对应k个拉格朗日乘子)一起构成包含了(n+k)变量的(n+k)个方程的方程组问题,这样就能根据求方程组的方法对其进行求解。

    首先定义拉格朗日函数F(x):

    然后解变量的偏导方程:

    我们上述讨论的问题均为等式约束优化问题,但等式约束并不足以描述人们面临的问题,不等式约束比等式约束更为常见,大部分实际问题的约束都是不超过多少时间,不超过多少人力,不超过多少成本等等。所以有几个科学家拓展了拉格朗日乘数法,增加了KKT条件之后便可以用拉格朗日乘数法来求解不等式约束的优化问题了。

    设目标函数f(x),不等式约束为g(x),有的教程还会添加上等式约束条件h(x)。此时的约束优化问题描述如下:

    则我们定义不等式约束下的拉格朗日函数L,则L表达式为:

    其中f(x)是原目标函数,hj(x)是第j个等式约束条件,λj是对应的约束系数,gk是不等式约束,uk是对应的约束系数。

    常用的方法是KKT条件,同样地,把所有的不等式约束、等式约束和目标函数全部写为一个式子L(a, b, x)= f(x) + a g(x)+b h(x),

    首先,我们先介绍一下什么是KKT条件。

    KKT条件是指在满足一些有规则的条件下, 一个非线性规划(Nonlinear Programming)问题能有最优化解法的一个必要和充分条件. 这是一个广义化拉格朗日乘数的成果. 一般地, 一个最优化数学模型的列标准形式参考开头的式子, 所谓 Karush-Kuhn-Tucker 最优化条件,就是指上式的最优点x∗必须满足下面的条件:

    1). 约束条件满足gi(x∗)≤0,i=1,2,…,p, 以及,hj(x∗)=0,j=1,2,…,q

    2). ∇f(x∗)+∑i=1μi∇gi(x∗)+∑j=1λj∇hj(x∗)=0, 其中∇为梯度算子;

    3). λj≠0且不等式约束条件满足μi≥0,μigi(x∗)=0,i=1,2,…,p。

    四、小球大间隔模型存在的对偶问题

    软间隔

    在上文当中我们说了,在实际的场景当中,数据不可能是百分百线性可分的,即使真的能硬生生地找到这样的一个分隔平面区分开样本,那么也很有可能陷入过拟合当中,也是不值得追求的。

    因此,我们需要对分类器的标准稍稍放松,允许部分样本出错。但是这就带来了一个问题,在硬间隔的场景当中,间隔就等于距离分隔平面最近的支持向量到分隔平面的距离。那么,在允许出错的情况下,这个间隔又该怎么算呢?

    为了解决这个问题,我们需要对原本的公式进行变形,引入一个新的变量叫做松弛变量。松弛变量我们用希腊字母𝜉

    ξ

    来表示,这个松弛变量允许我们适当放松$y_i(\omega^T x_i + b) \ge 1 这个限制条件,我们将它变成

    y_i(\omega^T x_i + b) \ge 1-\xi_i $。

    也就是说对于每一条样本我们都会有一个对应的松弛变量𝜉𝑖

    ξ

    i

    ,它一共有几种情况。

    𝜉=0

    ξ

    =

    0

    ,表示样本能够正确分类

    0<𝜉<1

    0

    <

    ξ

    <

    1

    ,表示样本在分割平面和支持向量之间

    𝜉=1

    ξ

    =

    1

    ,表示样本在分割平面上

    𝜉≥1

    ξ

    1

    ,表示样本异常

    我们可以结合下面这张图来理解一下,会容易一些:

    松弛变量虽然可以让我们表示那些被错误分类的样本,但是我们当然不希望它随意松弛,这样模型的效果就不能保证了。所以我们把它加入损失函数当中,希望在松弛得尽量少的前提下保证模型尽可能划分正确。这样我们可以重写模型的学习条件:

    min12||𝜔||2+𝐶∑𝑖=1𝑚𝜉𝑖𝑠.𝑡.𝑦𝑖(𝜔𝑇𝑥𝑖+𝑏)≥1−𝜉𝑖,𝜉𝑖≥0,𝑖=1,2,3…,𝑛𝑖=1,2,3…,𝑛

    min

    1

    2

    |

    |

    ω

    |

    |

    2

    +C

    i

    =

    1

    m

    ξ

    i

    s.t.

    y

    i

    (

    ω

    T

    x

    i

    +b)≥1−

    ξ

    i

    , i=1,2,3…,n

    ξ

    i

    ≥0, i=1,2,3…,n

    这里的C是一个常数,可以理解成惩罚参数。我们希望||𝜔||2

    |

    |

    ω

    |

    |

    2

    尽量小,也希望∑𝜉𝑖

    ξ

    i

    尽量小,这个参数C就是用来协调两者的。C越大代表我们对模型的分类要求越严格,越不希望出现错误分类的情况,C越小代表我们对松弛变量的要求越低。

    从形式上来看模型的学习目标函数和之前的硬间隔差别并不大,只是多了一个变量而已。这也是我们希望的,在改动尽量小的前提下让模型支持分隔错误的情况。

    模型推导

    对于上面的式子我们同样使用拉格朗日公式进行化简,将它转化成没有约束的问题。

    首先,我们确定几个值。第一个是我们要优化的目标:𝑓(𝑥)=min𝜔,𝑏,𝜉12||𝜔||2+𝐶∑𝑚𝑖=1𝜉𝑖

    f

    (

    x

    )

    =

    min

    ω

    ,

    b

    ,

    ξ

    1

    2

    |

    |

    ω

    |

    |

    2

    +

    C

    i

    =

    1

    m

    ξ

    i

    第二个是不等式约束,拉格朗日乘子法当中限定不等式必须都是小于等于0的形式,所以我们要将原式中的式子做一个简单的转化:

    𝑔(𝑥)=1−𝜉𝑖−𝑦𝑖(𝜔𝑇𝑥𝑖+𝑏)≤0ℎ(𝑥)=−𝜉𝑖≤0

    g(x)=1−

    ξ

    i

    y

    i

    (

    ω

    T

    x

    i

    +b)≤0 h(x)=−

    ξ

    i

    ≤0

    最后是引入拉格朗日乘子: 𝛼=(𝛼1,𝛼2,⋯,𝛼𝑚),𝛽=(𝛽1,𝛽2,⋯,𝛽𝑚)

    α

    =

    (

    α

    1

    ,

    α

    2

    ,

    ,

    α

    m

    )

    ,

    β

    =

    (

    β

    1

    ,

    β

    2

    ,

    ,

    β

    m

    )

    我们写出广义拉格朗日函数:𝐿(𝜔,𝑏,𝜉,𝛼,𝛽)=12||𝜔||2+𝐶∑𝑚𝑖=1𝜉𝑖,+∑𝑚𝑖=1𝛼𝑖(1−𝜉𝑖−𝑦𝑖(𝜔𝑇𝑥𝑖+𝑏))−∑𝑚𝑖=1𝛽𝑖𝜉𝑖

    L

    (

    ω

    ,

    b

    ,

    ξ

    ,

    α

    ,

    β

    )

    =

    1

    2

    |

    |

    ω

    |

    |

    2

    +

    C

    i

    =

    1

    m

    ξ

    i

    ,

    +

    i

    =

    1

    m

    α

    i

    (

    1

    ξ

    i

    y

    i

    (

    ω

    T

    x

    i

    +

    b

    )

    )

    i

    =

    1

    m

    β

    i

    ξ

    i

    我们要求的是这个函数的最值,也就是min𝜔,𝑏,𝜉max𝛼≥0,𝛽≥0𝐿(𝜔,𝑏,𝜉,𝛼,𝛽)

    min

    ω

    ,

    b

    ,

    ξ

    max

    α

    0

    ,

    β

    0

    L

    (

    ω

    ,

    b

    ,

    ξ

    ,

    α

    ,

    β

    )

    在处理硬间隔的时候,我们讲过对偶问题,对于软间隔也是一样。我们求L函数的对偶函数的极值。

    对偶问题

    原函数的对偶问题是max𝛼≥0,𝛽≥0min𝜔,𝑏,𝜉𝐿(𝜔,𝑏,𝜉,𝛼,𝛽)

    max

    α

    0

    ,

    β

    0

    min

    ω

    ,

    b

    ,

    ξ

    L

    (

    ω

    ,

    b

    ,

    ξ

    ,

    α

    ,

    β

    )

    ,这个对偶问题要成立需要满足KKT条件。

    我们先把这个KKT条件放一放,先来看一下对偶问题当中的内部的极小值。这个极小值没有任何约束条件,所以我们可以放心大胆地通过求导来来计算极值。这个同样是高中数学的内容,我们分别计算∂𝐿∂𝜔

    L

    ω

    ,∂𝐿∂𝑏

    L

    b

    和∂𝐿∂𝜉

    L

    ξ

    求导之后,我们可以得到:

    ∂𝐿∂𝜔=0∂𝐿∂𝑏=0∂𝐿∂𝜉=0→𝜔=∑𝑖=1𝑚𝛼𝑖𝑦𝑖𝑥𝑖→∑𝑖=1𝑚𝛼𝑖𝑦𝑖=0→𝛽𝑖=𝐶−𝛼𝑖

    L

    ω

    =0 →ω=

    i

    =

    1

    m

    α

    i

    y

    i

    x

    i

    L

    b

    =0 →

    i

    =

    1

    m

    α

    i

    y

    i

    =0

    L

    ξ

    =0 →

    β

    i

    =C−

    α

    i

    我们把这三个式子带入对偶函数可以得到:

    𝐿(𝜔,𝑏,𝜉,𝛼,𝛽)=12∑𝑖=1𝑚∑𝑗=1𝑚𝛼𝑖𝛼𝑗𝑦𝑖𝑦𝑗𝑥𝑇𝑖𝑥𝑗+𝐶∑𝑖=1𝑚𝜉𝑖+∑𝑖=1𝑚𝛼𝑖(1−𝜉𝑖)−∑𝑖=1𝑚(𝐶−𝛼𝑖)𝜉𝑖=∑𝑖=1𝑚𝛼𝑖−12∑𝑖=1𝑚∑𝑗=1𝑚𝛼𝑖𝛼𝑗𝑦𝑖𝑦𝑗𝑥𝑇𝑖𝑥𝑗

    L(ω,b,ξ,α,β) =

    1

    2

    i

    =

    1

    m

    j

    =

    1

    m

    α

    i

    α

    j

    y

    i

    y

    j

    x

    i

    T

    x

    j

    +C

    i

    =

    1

    m

    ξ

    i

    +

    i

    =

    1

    m

    α

    i

    (1−

    ξ

    i

    )−

    i

    =

    1

    m

    (C−

    α

    i

    )

    ξ

    i

    =

    i

    =

    1

    m

    α

    i

    1

    2

    i

    =

    1

    m

    j

    =

    1

    m

    α

    i

    α

    j

    y

    i

    y

    j

    x

    i

    T

    x

    j

    由于𝛽𝑖≥0

    β

    i

    0

    ,所以我们可以得到0≤𝛼𝑖≤𝐶

    0

    α

    i

    C

    ,所以最后我们可以把式子化简成:

    max𝛼∑𝑖=1𝑚𝛼𝑖−12∑𝑖=1𝑚∑𝑗=1𝑚𝛼𝑖𝛼𝑗𝑦𝑖𝑦𝑗𝑥𝑇𝑖𝑥𝑗𝑠.𝑡.∑𝑚𝑖=1𝛼𝑖𝑦𝑖=00≤𝛼𝑖≤𝐶,𝑖=1,2,3…,𝑚

    max

    α

    i

    =

    1

    m

    α

    i

    1

    2

    i

    =

    1

    m

    j

    =

    1

    m

    α

    i

    α

    j

    y

    i

    y

    j

    x

    i

    T

    x

    j

    s.t.

    i

    =

    1

    m

    α

    i

    y

    i

    =0 0≤

    α

    i

    ≤C, i=1,2,3…,m

    将原始化简了之后,我们再回过头来看KKT条件。KKT条件单独理解看起来有点乱,其实我们可以分成三个部分,分别是原始问题可行:

    1−𝜉𝑖−𝑦𝑖(𝜔𝑇𝑥𝑖+𝑏)≤0−𝜉𝑖≤0

    1−

    ξ

    i

    y

    i

    (

    ω

    T

    x

    i

    +b)≤0 −

    ξ

    i

    ≤0

    对偶问题可行:

    𝛼𝑖≥0𝛽𝑖=𝐶−𝛼𝑖

    α

    i

    ≥0

    β

    i

    =C−

    α

    i

    以及松弛可行:

    𝛼𝑖(1−𝜉−𝑦𝑖(𝜔𝑇𝑥𝑖+𝑏))=0𝛽𝑖𝜉𝑖=0

    α

    i

    (1−ξ−

    y

    i

    (

    ω

    T

    x

    i

    +b))=0

    β

    i

    ξ

    i

    =0

    我们观察一下倒数第二个条件:𝛼𝑖(1−𝜉−𝑦𝑖(𝜔𝑇𝑥𝑖+𝑏))=0

    α

    i

    (

    1

    ξ

    y

    i

    (

    ω

    T

    x

    i

    +

    b

    )

    )

    =

    0

    这是两个式子相乘并且等于0,无非两种情况,要么𝛼𝑖=0

    α

    i

    =

    0

    ,要么后面那串等于0。我们分情况讨论。

    如果𝛼𝑖=0

    α

    i

    =

    0

    ,那么𝑦𝑖(𝜔𝑇𝑥𝑖+𝑏)−1≥0

    y

    i

    (

    ω

    T

    x

    i

    +

    b

    )

    1

    0

    ,样本分类正确,不会对模型产生影响。

    如果𝛼𝑖>0

    α

    i

    >

    0

    ,那么𝑦𝑖(𝜔𝑇𝑥𝑖+𝑏)=1−𝜉𝑖

    y

    i

    (

    ω

    T

    x

    i

    +

    b

    )

    =

    1

    ξ

    i

    ,则样本是支持向量。由于𝐶=𝛼𝑖+𝛽𝑖

    C

    =

    α

    i

    +

    β

    i

    ,并且𝛽𝑖𝜉𝑖=0

    β

    i

    ξ

    i

    =

    0

    。我们又可以分情况:

    𝛼𝑖<𝐶

    α

    i

    <

    C

    ,那么𝛽𝑖>0

    β

    i

    >

    0

    ,所以𝜉𝑖=0

    ξ

    i

    =

    0

    ,那么样本在边界上

    如果𝛼𝑖=𝐶

    α

    i

    =

    C

    ,那么𝛽𝑖=0

    β

    i

    =

    0

    ,如果此时𝜉≤1

    ξ

    1

    ,那么样本被正确分类,否则样本被错误分类

    经过了化简之后,式子当中只剩下了变量𝛼

    α

    ,我们要做的就是找到满足约束条件并且使得式子取极值时的𝛼

    α

    ,这个𝛼

    α

    要怎么求呢?我们这里先放一放,将在下一篇文章当中详解讲解。

    以上就是关于kkt条件推导相关问题的回答。希望能帮到你,如有更多相关问题,您也可以联系我们的客服进行咨询,客服也会为您讲解更多精彩的知识和内容。


    推荐阅读:

    kkt充分条件(充分条件怎么推)

    kkt二阶最优条件(二阶最优化条件)

    kkt条件推导(kkt条件推导的一定收敛吗)

    vin是啥(车辆vin是啥)

    园林景观设计中的工程人员(园林景观设计中的工程人员是什么)