注:案例为 n>>p
我正在阅读 Elements of Statistical Learning 并且有很多关于进行交叉验证的“正确”方法的提及(例如第 60 页,第 245 页)。具体来说,我的问题是如何在进行模型搜索时使用 k-fold CV 或 bootstrapping 评估最终模型(没有单独的测试集)?似乎在大多数情况下(没有嵌入特征选择的 ML 算法)会有
- 特征选择步骤
- 元参数选择步骤(例如 SVM 中的成本参数)。
我的问题:
- 我已经看到特征选择步骤可以在整个训练集上完成特征选择并搁置一旁的情况下完成。然后,使用 k-fold CV,在每个折叠中使用特征选择算法(每次可能选择不同的特征)并平均误差。然后,您将使用使用所有数据(被搁置)选择的特征来训练最终模式,但使用来自交叉验证的误差作为对模型未来性能的估计。它是否正确?
- 当您使用交叉验证来选择模型参数时,那么之后如何估计模型性能?是否与上面的 #1 相同,或者您应该使用第 54 页 ( pdf )上显示的嵌套简历或其他内容?
- 当您同时执行这两个步骤(功能和参数设置)时......那么您会做什么?复杂的嵌套循环?
- 如果您有一个单独的保留样本,问题是否消失了,您可以使用交叉验证来选择特征和参数(不用担心,因为您的性能估计将来自保留集)?