[模式识别-从入门到入土] 拓展-KKT条件

[模式识别-从入门到入土] 拓展-KKT条件

知乎:https://www.zhihu.com/people/byzh_rc

CSDN:https://blog.csdn.net/qq_54636039

注:本文仅对所述内容做了框架性引导,具体细节可查询其余相关资料or源码

参考文章:各方资料

文章目录

KKT条件

KKT: Karush-Kuhn-Tucker: 解决带不等式约束的优化问题

对于凸优化问题 ,KKT条件同时也是其充分条件

(满足 KKT 条件的解就是全局最优解)

是拉格朗日乘子法的扩展

-> 传统拉格朗日乘子法只能处理等式约束

-> KKT 条件可以同时处理等式约束 + 不等式约束

方法 适用约束类型 区别
传统拉格朗日乘子法 仅等式约束 无乘子非负性、无互补松弛性
KKT 条件 等式约束 + 不等式约束 新增乘子非负性、互补松弛性两个关键条件

通用的带约束极小化问题:
min ⁡ x f ( x ) s.t. g i ( x ) ≤ 0 , i = 1 , 2 , ... , m (不等式约束) h j ( x ) = 0 , j = 1 , 2 , ... , l (等式约束) \begin{align} \min_{\boldsymbol{x}} &\quad f(\boldsymbol{x}) \\ \text{s.t.} &\quad g_i(\boldsymbol{x}) \le 0, \quad i=1,2,\dots,m \quad \text{(不等式约束)} \\ &\quad h_j(\boldsymbol{x}) = 0, \quad j=1,2,\dots,l \quad \text{(等式约束)} \end{align} xmins.t.f(x)gi(x)≤0,i=1,2,...,m(不等式约束)hj(x)=0,j=1,2,...,l(等式约束)

x \boldsymbol{x} x 是优化变量(如 SVM 中的 ω , b \omega, b ω,b)

为了将约束融入目标函数,构造广义拉格朗日函数:
L ( x , α , β ) = f ( x ) + ∑ i = 1 m α i g i ( x ) + ∑ j = 1 l β j h j ( x ) L(\boldsymbol{x},\boldsymbol{\alpha},\boldsymbol{\beta}) = f(\boldsymbol{x}) + \sum_{i=1}^m \alpha_i g_i(\boldsymbol{x}) + \sum_{j=1}^l \beta_j h_j(\boldsymbol{x}) L(x,α,β)=f(x)+i=1∑mαigi(x)+j=1∑lβjhj(x)

α = ( α 1 , α 2 , ... , α m ) T \boldsymbol{\alpha}=(\alpha_1,\alpha_2,\dots,\alpha_m)^T α=(α1,α2,...,αm)T:不等式约束对应的拉格朗日乘子 ,要求 α i ≥ 0 \alpha_i \ge 0 αi≥0

β = ( β 1 , β 2 , ... , β l ) T \boldsymbol{\beta}=(\beta_1,\beta_2,\dots,\beta_l)^T β=(β1,β2,...,βl)T:等式约束对应的拉格朗日乘子,无符号限制

若 x ∗ \boldsymbol{x}^* x∗ 是上述优化问题的局部最优解,且满足约束规格 ,则存在乘子 α ∗ , β ∗ \boldsymbol{\alpha}^*,\boldsymbol{\beta}^* α∗,β∗,使得以下 5 个条件同时成立:

  • 梯度条件(无约束最优性推广):

    最优时无下降方向
    ∇ x L ( x ∗ , α ∗ , β ∗ ) = 0 \nabla_{\boldsymbol{x}} L(\boldsymbol{x}^*,\boldsymbol{\alpha}^*,\boldsymbol{\beta}^*) = 0 ∇xL(x∗,α∗,β∗)=0

  • 不等式约束可行性:

    最优解必须满足原不等式约束
    g i ( x ∗ ) ≤ 0 , i = 1 , 2 , ... , m g_i(\boldsymbol{x}^*) \le 0, \quad i=1,2,\dots,m gi(x∗)≤0,i=1,2,...,m

  • 等式约束可行性:

    最优解必须满足原等式约束
    h j ( x ∗ ) = 0 , j = 1 , 2 , ... , l h_j(\boldsymbol{x}^*) = 0, \quad j=1,2,\dots,l hj(x∗)=0,j=1,2,...,l

  • 乘子非负性:

    对不等式约束的乘子要求
    α i ∗ ≥ 0 , i = 1 , 2 , ... , m \alpha_i^* \ge 0, \quad i=1,2,\dots,m αi∗≥0,i=1,2,...,m

  • 互补松弛性:

    对每个不等式约束,要么乘子 α i ∗ = 0 \alpha_i^*=0 αi∗=0,要么约束取等号 g i ( x ∗ ) = 0 g_i(\boldsymbol{x}^*)=0 gi(x∗)=0

    两者不能同时非零
    α i ∗ g i ( x ∗ ) = 0 , i = 1 , 2 , ... , m \alpha_i^* g_i(\boldsymbol{x}^*) = 0, \quad i=1,2,\dots,m αi∗gi(x∗)=0,i=1,2,...,m

