使用数据子集进行训练:子集大小和训练指标之间的关系?

数据挖掘 回归 交叉验证
2022-03-07 16:58:31

我正在调查一个不完全的线性回归问题。数据集相当大,有约 6000 个样本和约 2100 个特征。

通过对数据集的不同大小的子集执行 5 折交叉验证,我发现使用的数据集的分数与 R 平方度量和 RMSE 度量的值之间存在很强的关系。

为清楚起见进行编辑:对于 0.01 的一小部分,我取 1/100 的样本(~60),然后执行重复的 5 折交叉验证,就好像这是整个数据集一样显示的值是平均值。

似乎 RMSE 随所用分数的倒数 (1/Frac) 呈线性变化,并且 R 平方非常好地针对 1/Frac 的二阶多项式回归。

原始结果如下:

Frac   1/Frac  Test R2      Test RMSE
0.01   100     -1.65628     1.85292
0.013  75      -0.71208     1.71476
0.02   50      -0.00786883  1.38874
0.05   20       0.535839    1.06872
0.10   10       0.626532    1.00598
0.20   5        0.702421    0.95058
0.30   3.33     0.745277    0.860082
0.50   2        0.772211    0.86548

关系:

1/Frac 和 R 平方之间的关系

1/Frac 与 RMSE 的关系

我的问题是:

  1. 这是众所周知的关系吗?
  2. 它有名字吗(所以我可以进一步研究)?
  3. 它有理论依据吗?
1个回答

我是否从您的测试 RMSE 中正确理解,随着您增加训练中使用的分数的大小,误差会降低?

如果您使用 0.01 的分数进行 5 倍交叉验证,这意味着您只是数据的 0.05 的总分数?所以 0.04 用于训练,0.01 用于测试。

因此,性能随着用于训练的数据量的增加而提高也就不足为奇了。您的 RMSE 值随着分数大小而增加 - 我通常会期望这种相关性(假设您的数据相当连贯)。

编辑:

为了回答您的问题,

  1. 我认为这是一个众所周知的关系,即使在最简单的回归问题中也是如此。阅读此处(包括对已接受答案的评论),以进一步讨论有效模型所需的最低数据点。强调的一个原因是,极少的数据点使任何方差估计变得不那么有意义

  2. 我不认为这种关系有一个名字——至少我不知道有一个名字(上面链接中的人也不知道)。我只是将其描述为数据集试图表示的问题所固有的。例如,如果我们有一个高维复杂参数空间,然后只有少数从该空间采样的数据点,我们就不太可能完全描述原始空间。我们拥有的样本越多,我们就越接近它。这在数据密集型建模技术中非常明显,例如基于图像的任务(即卷积神经网络,具有数百万个参数)。其他方法,例如使用高斯过程的贝叶斯优化。这些计算强度更高,但可能提供更高的数据效率。

  3. 可能有一些收敛理论,说明在给定一定数量的数据的情况下,基本事实的近似值如何达到阈值(这种框架对我来说很有意义)——但是,唉,我还没有看到任何关于这个方向的正式分析。关于样本数量,同时,我只是遵循口头禅:越多越好!