缶


11

もし、でき‖ β * ‖ 2増加するときλ増加?β∗=argminβ‖y−Xβ‖22+λ‖β‖1‖β∗‖2λ

これは可能だと思います。けれども時に増加しないλ増加(私の証明)、‖ βは* ‖ 2を増やすことができます。下の図は可能性を示しています。場合λが増加すると、もしβ *から走行(直線)PにQ、次いで‖ β * ‖ 2つの増加しながら‖ β * ‖ 1減少します。しかし、具体的な例を作成する方法(つまり、Xとyを作成する方法)がわかりません‖β∗‖1λ‖β∗‖2λβ∗PQ‖β∗‖2‖β∗‖1Xy)、のプロファイルがこの動作を示すようにします。何か案は?ありがとうございました。β∗

ここに画像の説明を入力してください

回答:


10

答えはイエスです、そしてあなたは、グラフィカル証明していすぐそこに。ℓ2

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

実際、解決したい問題は次のように表すことができます。

d

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

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

d≈[−0.4,0.3]Tx:=P≈[0.5,0.6]T

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

Xy

3

Xyλ‖β∗‖2βi∗X

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

β∗ℓ1‖β∗‖2

実際、ハスティら。フォワードステージワイズ回帰と単調なげなわで述べたプロファイルパスの単調性の必要かつ十分な条件:

ここに画像の説明を入力してください

論文のセクション6では、上記の条件に違反し、非単調性を示す区分線形基底関数に基づいて人工データセットを作成しました。しかし、運が良ければ、同様の動作を示すランダムなデータセットを作成することもできますが、より簡単な方法です。ここに私の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)

Xββ∗

ここに画像の説明を入力してください

λ‖β∗‖2

ここに画像の説明を入力してください

λ‖β∗‖2λ

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.