> m <- glmnet(rbind(c(1, 0), c(0, 1)), c(1, 0), alpha=0)
> m2 <- glmnet(rbind(c(1, 0), c(0, 1)), c(1, 0), alpha=0, lambda=m$lambda)
给出完全不同的系数:
> coef(m, s=m$lambda[1])
3 x 1 sparse Matrix of class "dgCMatrix"
1
(Intercept) 5.000000e-01
V1 1.010101e-36
V2 -1.010101e-36
> coef(m2, s=m2$lambda[1])
3 x 1 sparse Matrix of class "dgCMatrix"
1
(Intercept) 0.500000000
V1 0.000998004
V2 -0.000998004
不同的数据集也是如此。当没有为glmnet提供lambda时,lambda.max coef(m,s = m $ lambda [1])的所有系数(截距除外)都非常接近零,并且任何X的预测都相等(由于舍入? )。
我的问题:
答案 0 :(得分:6)
这是一个棘手的问题。当alpha = 0时,&#34;开始&#34; lambda的值(当除截距之外的所有系数都为零时的值)是无穷大。由于我们想要从起始值生成几何上为零的网格,因此无穷大并没有多大用处。所以我们把它当作alpha = 0.001(在这种情况下为500)时使用的起始值,这是看到的最大lambda。
因此,在m中,系数实际上为零,但报告的最大lambda为500(同时它实际上是无穷大)
在m2中,我们实际上为第一个位置产生500的拟合,系数不是很零。
要验证我所说的内容,请注意后续系数都匹配。
Trevor Hastie