[模式识别-从入门到入土] 拓展-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 的充要条件是:样本刚好落在间隔边界上

相关推荐
zd2005722 小时前
STREAMS指南:环境及宿主相关微生物组研究中的技术报告标准
人工智能·python·算法
weixin_409383122 小时前
强化lora训练后的 用qwen训练的虚拟自己模型 这次挺好 数据总量300多条 加了十几条正常对话聊天记录
人工智能·深度学习·机器学习·训练模型
啊吧怪不啊吧2 小时前
机器学习模型部署全流程实战:从训练完成到上线可用
大数据·人工智能·机器学习
其美杰布-富贵-李2 小时前
PyTorch Optimizer 与 Scheduler 指南
人工智能·pytorch·python·优化·训练
Suahi2 小时前
【HuggingFace LLM】经典NLP Tasks数据流转
人工智能·自然语言处理
西***63472 小时前
破局信息孤岛 赋能城市智治——分布式可视化系统驱动智慧城市指挥中心升级
人工智能·分布式·智慧城市
zhaodiandiandian2 小时前
AI智能体重构产业生态,从效率革命到体验升级
人工智能·microsoft
weixin_409383122 小时前
强化lora训练 这次好点 下次在训练数据增加正常对话
人工智能·深度学习·机器学习·qwen
喜欢吃豆2 小时前
大语言模型混合专家(MoE)架构深度技术综述
人工智能·语言模型·架构·moe