我一直在使用 R 以外的其他软件实现 GLMNET 版本的弹性网络进行线性回归。我将我的结果与糖尿病数据的套索模式下的 R 函数 glmnet 进行了比较。
当改变参数(lambda)的值时,变量选择是可以的,但我得到的系数值略有不同。由于这个和其他原因,我认为它来自更新循环中的截距,当我计算当前拟合时,因为我不改变整个算法中的截距(我将其作为目标变量的平均值):如Trevor Hastie 的文章(Regularization Paths for Generalized Linear Models via Coordinate Descent,第 7 页,第 2.6 节)中解释了:
截距未正则化,[...] 对于 [...] lambda [L1 约束参数] 的所有值
但是尽管有文章,R 函数 glmnet 确实为正则化路径上的截距提供了不同的值(lambda 不同的值)。有没有人知道如何计算 Intercept 的值?