简述KKT


13

目的

确认对KKT的理解是否正确。寻求有关KKT的进一步解释和确认。

背景

试图了解KKT条件,尤其是补充条件,在SVM文章中总是突然出现这种情况。我不需要抽象公式列表,但确实需要具体,直观和图形化的说明。

如果使成本函数f(X)最小的P在约束内(g(P)> = 0),则为解。KKT在这种情况下似乎无关紧要。

在此处输入图片说明

KKT似乎说,如果P不在约束内,那么解X应该在图中满足。到底是KKT,还是我想念其他重要方面?

在此处输入图片说明

其他说明

  1. f(x)是否应凸出才能应用KKT?
  2. g(x)是否应线性适用于KKT?
  3. λ* g(X)= 0时,λ是否必要?为什么g(X)= 0或g(Xi)= 0还不够?

参考文献


更新1

感谢您的回答,但仍然难以理解。仅在此处关注必要性:

马修·冈恩(Matthew Gunn)回答中关于非最佳点(绿色圆圈)和KKT的条件(2)在那里是否不满足?就像Mark L. Stone的答案那样,通过观察Hessian可以识别出这一点吗?

我想另外一种情况是鞍点,但是否同样适用?

在此处输入图片说明

在此处输入图片说明 用户名


1
这个问题可能会引起数学界的更多关注;KKT条件不一定是“统计”的。统计人员借用数值分析的这些和其他结果来解决有趣的统计问题,但这更多是一个数学问题。
user23658

1
fg

2
λg(x)=0g(x)0g(x)<0xλλg(x)=0λλ>0

1
xx

Answers:


8

xδfxx

假设您遇到优化问题:

minimize (over x)f(x)subject toj{1k}gj(x)0

其中并且有约束。xRnk

KKT条件和Farkas Lemma

令为列向量,表示在求值的的梯度。f(x)fx

应用于这种情况,Farkas Lemma指出,对于中的任何点,以下语句之一完全成立:xRn

  1. 存在使得和λRkj=1kλjgj(x)=f(x)λ0
  2. 存在这样和δRnjδgj(x)0δf(x)<0

这是什么意思?这意味着对于任何可行的点,要么:x

  • 条件(1)成立,并且满足KKT条件。
  • 条件(2)成立,并且存在一个可行的方向,它在不增加约束情况下改善了目标函数。(例如,您可以通过从移至来改善)δfgjfxx+ϵδ

条件(1)指出存在非负乘数,从而在点处满足KKT条件。(从几何角度讲,它表示位于由约束的梯度定义的凸锥中。)λxf

条件(2)指出,在点,存在一个方向(局部)移动,使得:xδ

  • 朝方向移动会降低目标函数(因为和的点积小于零)。δf(x)δ
  • 朝方向移动不会增加约束的值(因为和的点积对于所有点都小于或等于零约束)。δgj(x)δj

(在几何上,可行方向定义了矢量和矢量定义的凸锥之间的分离超平面。)δf(x)gj(x)

(注意:要将其映射到Farkas Lemma中,请定义矩阵)A=[g1,g2,,gk]

此参数为您提供了最佳的KKT条件的必要性(但不是充分性)。如果不满足KKT条件(并且满足约束条件),则可以在不违反约束的情况下提高目标。

约束资格的作用

有什么问题吗?您可能会遇到退化的情况,其中约束的梯度不能准确描述移动的可行方向。

有多种不同的约束条件可供选择,这将使上述论点起作用。

最小,最大解释(恕我直言最直观)

形成拉格朗日

L(x,λ)=f(x)+j=1kλjgj(x)

与其在约束约束下最小化,想象一下,您正在尝试最小化而某些对手正在尝试使其最大化。您可以将乘数解释为违反约束的惩罚(某些对手选择)。 Ĵ 大号λ fgjLλi

原始优化问题的解决方案等效于:

minxmaxλL(x,λ)

那是:

  1. 您首先选择以使拉格朗日最小化,从而认识到...xL
  2. 然后,我将选择以使拉格朗日最大化(观察到您的选择)。λx

