插入符号-重复的K折叠交叉验证与嵌套的K折叠交叉验证,重复n次


16

插入符包是构建多机器学习模型辉煌[R库,并有模型构建和评估多种功能。对于参数调整和模型训练,插入符号包提供“ repeatedcv”作为方法之一。

作为一种好的做法,可以使用嵌套的K折交叉验证执行参数调整,其工作方式如下:

  1. 将训练集划分为“ K”子集
  2. 在每次迭代中,将“ K减1”子集用于模型训练,并保留1个子集(保持集)用于模型测试。
  3. 进一步将“ K减1”训练集划分为“ K”个子集,并迭代使用新的“ K减1”子集和“验证集”进行参数调整(网格搜索)。此步骤中确定的最佳参数用于测试步骤2中设置的保持。

另一方面,我假设重复的K折交叉验证可能会重复选择步骤1和2,因为我们选择查找模型方差的次数很多。

但是,仔细阅读插入符号手册中的算法,看起来“ repeatedcv”方法除了重复进行交叉验证外,还可能执行嵌套的K折交叉验证。

插入符训练算法https://topepo.github.io/caret/training.html

我的问题是:

  1. 我对插入符号'repeatedcv'方法的低估是正确的吗?
  2. 如果没有,您能否举一个使用插入的K折叠交叉验证的示例,并使用带有插入符号的'repeatedcv'方法?

编辑:

在本方法论文章中将解释和比较不同的交叉验证策略。

Krstajic D,Buturovic LJ,Leahy DE和Thomas S选择和评估回归和分类模型时的交叉验证陷阱化学信息杂志2014 6(1):10。doi:10.1186 / 1758-2946-6-10

我对使用插入符号包的“算法2:重复分层嵌套的交叉验证”“算法3:针对变量选择和参数调整的重复网格搜索交叉验证”感兴趣。

Answers:


2

提出的(嵌套)算法没有任何问题,实际上,对于不同数据集的偏差方差问题,它可能会以良好的鲁棒性表现良好。但是,您从未说过,读者应该假设您所使用的功能是最“最佳”的,因此,如果未知,那么必须先解决一些功能选择问题。

功能/参数选择

较小的偏向方法是永远不要让分类器/模型接近与特征/参数选择远程相关的任何事物,因为您不希望狐狸(分类器,模型)成为鸡的守护者(特征,参数)。您的特征(参数)选择方法是 -特征选择捆绑在分类器/模型执行的迭代学习中。相反,我总是使用采用与分类器/模型相去甚远的不同方法的特征,以尽量减少特征(参数)选择偏差。在特征选择期间查找包裹与过滤以及选择偏向(GJ McLachlan)。w[R一种ppË[RF一世ŤË[R

始终存在一个主要的特征选择问题,解决方案是调用对象分区(折叠)方法,其中将对象划分为不同的集合。例如,模拟一个包含100行和100列的数据矩阵,然后在另一列中模拟一个二进制变量(0,1)-将其称为分组变量。接下来,使用二进制(0,1)变量作为分组变量在每列上运行t检验。仅在偶然的100个t检验中,有几个会很有意义。但是,一旦将数据矩阵拆分为两个折叠和,每个折叠的d1个d2ñ=50,重要测试的数量会下降。除非可以通过确定在参数选择期间使用的最佳折叠数来解决数据问题,否则可能会怀疑结果。因此,您需要建立一种引导偏倚方法,以评估保留对象的预测准确性,该方法是每个训练折叠中使用的样本大小变化的函数,例如(即,在学习过程中使用的样本数量不断增加)与所使用的CV折叠数量(例如)组合在一起 π=0.1ñ0.2ñ03ñ0.4ñ0.5ñ

优化/最小化

您似乎真的在解决函数逼近的优化或最小化问题,例如,其中使用了回归或带有参数的预测模型,而ÿ=FX1个X2XĴÿ是连续缩放的。鉴于此,并考虑到需要将预测中的偏差(选择偏差,偏差方差,信息从测试对象泄漏到训练对象等)最小化,您可能会在使用群体智能方法期间考虑使用CV,例如粒子群优化(PSO),蚁群优化等。PSO(请参见Kennedy&Eberhart,1995)在学习过程中通过粒子空间飞行时为粒子之间的社会和文化信息交换添加了参数。熟悉群智能方法后,您会发现可以克服参数确定方面的许多偏见。最后,我不知道函数逼近是否使用随机森林(RF,请参见Breiman,机器学习杂志)方法,但是,如果存在,

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.