WechatIMG3200.jpeg
千秋摄于黄山

最近看了 《最优化理论与方法》, 学习了常见的优化问题以及解决方法。同时,之前学习 SVM 时,对拉格朗日乘法以及 KKT 条件有一些疑问,这里做一下学习笔记,便于后面复习和理解!

Notion: 同时参考了网上找到的一个PPT(见附件),觉得写的相当棒!

主要设计四种优化问题:

  1. 无约束优化
  2. 等式约束优化
  3. 不等式约束优化
  4. 等式和不等式约束优化

讨论的对象是优化问题的标准形式:

拉格朗日乘法和KKT条件 - 图12
公式(1):优化问题的标准形式

1. 无约束优化

无约束优化的标准形式为:
拉格朗日乘法和KKT条件 - 图13
公式(2):无约束优化的标准形式

假设f(x)在X上处处可导,则局部最优点 拉格朗日乘法和KKT条件 - 图14的充分必要条件为:
拉格朗日乘法和KKT条件 - 图15
公式(3)

证明

将f(x)使用泰勒公式在拉格朗日乘法和KKT条件 - 图16处展开:
拉格朗日乘法和KKT条件 - 图17
公式(4)

充分条件

拉格朗日乘法和KKT条件 - 图18

必要条件

1. 若f(x) 在 拉格朗日乘法和KKT条件 - 图19 处可导且取得局部最小值,则有拉格朗日乘法和KKT条件 - 图20

证明,使用反证法:

拉格朗日乘法和KKT条件 - 图21

2. 若f(x) 在 拉格朗日乘法和KKT条件 - 图22 处可导且取得局部最小值,且拉格朗日乘法和KKT条件 - 图23,则拉格朗日乘法和KKT条件 - 图24

证明:
拉格朗日乘法和KKT条件 - 图25

则必要条件为: 拉格朗日乘法和KKT条件 - 图26

2. 等式约束优化

拉格朗日乘法和KKT条件 - 图27

其实一般有两种做法,拉格朗日乘法和消元法,但是消元法遇到等式约束较多时比较难以处理。因此,使用拉格朗日乘法较为方便。

转化为拉格朗日乘法:
拉格朗日乘法和KKT条件 - 图28

以一个具体的例子为例:
拉格朗日乘法和KKT条件 - 图29

image.png
没有加等式约束时,它的最小值时不存在的(无穷小)
而加了等式约束之后,假设当前点为拉格朗日乘法和KKT条件 - 图31, 下一点为 拉格朗日乘法和KKT条件 - 图32 , 则需要有:
拉格朗日乘法和KKT条件 - 图33

要保证:拉格朗日乘法和KKT条件 - 图34,
拉格朗日乘法和KKT条件 - 图35
要保证: 拉格朗日乘法和KKT条件 - 图36要求:
拉格朗日乘法和KKT条件 - 图37

同样由几何意义可知,

image.png
即,f(x) 取得极值的地方为: 约束g(x) = 0 与 f(x) = C (等值线)相切的地方,如上图M1,M2。
此时有:

拉格朗日乘法和KKT条件 - 图39

因此可以,构造 拉格朗日乘法和KKT条件 - 图40, 并要求:
拉格朗日乘法和KKT条件 - 图41

另一种理解,KKT条件

构造 拉格朗日乘法和KKT条件 - 图42, 假设在 拉格朗日乘法和KKT条件 - 图43处取得最大值,存在两种情况:

  1. x 满足 拉格朗日乘法和KKT条件 - 图44, 此时 拉格朗日乘法和KKT条件 - 图45
  2. x 不满足 拉格朗日乘法和KKT条件 - 图46, 此时 存在 拉格朗日乘法和KKT条件 - 图47

而, 拉格朗日乘法和KKT条件 - 图48

此时要求条件为:

拉格朗日乘法和KKT条件 - 图49

3. 不等式约束

拉格朗日乘法和KKT条件 - 图50

假设局部最小值点为 拉格朗日乘法和KKT条件 - 图51, 此时存在两种情况:

拉格朗日乘法和KKT条件 - 图52 在约束条件之内

image.png
此时,处理方式与无约束问题一样

拉格朗日乘法和KKT条件 - 图54 在约束条件之外

image.png

此时由几何关系可知,局部最小值位于g(x) = 0 与 f(x) = C 的切线上,由等式约束可知,此时有

拉格朗日乘法和KKT条件 - 图56
综合以上有:

拉格朗日乘法: 拉格朗日乘法和KKT条件 - 图57

拉格朗日乘法和KKT条件 - 图58
以上便是KKT条件

另一个直观的解释为:

构造 拉格朗日乘法和KKT条件 - 图59, 假设在 拉格朗日乘法和KKT条件 - 图60处取得最大值,存在两种情况:

  1. x 满足 拉格朗日乘法和KKT条件 - 图61, 此时 拉格朗日乘法和KKT条件 - 图62
  2. x 满足 拉格朗日乘法和KKT条件 - 图63, 此时 拉格朗日乘法和KKT条件 - 图64
  3. x 不满足 拉格朗日乘法和KKT条件 - 图65, 此时 拉格朗日乘法和KKT条件 - 图66

而, 拉格朗日乘法和KKT条件 - 图67

此时要求条件为:

拉格朗日乘法和KKT条件 - 图68

4. 等式和不等式约束

拉格朗日乘法和KKT条件 - 图69

此时,是2,3 的综合情况,只需要构造拉格朗日乘法
拉格朗日乘法和KKT条件 - 图70
拉格朗日乘法和KKT条件 - 图71满足此条件,则有:

拉格朗日乘法和KKT条件 - 图72

5. 附件📎

KKT.pdf