• 2025年10月10日 星期五

2.7.2-KKT条件初学理解

8 月 12, 2025

🟩 一、KKT 条件是什么?

KKT 条件是求解带约束优化问题的“最佳通用工具”。
它是拉格朗日乘子法的扩展,可以处理不等式约束。

用学过的内容理解:若f(ω*)=θ(α*,β*),则通过上一篇的定理一推出:对于所有的i=1~k,要么αi=0,要么gi(ω*)=0。这就是KKT条件


🟦 二、复习原问题长什么样?

还记得 SVM 的原问题是:

最小化

约束条件(对每个样本 i):

yiTXi+b)≥1

我们记这个约束为: gi(ω,b)=1−yiTXi+b)≤0


🟥 三、KKT 条件的四大要点

KKT 条件分四个部分,适用于最小化问题:


1️⃣ 原始可行性(Primal Feasibility):

必须满足原问题的约束: yiTXi+b)≥1⇒gi(ω,b)≤0


2️⃣ 对偶可行性(Dual Feasibility):

拉格朗日乘子 αi > 0(不能为负)


3️⃣ 互补松弛条件(Complementary Slackness):

这是 SVM 中最重要的一条: αi⋅gi(ω,b)=0

也就是说:

  • 如果某个点不在边界上(分类边界之外),那么它的 αi= 0(不是支持向量)
  • 如果某个点在“刚好边界上”,即 gi(·)= 0$,那么它的 αi > 0(是支持向量)

这就是支持向量名字的来源!


4️⃣ 梯度零条件(Stationarity):

这是说原函数 + 拉格朗日项对变量的导数要为 0:

计算导数会发现:

这说明权重 ω 可以由支持向量加权组成!(这也是 SVM 只依赖支持向量的根本原因)


🟨 四、KKT 条件的作用是?

作用说明
✅ 判断最优满足 KKT 条件就说明找到了最优解(对于凸问题,如 SVM)
✅ 找支持向量哪些点是支持向量,直接看哪几个 αi > 0
✅ 构建对偶问题推导对偶形式的基础
✅ 核函数通道对偶问题只出现 α 和点积 → 可以用核函数代替

📌 总结一句话:

🎯 KKT 条件是支持向量机最优解的必要条件,
它揭示了哪些点是支持向量,解释了 ω 怎么由 α 决定,
并且它让我们能把原问题完美转化为对偶问题。



微信扫描下方的二维码阅读本文

Avatar photo

李星海

简介: 2025-今 浙江农林大学 | 2022-今 广州白蓝碗蛋科技有限公司 | 2022-2024 广州商学院 | 2019-2022 广东工贸职业技术学院 | 服务宗旨:心始至客,行亦致远。