Pode aumentar quando


11

Se β∗=argminβ‖y−Xβ‖22+λ‖β‖1 , pode ‖β∗‖2 aumentar quando λ aumenta?

Eu acho que isso é possível. Embora ‖β∗‖1 não aumente quando λ aumenta (minha prova ), ‖β∗‖2 pode aumentar. A figura abaixo mostra uma possibilidade. Quando λ aumenta, se β∗ viaja (linearmente) de P para Q , então ‖β∗‖2 aumenta enquanto ‖β∗‖1 diminui. Mas não sei como construir um exemplo concreto (ou seja, construir X e y ), para que o perfil de β∗ demonstre esse comportamento. Alguma ideia? Obrigado.

insira a descrição da imagem aqui

Respostas:


10

A resposta é sim, e você tem uma prova gráfica em ali.ℓ2

Procure a definição de equivalência de normas de vetores. Você encontrará que que é a dimensão do vetor . Portanto, há espaço de manobra para a norma , em comparação com a norma .

‖x‖2≤‖x‖1≤n‖x‖2,
nxℓ2ℓ1

De fato, o problema que você deseja resolver pode ser indicado como:

Encontre tal que enquanto ao mesmo tempo d

‖x+d‖2>‖x‖2
‖x+d‖1<‖x‖1.

Esquadre a primeira desigualdade, expanda e veja que e que, assumindo que e , obtemos da segunda desigualdade que devemos ter Qualquer que atenda a essas restrições aumentará a norma enquanto diminui a norma .

2∑ixidi>−∑idi2
xi≥0xi+di≥0
∑idi<0.
dℓ2ℓ1

No seu exemplo, , e e d≈[−0.4,0.3]Tx:=P≈[0.5,0.6]T

∑idi≈−0.1<0,
2∑iPidi≈−0.04>−0.25≈−∑idi2.

Mas como isso está relacionado à construção do e ? yXy
— ziyuang

3

Obrigado pela resposta de @ TommyL, mas sua resposta não é direta na construção de e . De alguma forma, "resolvo" isso sozinho. Primeiro, quando aumenta, não aumenta quando cada diminui monotonicamente. Isso acontece quando é ortonormal, no qual temosy λ ‖ β * ‖ 2 β * i XXyλ‖β∗‖2βi∗X

βi∗=sign(βiLS)(βiLS−λ)+

Geometricamente, nessa situação, move-se perpendicularmente ao contorno da norma , portanto não pode aumentar.ℓ 1 ‖ β * ‖ doisβ∗ℓ1‖β∗‖2

Na verdade, Hastie et al. mencionado no artigo A regressão estática e o laço monótono , uma condição necessária e suficiente da monotonicidade dos caminhos do perfil:

insira a descrição da imagem aqui

Na Seção 6 do artigo, eles construíram um conjunto de dados artificiais com base em funções de base linear por partes que violam a condição acima, mostrando a não monotonicidade. Mas se tivermos sorte, também podemos criar um conjunto de dados aleatórios demonstrando o comportamento semelhante, mas de uma maneira mais simples. Aqui está o meu código R:

library(glmnet)
set.seed(0)
N <- 10
p <- 15
x1 <- rnorm(N)
X <- mat.or.vec(N, p)
X[, 1] <- x1
for (i in 2:p) {X[, i] <- x1 + rnorm(N, sd=0.2)}
beta <- rnorm(p, sd=10)
y <- X %*% beta + rnorm(N, sd=0.01)
model <- glmnet(X, y, family="gaussian", alpha=1, intercept=FALSE)

Eu deliberadamente deixei as colunas de altamente correlacionadas (longe do caso ortonormal), e o verdadeiro tem grandes entradas positivas e negativas. Aqui está o perfil de (não surpreendentemente, apenas 5 variáveis ​​estão ativadas):β β ∗Xββ∗

insira a descrição da imagem aqui

e a relação entre e :″ β ∗ ″ 2λ‖β∗‖2

insira a descrição da imagem aqui

Portanto, podemos ver que, por algum intervalo de , aumenta à medida que aumenta.″ β ∗ ″ 2 λλ‖β∗‖2λ

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.