例如,如果您违反约束,我可以通过将设置为infinity 来惩罚您!g2λ2

对偶性弱

对于任何函数请注意:f(x,y)

x^,y^minxf(x,y^)f(x^,y^)maxyf(x^,y)

由于这适用于任何和因此它也适用于: x^y^

maxyminxf(x,y)minxmaxyf(x,y)

在Langrian设置中,此结果为被称为弱对偶。maxλminxL(x,λ)minxmaxλL(x,λ)

双重问题为您提供了解决方案的下限maxλminxL(x,λ)

强对偶

在某些特殊条件下(例如,Slater条件成立的凸问题),您具有很强的对偶性(即,鞍点性质)。

maxλminxL(x,λ)=minxmaxλL(x,λ)

这个美丽的结果意味着您可以反转问题的顺序。

  1. 我首先选择惩罚以使拉格朗日最大化。λ

  2. 然后,选择以最小化拉格朗日。xL

在此过程中设置的是违反约束的价格,并且已将价格设置为永远不会违反约束。λ


欣赏信息和链接以填补理解的空白。请允许我确认。条件(1)表示KKT表示要使点X为解,它需要满足λ* g(X)= 0,λ> = 0,且g(X)的梯度长度是λ的λ倍。 f(X)的梯度,否则我们将找到f(X)点方向的梯度,可以找到更小的f(X')?
星期一

3
较严格的条件是(仅)一个约束条件,可以应用于凸优化问题,即使得KKT必要。凸度使KKT足够。因此,对于凸函数优化问题(其目标函数和约束都是凸函数且连续可微)的Slater条件使得KKT对于全局最小值是必要的和充分的。更严格的条件是,在所有非线性约束的严格内部(只要可行,任何与线性约束有关的条件)都至少存在一个可行点(即满足所有约束)。
马克·L·斯通

5

f(x)是凸的,对于KKT来说,足以使x成为局部最小值。如果f(x)或-g(x)不是凸的,则满足KKT的x可以是局部最小值,鞍点或局部最大值。

g(x)是线性的,而f(x)是连续可微的,对于局部最小值而言,KKT条件就足够了。g(x)是线性的意味着满足KKT对于局部最小值的线性约束条件。但是,还有其他限制性较小的约束条件,足以满足KKT条件对局部最小值的要求。请参阅https://en.wikipedia.org/wiki/Karush%E2%80%93Kuhn%E2%80%93Tucker_conditions的正则条件(或约束条件)部分。

如果局部最小值不具有“活动”约束(因此,在仅不等式约束的情况下,该约束不满足相等性),则与此类约束关联的拉格朗日乘数必须为零,在这种情况下,KKT会降低为目标的梯度=0。在这种情况下,约束的ε收紧的最佳目标值的“成本”为零。

更多信息

目标函数和约束是凸的,并且连续可微表示KKT足以满足全局最小值。

如果目标函数和约束条件是可连续微分的,并且约束条件满足约束条件条件,则必须将KKT设为局部最小值。

如果目标函数和约束是连续可微的,凸的,并且约束满足约束条件,则KKT对于全局最小值是必要且足够的。

上面的讨论实际上仅涉及一阶KKT条件。还有二阶KKT条件,可以表示为:如果将Lagrangian的Hessian投影到坐标系中,则满足一阶KKT条件且目标函数和约束连续可微两次的点是(足以)局部最小值。活动约束的雅可比行列的零空间为正半定。(我将让您查找前一句中使用的术语。)令为主动约束的雅可比行列的零空间的基础,二阶KKT条件是为正半定号,其中ZZTHZH是拉格朗日的黑森州。主动约束由所有相等约束加上所有不平等约束组成,这些不平等约束在所考虑的时间点均由平等满足。如果在考虑的一阶KKT点上没有约束处于活动状态,则恒等矩阵为零空间基,并且所有拉格朗日乘数必须为零,因此,局部最小值的二阶必要条件从无约束的优化变为熟悉的条件目标函数的Hessian是正半定的。如果所有约束都是线性的,则拉格朗日的Hessian =目标函数的Hessian,因为线性函数的二阶导数= 0。Z

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.