Dzięki za odpowiedź @ TommyL, ale jego odpowiedź nie dotyczy bezpośrednio konstrukcji i . Jakoś sam to „rozwiązuję”. Po pierwsze, gdy wzrośnie, nie wzrośnie, gdy każde zmniejszy się monotonicznie. Dzieje się tak, gdy jest ortonormalny, w którym mamyXyλ∥β∗∥2β∗iX
β∗i=sign(βLSi)(βLSi−λ)+
Geometrycznie w tej sytuacji porusza się prostopadle do konturu normy , więc nie może wzrosnąć.β∗ℓ1∥β∗∥2
W rzeczywistości Hastie i in. wspomniane w artykule Forward regresja stagewise i monotoniczny lasso , niezbędny i wystarczający warunek monotoniczności ścieżek profilu:
W części 6 artykułu skonstruowali sztuczny zestaw danych oparty na cząstkowo-liniowych funkcjach bazowych, co narusza powyższy warunek, pokazując niemonotoniczność. Ale jeśli mamy szczęście, możemy również utworzyć losowy zestaw danych demonstrujący podobne zachowanie, ale w prostszy sposób. Oto mój kod 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)
Celowo pozwoliłem , aby kolumny wysoce skorelowane (daleko od przypadku ortonormalnego), a prawda ma zarówno duże pozytywne, jak i negatywne wpisy. Oto profil (nic dziwnego, że aktywowanych jest tylko 5 zmiennych):Xββ∗
oraz związek między i :λ∥β∗∥2
Tak więc widzimy, że dla pewnego przedziału , zwiększa się wzrasta.λ∥β∗∥2λ