Può


11

Se β∗=argminβ‖y−Xβ‖22+λ‖β‖1 , può ‖β∗‖2 aumentare quando λ aumenta?

Penso che sia possibile Sebbene ‖β∗‖1 non aumenta quando aumenta λ (la mia prova ), ‖β∗‖2 può aumentare. La figura seguente mostra una possibilità. Quando λ aumenta, se β∗ viaggia (linearmente) da P a Q , allora ‖β∗‖2 aumenta mentre ‖β∗‖1 diminuisce. Ma non so come costruire un esempio concreto (cioè costruire X e y ), in modo che il profilo di β∗ mostri questo comportamento. Qualche idea? Grazie.

inserisci qui la descrizione dell'immagine

Risposte:


10

La risposta è sì, e hai una prova grafica in proprio lì.ℓ2

Cerca la definizione di equivalenza delle norme vettoriali. Scoprirai che dove è la dimensione del vettore . Quindi, c'è un po 'di spazio per la norma , rispetto alla norma .

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

In effetti, il problema che si desidera risolvere può essere dichiarato come:

Trova tale che mentre allo stesso tempo d

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

Piazza la prima disuguaglianza, espandi e vedi che e che, supponendo che e , otteniamo dalla seconda disuguaglianza che dobbiamo avere Qualsiasi che soddisfi questi vincoli aumenterà la norma diminuendo la norma .

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

Nel tuo esempio, , 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.

Ma come si collega alla costruzione di e ? Xy
— ziyuang

3

Grazie per la risposta di @ TommyL, ma la sua risposta non è diretta sulla costruzione di e . In qualche modo "risolvo" questo da solo. Innanzitutto, quando aumenta, non aumenterà quando ogni diminuisce monotonicamente. Questo succede quando è ortonormale, in cui abbiamoXyλ‖β∗‖2βi∗X

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

Dal punto di vista geometrico, in questa situazione sposta perpendicolarmente al contorno della norma , quindi non può aumentare.β∗ℓ1‖β∗‖2

In realtà, Hastie et al. menzionato nel documento La regressione graduale in avanti e il lazo monotono , una condizione necessaria e sufficiente della monotonia dei percorsi del profilo:

inserisci qui la descrizione dell'immagine

Nella sezione 6 dell'articolo hanno costruito un set di dati artificiali basato su funzioni di base lineari a tratti che violano la condizione di cui sopra, mostrando la non monotonia. Ma se abbiamo fortuna, possiamo anche creare un set di dati casuali che dimostrano il comportamento simile ma in un modo più semplice. Ecco il mio codice 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)

Ho deliberatamente lasciato che le colonne di fossero altamente correlate (lontane dal caso ortonormale), e il vero ha sia grandi voci positive che negative. Ecco il profilo di (non sorprendentemente sono attivate solo 5 variabili):Xββ∗

inserisci qui la descrizione dell'immagine

e la relazione tra e :λ‖β∗‖2

inserisci qui la descrizione dell'immagine

Quindi possiamo vedere che per un certo intervallo di , aumenta all'aumentare di .λ‖β∗‖2λ

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.