为什么做机器学习的很少使用假设检验？
感觉很多回答没击中要害。 原因简单，ml用了假设检验大多数paper就跪了啊。 假设检验应用的核心思想是我们得出的含有信息量的结论有多少是由随机造成的，可以类比overfitting。 举个简单的例子，大家最关心的prediction accuracy，几乎所有ml paper的结论是，我们的方法最好。然后多少paper调参调几个月终于调出state of the art，但注意，这里acc是在某个特殊的dataset，特殊的dataset splitting（比如10-fold CV），特殊的初始化（random seed），等等特殊的神秘条件下得出的。那么我要问，到底是什么原因导致你的performance比别人好呢？是你的方法本身，比如dl里某种网络结构？还是前面的那些“特殊”？如果是后者，这其实是很严重的overfit，或者说false positive。如何排除FP？比如你可以10-CV做一万次，初始化一万次，所有随机因素都一万次，得出acc的分布，其他方法也这么做，然后看是不是你的acc分布显著地比别人高，这就用到假设检验了，最简单的rank sum就行。实际我没见过ml paper有这么做的，我深刻怀疑，如果这么做，没几个“大新闻”了。这也部分解释了为啥很多工作重复性这么差，因为你没有用那个“特殊”呗。 当然我也理解，很多paper卖的是idea，看着好玩就行，至于真的效果，就看用的人给不给力了。但从科学的角度讲，你说你好，你得充分地证明吧，无论经验上还是理论上，否则逗读者呢？ 当然假设检验也不一定真“有用”，比如首先假设检验本身也有model，假设检验用的不对，P value也不可信，比如上面的acc分布直接拿student t就不对了。其次，stats喜欢p，cs喜欢score rank，我觉得没谁更好更坏，殊途同归罢了。比如我要寻找某个signal，建了个Bayes model，费了半天劲算了posterior，然后最大才0.2，从假设检验的角度讲，这就跪了啊，signal太弱了，FDR一堆鬼啊。但实际上，如果rank posterior，top xxx确实会有有趣的signal，我个人会倾向选择rank，然后做后续分析加以验证，因为我找到了我想要的，因为all models are wrong，选个不那么烂的，对自己好一点吧。 