适用场景
  1. 凸优化问题 :此时 KKT 条件是充要条件
    -> 满足条件的解就是全局最优解(如 SVM、线性回归的带约束优化)
  2. 非凸优化问题 :此时 KKT 条件只是必要条件
    -> 满足条件的解不一定是最优解,还需进一步验证
例题:二维不等式约束优化

问题:求函数 f ( x , y ) = x 2 + y 2 f(x,y) = x^2 + y^2 f(x,y)=x2+y2 在约束 g ( x , y ) = x + y − 1 ≤ 0 g(x,y) = x + y - 1 \leq 0 g(x,y)=x+y−1≤0 下的最小值

步骤拆解:

  1. 构造广义拉格朗日函数: L ( x , y , α ) = x 2 + y 2 + α ( x + y − 1 ) L(x,y,\alpha) = x^2 + y^2 + \alpha(x + y - 1) L(x,y,α)=x2+y2+α(x+y−1),其中 α ≥ 0 \alpha \geq 0 α≥0

  2. 列KKT条件:
    { ∂ L ∂ x = 2 x + α = 0 ( 1 ) ∂ L ∂ y = 2 y + α = 0 ( 2 ) x + y − 1 ≤ 0 ( 3 ) α ≥ 0 ( 4 ) α ( x + y − 1 ) = 0 ( 5 ) \begin{cases} \frac{\partial L}{\partial x} = 2x + \alpha = 0 \quad (1) \\ \frac{\partial L}{\partial y} = 2y + \alpha = 0 \quad (2) \\ x + y - 1 \leq 0 \quad (3) \\ \alpha \geq 0 \quad (4) \\ \alpha(x + y - 1) = 0 \quad (5) \end{cases} ⎩ ⎨ ⎧∂x∂L=2x+α=0(1)∂y∂L=2y+α=0(2)x+y−1≤0(3)α≥0(4)α(x+y−1)=0(5)

  3. 分情况讨论互补松弛性(关键!):

    • 情况1: α = 0 \alpha = 0 α=0(约束不起作用)

      代入 (1)(2) 得 x = 0 , y = 0 x=0, y=0 x=0,y=0,检查约束 (3): 0 + 0 − 1 = − 1 ≤ 0 0+0-1 = -1 \leq 0 0+0−1=−1≤0,满足条件。此时 f ( 0 , 0 ) = 0 f(0,0)=0 f(0,0)=0

      • 情况2: α > 0 \alpha > 0 α>0(约束起作用,需满足 x + y − 1 = 0 x + y - 1 = 0 x+y−1=0)
        由 (1)(2) 得 x = y x=y x=y,代入 x + y − 1 = 0 x + y - 1 = 0 x+y−1=0 得 x = y = 0.5 x=y=0.5 x=y=0.5,则 α = − 2 x = − 1 \alpha = -2x = -1 α=−2x=−1,但 α = − 1 < 0 \alpha = -1 < 0 α=−1<0 违反条件 (4),故此情况无解

最优解: x = 0 , y = 0 x=0, y=0 x=0,y=0,最小值 f ( 0 , 0 ) = 0 f(0,0)=0 f(0,0)=0。

几何意义: f ( x , y ) = x 2 + y 2 f(x,y)=x^2+y^2 f(x,y)=x2+y2 是原点的圆,约束 x + y − 1 ≤ 0 x+y-1 \leq 0 x+y−1≤0 是直线 x + y = 1 x+y=1 x+y=1 下方的区域,原点(函数最小值点)在区域内,因此约束不起作用,最优解就是无约束的最小值点

解释!!!

约束规格

KKT 条件成立的前提,目的是排除 "异常约束"

满足约束规格的情况:

  • 所有约束函数都是线性函数(如 SVM 的约束)
  • 不等式约束函数 g i ( x ) g_i(\boldsymbol{x}) gi(x) 是凸函数,等式约束 h j ( x ) h_j(\boldsymbol{x}) hj(x) 是线性函数

若不满足约束规格,最优解可能不满足 KKT 条件

互补松弛性

只有"起作用的约束"(约束取等号 g i ( x ∗ ) = 0 g_i(\boldsymbol{x}^*)=0 gi(x∗)=0)对应的乘子才非零

"不起作用的约束"(约束严格满足 g i ( x ∗ ) < 0 g_i(\boldsymbol{x}^*)<0 gi(x∗)<0)对应的乘子必为零
α i ∗ > 0 ⇒ g i ( x ∗ ) = 0 g i ( x ∗ ) < 0 ⇒ α i ∗ = 0 \alpha_i^* > 0 \quad \Rightarrow \quad g_i(\boldsymbol{x}^*) = 0 \\ g_i(\boldsymbol{x}^*) < 0 \quad \Rightarrow \quad \alpha_i^* = 0 αi∗>0⇒gi(x∗)=0gi(x∗)<0⇒αi∗=0

-> 约束只有在"卡住最优解"时,才允许对目标函数施加力( α > 0 \alpha>0 α>0)

等式约束对应的拉格朗日乘子 β \beta β

等式约束最优化时, 求导为0, 得到自然平衡点

-> 没有任何"外力",系统自己就停在这里

不等式约束对应的拉格朗日乘子 α \alpha α

不等式约束最优化时, 不等式相当于一堵不可穿越的墙

可以在墙的这一侧自由走, 但不能越过去,

尽管如果没有这个不等式, 最优解应该在墙的另一侧

-> 此时相当于受到"外力"

假设在某点满足了不等式约束, 但是距离墙还有距离

-> 约束根本没有理由对你施加任何力

-> α = 0 \alpha=0 α=0

约束只有在"卡住最优解"时

-> 若继续沿着目标函数的下降方向走, 马上就会违反约束

->才允许对目标函数施加力(抵消目标函数的下降趋势)

-> α > 0 \alpha>0 α>0

假设在某点满足了不等式约束, 但是距离墙还有距离

-> 如果施加外力 α > 0 \alpha>0 α>0

-> 会把你推向一个更差的点, 而这违反"最优解"的定义

如上题:

如果没有约束5, 那么就可能出现 α = 2 , x = y = − 1 \alpha=2,\quad x=y=-1 α=2,x=y=−1的情况, 满足所有条件, 却不是最优解

典例-线性可分SVM

带约束极小化问题 -> 拉格朗日函数:
min ⁡ α 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j ⟨ x i , x j ⟩ − ∑ i = 1 m α i s.t. α i ≥ 0 , i = 1 , ⋯   , m ∑ i = 1 m α i y i = 0 \min_{\alpha} \frac{1}{2} \sum_{i=1}^{m} \sum_{j=1}^{m} \alpha_{i} \alpha_{j} y_{i} y_{j} \langle x_{i}, x_{j} \rangle - \sum_{i=1}^{m} \alpha_{i} \\ \begin{align} \text{s.t.} \quad & \alpha_{i} \geq 0, \quad i=1, \cdots, m \\ &\sum_{i=1}^{m} \alpha_{i} y_{i} = 0 \end{align} αmin21i=1∑mj=1∑mαiαjyiyj⟨xi,xj⟩−i=1∑mαis.t.αi≥0,i=1,⋯,mi=1∑mαiyi=0

得到KKT条件:

  • 乘子非负性
    α i ≥ 0 \alpha_i \ge 0 αi≥0

  • 不等式约束可行性:
    y i f ( x i ) − 1 ≥ 0 y_i f(x_i) - 1 \ge 0 yif(xi)−1≥0

  • 互补松弛性:
    α i ( y i f ( x i ) − 1 ) = 0 \alpha_i (y_i f(x_i) - 1) = 0 αi(yif(xi)−1)=0

只有在"刚好卡在间隔边界上的样本"才具有 α i > 0 \alpha_i > 0 αi>0,因此才是真正影响超平面的位置 的样本 → 支持向量

情况 1: α i = 0 \alpha_i=0 αi=0

此时不管 y i f ( x i ) − 1 y_i f(x_i)-1 yif(xi)−1 的值是多少,等式都成立

对应样本的位置: y i f ( x i ) − 1 > 0 y_i f(x_i)-1>0 yif(xi)−1>0 → 样本在间隔外(距离超平面较远)

情况 2: α i > 0 \alpha_i>0 αi>0

要满足等式,必须让另一个因子为 0 → y i f ( x i ) − 1 = 0 y_i f(x_i)-1=0 yif(xi)−1=0

而 y i f ( x i ) − 1 = 0 y_i f(x_i)-1=0 yif(xi)−1=0 正好是 间隔边界的定义

因此 α i > 0 \alpha_i>0 αi>0 的充要条件是:样本刚好落在间隔边界上

相关推荐
NAGNIP1 小时前
一文搞懂深度学习中的通用逼近定理!
人工智能·算法·面试
冬奇Lab2 小时前
一天一个开源项目(第36篇):EverMemOS - 跨 LLM 与平台的长时记忆 OS,让 Agent 会记忆更会推理
人工智能·开源·资讯
冬奇Lab2 小时前
OpenClaw 源码深度解析(一):Gateway——为什么需要一个"中枢"
人工智能·开源·源码阅读
AngelPP6 小时前
OpenClaw 架构深度解析:如何把 AI 助手搬到你的个人设备上
人工智能
宅小年6 小时前
Claude Code 换成了Kimi K2.5后,我再也回不去了
人工智能·ai编程·claude
九狼6 小时前
Flutter URL Scheme 跨平台跳转
人工智能·flutter·github
ZFSS6 小时前
Kimi Chat Completion API 申请及使用
前端·人工智能
天翼云开发者社区8 小时前
春节复工福利就位!天翼云息壤2500万Tokens免费送,全品类大模型一键畅玩!
人工智能·算力服务·息壤
知识浅谈8 小时前
教你如何用 Gemini 将课本图片一键转为精美 PPT
人工智能
Ray Liang8 小时前
被低估的量化版模型,小身材也能干大事
人工智能·ai·ai助手·mindx