将对偶和 KKT 条件应用于 LASSO 问题

机器算法验证 优化 套索
2022-03-19 00:46:40

我在理解对偶如何导致 LASSO 问题的常见形式以及被称为互补松弛的 Karush-Kuhn-Tucker 条件时遇到了一些困难。我有两个问题:

  1. 我们知道,给定一个优化问题
    minxf(x)s.t.hi(x)0,i=1,,m

解决这个问题相当于解决对偶问题

maxλg(λ)s.t.λ0
g(λ)=minλ{f(x)+i=1mλihi(x)}

在 LASSO 问题中,原始是

||yXβ||22s.t.||β||1t

所以,如果我的理解是正确的,对于对偶问题,我们应该得到

g(λ)=minβ||yXβ||22+λ(||β||1t)

但是,LASSO 问题总是指定为

minβ||yXβ||22+λ||β||1

我错过了什么?它与为空的常数的导数有关吗?

  1. 第二个问题是:我看到很多作者通过解决平稳性KKT 条件
    XT(yXβ)=λs

我理解,由于问题是凸的,因此满足原始双重可行性条件,无论如何我不明白为什么我们不检查互补松弛条件。

1个回答

1)直接调用对偶性,你走错了方向。要从

arg minβ:β1tyXβ22

arg minβyXβ22+λβ1

你只需要调用拉格朗日乘数。(参见,例如[1] 的第 5.1 节)

LM 在教学时经常在对偶的背景下进行讨论,但在实践中,您可以直接从一个切换到另一个,而不考虑对偶问题。

如果您对套索的对偶问题感兴趣,请参阅 [2] 的幻灯片 12 和 13

2) 你可能看到的是 Lasso 的 KKT Stationarity 条件:

arg min12yXβ22+λβ1XT(yXβ^)+λs=0 for some sβ^1

其中称为范数次微分。(这本质上只是微积分的标准“导数至少为零”条件,但已针对不可微性进行了调整。)β11

我们知道 if所以如果我们知道解的支持和符号,这个方程给出了套索的精确闭式解即,|βi|=sign(βi)βi0

β^S^=(XS^TXS^)1(XS^Tyλsign(β^S^))

(除此之外:此解决方案使套索的“收缩”效果(与 OLS 相比)非常明显。)

当然,解决套索的难点在于找到解决方案的支持和迹象,所以这在实践中并不是很有帮助。

然而,它是一个非常有用的理论结构,可以用来证明套索的许多好的特性;最重要的是,它让我们可以使用“原始双重见证”技术来建立套索恢复“真实”变量集的条件。参见 [3] 的第 11.4 节。

[1] S. Boyd 和 L. Vandenberghe。凸优化。可在https://web.stanford.edu/~boyd/cvxbook/bv_cvxbook.pdf获得

[2] http://www.stat.cmu.edu/~ryantibs/convexopt-F15/lectures/13-dual-corres.pdf

[3] T. Hastie、R. Tibshirani、M. Wainwright。稀疏的统计学习:套索和概括。可在https://web.stanford.edu/~hastie/StatLearnSparsity_files/SLS_corrected_1.4.16.pdf获得