数据矩阵为对角线时套索问题的闭式解


13

我们遇到了问题:\ min_ {w \ in \ mathbb {R} ^ {d}} \ left(\ frac {1} {n} \ sum_ {i = 1} ^ {n} \ left(\ langle w,x_ {i} \ rangle-y_ {i} \ right)^ {2} +2 \ lambda || w || _1 \ right),

minwRd(1ni=1n(w,xiyi)2+2λ||w||1),
并假设:
i=1nxixiT=diag(σ12,...,σd2).

在这种情况下是否有封闭形式的解决方案?

我有:

(XTX)1=diag(σ12,...,σd2),
所以我认为答案是:
wj=yjmax{0,1λn|yj|},
对于yj=i=1nyixijσi2,但我不确定。

Answers:


9

XTX=I,我将对@cardinal进行封闭形式套索解决方案的推导,此处进行了少量修改。

我假设所有。这是有道理的,因为如果我们有一个那么这告诉我们第列全为0,我认为排除这种情况是合理的。我会让。请注意,这也意味着是完整等级,并且OLS解决方案是唯一定义的。σi2>0iσi2=0iXXTX=DXβ^

我还将修改您的表示法,使其与我所引用的答案更好地匹配。为此,我将解决

β^λ=argminβRp12||YXβ||22+λ||β||1.

这与您的问题相同,但是如果您愿意,我可以在此处添加更多详细信息。

按照@cardinal的推导,我们需要求解

β^λ=argmin 12(YTY2YTXβ+βTXTXβ)+λ||β||1

=argmin YTXβ+12βTDβ+λ||β||1.

注意到OLS解决方案是,我们有 β^=(XTX)1XTY=D1XTY

β^λ=argmin β^TDβ+12βTDβ+λ||β||1

=argmin j=1pβ^jβjσj2+σj22βj2+λ|βj|.

我们正在分别优化每个,因此我们可以分别求解该总和的每个项。这意味着我们需要最小化,其中 βjLj

Lj=β^jβjσj2+σj22βj2+λ|βj|.

在对链接的答案进行完全相似的论证之后,我们发现

(β^λ)j=sgn(β^j)(|β^j|λσj2)+.

此外,因此我们得到了 β^=D1XTYβ^j=XjTYσj2

(|β^j|λσj2)+=1σj2(|XjTY|λ)+

因此事实证明,如果设计矩阵是正交的,而不仅仅是正交的,则预测变量准确地归零。因此,我们可以看到,在这种情况下,如果,变量选择与,但是实际系数会根据预测变量进行缩放。XjXTX=DIXTX=Iβ^λ

最后一点,我将把这个解决方案变成与您的解决方案类似的解决方案,这意味着我们需要将乘以某个值,以获得。如果那么我们有 β^β^λ(β^λ)j0

(β^λ)j=sgn(β^j)(|β^j|λσj2)=β^jsgn(β^j)λσj2

=β^j(1λσj2|β^j|)

由于。a|a|=sgn(a)

注意恰好在 (β^λ)j=0

|β^j|λσj20|β^j|λσj21λσj2|β^j|1λσj2|β^j|0,

我们看到我们可以将为 β^λ

(β^λ)j=β^j(1λσj2|β^j|)+.

因此,这与您拥有的非常接近,但并不完全相同。

我总是喜欢在可能的情况下对照知名库检查此类推导,因此这是R中的示例:

## generating `x`
set.seed(1)
n = 1000
p = 5
sigma2s = 1:p
x = svd(matrix(rnorm(n * p), n, p))$u %*% diag(sqrt(sigma2s))

## check this
# t(x) %*% x

## generating `y`
betas = 1:p
y = x %*% betas + rnorm(nrow(x), 0, .5)

lambda = 2

## using a well-known library to fit lasso
library(penalized)
penalized(y, x, lambda1 = lambda)@penalized


## using closed form solution
betahat = lm(y ~ x - 1)$coef
ifelse(betahat > 0, 1, -1) * sapply(abs(betahat) - lambda / sigma2s, function(v) max(c(0, v)))
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.