让我们考虑在一些数据集上比较两种机器学习算法(A 和 B)。两种算法的结果(均方根误差)取决于随机生成的初始近似值(参数)。
问题:
- 当我对两种算法使用相同的参数时,“通常”A 会稍微优于 B。我需要执行多少个不同的实验(使用不同的参数 /更新/)才能“确保”A 优于 B?
- 如何衡量我的结果的重要性?(我“确定”到什么程度?)
欢迎提供相关链接!
PS。我看过作者使用 t 检验和 p 值的论文。但我不确定在这种情况下是否可以使用它们。
更新。 问题是如果初始参数和学习/验证/测试集相同,A(几乎)总是优于 B;但如果它们不同,它不一定成立。
我在这里看到以下方法:
将数据拆分为不相交的集合 D_1、D_2、...;生成参数params_1;在 D_1 上比较 A(params_1, D_2, ...,) 和 B(params_1, D_2, ...,);生成 params_2;比较 D_2 上的 A(params_2, D_1, D_3,...) 和 B(params_2, D_1, D_3,...) 等等。记住 A 的表现优于 B 的频率。
将数据拆分为不相交的集合 D_1、D_2、...;生成参数 params_1a 和 params_1b;在 D_1 上比较 A(params_1a, D_2, ...,) 和 B(params_1b, D_2, ...,);.... 记住 A 的表现优于 B 的频率。
首先,对 A 进行交叉验证。然后,对 B 进行独立验证。比较结果。
哪种方法更好?在这种最佳情况下如何找到结果的意义?