《Machine Learning Yearning》Note11-When to change dev/test sets and metrics

概要

当开始一个新的项目时,我尝试快速地选择dev/test 集合,因为这可以使我们的目标更明确。
——Andrew Ng

这一节介绍了我们在什么时候需要更换验证集/测试集,笔记主要记录了两点。

  • Ng建立新项目时的做法:
    • 快速地选择初始dev/test集合(小于一周时间), 不要求一开始就很完美,要快速向前,而不是反复思考用什么验证集/测试集,当然不用于成熟的应用。
    • 之后如果意识到初始的验证/测试集没达到目的,那就无论如何都要快速地改变它们,例如验证集证明分类器A比较好,而团队人员却认为B比较好,这时候,就需要考虑更换验证/测试集了。
  • dev/test集给出不正确评价的三个主要原因:
    • 实际的数据(目标任务数据)分布和验证/测试集的分布不同。

    • 过拟合验证集:反复使用验证集评价效果,会使得你的算法逐渐过拟合验证集(一个迹象是验证集的表现比测试集好),这个时候就需要换新的验证集了。

      PS:用测试集的效果评价去改变算法,不可取!
      如果这么做,算法将开始对于测试集过拟合,测试集将不能完全无偏地评价系统的性能!

    • 度量是评价指标而不是优化的目标。
      此时不能信任这个指标帮你选出最好的算法,而是要重新选择新的评价指标。

结语

在一个项目中,更换验证/测试集非常常见,如果发现验证/测试集不能指引正确的方向,那就及时更换它们吧!

思考:快速迭代而不是从一开始就达到完美。在建立系统的过程中,我们不可能在一开始就get到完美的方向(验证集和指标),而是在过程中不断修正,这没什么大不了的!这个思维需要在工作中不断应用!

猜你喜欢

转载自blog.csdn.net/easywaytolifebelief/article/details/88780141
今日推荐