最近由于研究需要,需要在机器学习项目的结果中加入假设检验的内容,但是机器学习中的假设检验和数理统计中的假设检验不同,是数理统计中假设检验的延申。但是,本来假设检验就是数理统计中的比较绕的一部分,比较难懂,优秀的博客比较少,结合机器学习的就更少了,最近学习之后,来进行一个总结。
机器学习中的假设检验是统计学中的假设检验的扩充,大家可以先了解一下本人另一篇博客统计学下的假设检验。
1,为什么需要在机器学习项目中需要假设检验?
当我们采用某种实验评估方法(留出法,交叉验证法),测得了某个学习器在测试集上的某个性能度量结果。那么怎么比较这个学习器的效果就是很好的呢?直接看他们在测试集上面的性能度量(RMSE,F1值)的结果吗?
其实不然,机器学习中的性能度量的比大家想象的要复杂一些。主要涉及以下几个因素:
- 我们希望比较的是泛化性能,但是在测试集上面的性能未必和泛化性能相同
- 测试集上的性能和测试集本身有关,不同的测试集,其结果会相差巨大
- 很多机器学习算法本身会存在一定的随机性,即使使用相同参数,相同测试样例,得到的结果也不一定相同
因此就提出使用假设检验进行性能的度量,一个抽象的统计下的理论推断:
若在测试集上观察到学习器A比学习器B好,则A的泛化性能是否在统计意义上优于B,以及这个结论把握有多大。这就是机器学习下的假设检验的基础。