我希望确认我对glmnet
包中的 CV 程序的理解,以便向我的论文的审稿人解释。如果有人可以添加信息以进一步澄清答案,我将不胜感激。
具体来说,我遇到了一个包含 29 个输入变量和 106 行的二元分类问题。我没有拆分成训练/测试数据(并进一步减少训练数据),而是使用 lasso 通过交叉验证选择 lambda 作为最小化过度拟合的一种手段。在用我训练模型后,cv.glmnet
我在同一数据集上测试了它的分类准确度(自举 x 10000 错误间隔)。我承认在这种情况下无法消除过度拟合,但是通过交叉验证选择的惩罚项 lasso 会减轻其影响。
我对审稿人(和我一样是医生)的解释cv.glmnet
是:
在 10 折交叉验证的每个步骤中,数据被随机分为两组,其中 9/10 的数据用于训练,1/10 的数据用于内部验证(即测量使用该 lambda 开发的模型的二项式偏差/误差)。绘制了 Lambda 与偏差。当该过程再重复 9 次时,得出 lambda 与偏差的 95% 置信区间。进入模型的最终 lambda 值是在高 lambda 和低偏差之间做出最佳折衷的值。高 lambda 是最小化过度拟合的因素,因为不允许通过为变量分配大系数来改进回归模型。然后使用最小二乘逼近在整个数据集上训练模型,该逼近最小化由 lambda 项惩罚的模型误差。
我怀疑我的解释可以大大改进,或者阅读本文的专家指出的方法中的缺陷。提前致谢。