如果,可以增加时增加?
我认为这是可能的。虽然\|\beta^*\|_1在\lambda增加时不会增加(我的证明),但\|\beta^*\|_2可以增加。下图显示了一种可能性。当\lambda增加时,如果\beta^*从P(线性)行进到Q,则\|\beta^*\|_2增加而\|\beta^*\|_1减少。但我不知道如何构造一个具体的例子(即构造X和y),以便\beta^*的配置文件展示这种行为。有任何想法吗?谢谢你。
如果,可以增加时增加?
我认为这是可能的。虽然\|\beta^*\|_1在\lambda增加时不会增加(我的证明),但\|\beta^*\|_2可以增加。下图显示了一种可能性。当\lambda增加时,如果\beta^*从P(线性)行进到Q,则\|\beta^*\|_2增加而\|\beta^*\|_1减少。但我不知道如何构造一个具体的例子(即构造X和y),以便\beta^*的配置文件展示这种行为。有任何想法吗?谢谢你。
答案是肯定的,你在中有一个图形证明。
查找向量范数等价的定义。你会发现
实际上,您要解决的问题可以表述为:
求满足
将第一个不等式平方,展开并看到
在您的示例中,,和
感谢@TommyL 的回答,但他的回答并不直接针对和的构造。我自己以某种方式“解决”了这个问题。首先,当增加时,单调减少不会增加。这发生在是正交的时,我们有
在几何上,在这种情况下范数的轮廓移动不能增加。
实际上,Hastie 等人。在论文Forward stagewise regression and the monotone lasso中提到,轮廓路径单调性的充分必要条件:
在论文的第 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)
我故意让的列高度相关(远离正交情况),并且真正的有很大的正负条目。这是的配置文件(毫不奇怪,只有 5 个变量被激活):
以及和之间的关系:
所以我们可以看到对于的某个区间,随着的增加而增加。