盘点我跳过的科研天坑,进坑就是半年白干( 五 )
文章图片
6如何公平地比较模型
1.不要以为分高了模型就好
这真是非常常见的问题:“XX模型精度94% , 我们的模型精度95% , 所以我们nb” 。 然而 , 可能存在几种可能性:两个模型是在不同的数据集上测试的(直接毙了吧);两个模型用的同一个数据集 , 但是训练和测试集划分并不一样 , 特别有些论文 , 直接引用他人模型训练出来的精度 , 连复现都不带的(危);复现的模型超参数可能和原论文存在出入 , 或者没有费心去调参 。 总之 , 比较模型表现的时候 , 可能出现各种各样的事故 , 一定要记得将模型放在同样的起跑线上 , 进行同样的优化步骤 , 最后 , 多测试几次来证明模型的表现确实有显著的进步 。
2.比较模型时 , 用点统计学
看到这一条的时候 , 实在忍不住想到 , 现在比较模型的方法 , 有时甚至不如宝可梦对战 。 宝可梦好歹还可能因为属性和技能导致的胜负反转 。 模型之间就列一两个指标 , 拿着1%的差异说事 。 还是多用用压箱底的统计学知识吧 , 例如 , 比较分类器的时候可以上McNemar检验 , 检查模型对数据拟合的分布时 , 可以试试Student'sT检验 。 关于模型到底有没有显著的改进这个问题 , 这些方法能够提供更有力的理论支撑 。
3.如何正确地比较多个模型
如果用了统计学的知识来好好验证模型效果 , 你需要注意到 , 比较多个模型的操作有点复杂 。 进行统计检验时 , 置信度往往设为95% , 那么从统计学上来说 , 每20次检测就会有1次的结论可能不可信 。 而模型越多 , 比较次数越多 , 出现失误的概率也就越大 。 为了避免这一风险 , 比对模型后 , 应当进行矫正 , Bonferroni校正便是一种常用的方法 , 能够简单地根据测试的数量修正显著性的阈值(这一操作目前仍然存在争议) 。
Bonferroni校正:如果在同一数据集上同时检验n个独立的假设 , 那么用于每一假设的统计显著水平 , 应为仅检验一个假设时的显著水平的1/n 。
4.不要盲信benchmark的结果
基准测试之所以存在 , 是希望大家使用统一的数据训练和测试模型 , 使模型之间更容易比较 。 但是 , 即使你自己的模型训练完全符合规范 , 也不能保证他人是否将测试集用于训练了 。 实际上 , 很多表现最好的模型可能只是恰好过拟合了测试集 , 泛化性未必有保障 。 总之 , 一定要谨慎地对待基准测试的结果 , 不要以为在基准数据集上有一点点性能提升就能证明模型的显著性 。
5.记得考虑集成模型
虽然有些人可能很嫌弃 , 但应用到子领域的的时候 , 能抓老鼠的就是好猫 。 缝合怪没有错 。 有时候 , 把不同的模型集成成为一个大一统模型 , 确实能够利用它们各自的特点补齐短板 , 提升模型在面对多样化场景时的泛化性 。 比如最近几年兴起的全景分割 , 目前最流行的操作就是把语义分割和像素分割的模型拼在一起 , 从而得到对前景中独立个体和背景内容的全面信息 。 集成模型的难点就是集成 , 如何结合每个子模型提取的数据特征 , 如何选择合理的输入和输出格式 。 我有一位朋友 , 似乎每天在因为这些问题愁得掉头发 。
7如何描述你的结果
1.尽可能透明公开
机器学习领域的透明公开 , 一方面是指论文当中对实验关键步骤的详细描述 , 另一方面则是指公开代码 。 公开代码能够节约其他研究者复现论文的时间 , 也是督促你自己谨慎实验的动力 。
2.多角度评估表现
用多个数据集、多个指标显然能更好地评估模型的性能 , 比如实时性、泛用性、鲁棒性 。
- 红米手机|天玑1200手机将升级换代?红米真我两款机型降价,最低1599元
- 东南亚|MIUI13深度使用报告,这还是我认识的MIUI吗?网友评价很真实
- DeepMind首席科学家:比起机器智能,我更担心人类智能造成的灾难
- 传感器|称年轻,我们怎么做到经济自由?
- 我们的生活|社交正在推动“孤独生意”多元化发展,天聊将重塑用户精神世界!
- 本周华为小米相继报出的新闻,让我看到中国科技公司未来发展希望
- 中国电信|在Dolby Week,我见识了真正的杜比体验
- |盘点三款外观颜值最适合春节的手机:一款比一款好看,性价比很高
- 小米科技|我用的红米10x和小米10pro手机信号,比一台华为p30,一台荣耀v20强
- QQ音乐的2021专辑盘点,是如何征服资深乐迷的