对于算法测试来说,特别是基于神经网络或者深度学习的算法测试,数据才是核心

对于大多数公司来说,算法同学一般都是在做模型的拼接、调优等工作,很少有同学会做模型的设计工作。这个一般只在大公司的研究院或者实验室部门才会搞

因为没有做模型的设计,对于那种误检的分析,及时是算法同学也说不清楚。而且对于算法分析来说,只有在测试集足够大的时候,统计出来的指标才有意义。

对于测试集,其实有很多工作要做:

设计测试集的框架结构

做好测试集的管理

做好测试集的复用

上面 3 点,每一点做好其实都不容易。
比如说框架设计,就要求同学对测试的算法产品有充分的了解,甚至对相应的行业状况也要有一定的认识;

测试集的管理也比较难,数据量小的时候怎么弄问题都不大,一旦数据量上去了,一个简单的问题就会很复杂。比如说我想找一批暗光素材,分别在 1 亿张图片和 1 万张图片中寻找,难度完全不是一个数量级;

测试集的复用也不太好做,假如我们做项目 1,做人脸检测的,采集了一批素材 A;这时候来了一个项目 2,也是做人脸检测的,那素材 A 能用于项目 2 吗?评判标准是什么?能用的话要怎么用,是全部都用还是用一部分?如果是用一部分的话,选择的标准是什么? 这些都是需要考虑的

我们的测试数据如果设计好了,算法测试会简单很多。一份全面的数据能够保证:

对算法的测试会比较全面

能够从多个维度对算法进行分析

能够对算法的改进方向提供更加专业的建议


↙↙↙阅读原文可查看相关链接,并与作者交流