前面的文章里我们已经整体介绍过了人工智能测试的生命周期,它需要经历测试需求的分析、测试环境的准备、数据的准备与验证、测试的执行预分析以及上线后的监控这样一个过程。前面的文章已经为大家介绍了人工智能系统测试生命周期的“需求分析”环节和“测试环境准备”环节,本文我们将继续介绍下一个环节“测试数据准备”。
测试数据准备往往是影响最终测试结果的一个重要的指标,对于测试数据集的选择也是非常有讲究的。
首先,测试人员使用的测试数据集,需要尽可能的覆盖真实环境用户产生的数据情况。比如说真实环境下用户上传图像是用手机拍摄的?还是分辨率比较高的?像这种问题肯定是需要考虑进去的。
测试数据集的验证可遵循以下原则:
测试数据与训练数据的比例要合适,这个比例应根据实际算法和应用场景确定;
这个往往发生在离线测试的情况,比如说我们训练好了一个人工智能模型之后,我们需要进行离线测试的时候,我们这个时候的测试数据可以和原来的训练数据成一定的比例关系。这个比例关系可以根据实际的算法和应用场景来确定。
测试数据与训练数据需要独立同分布;
关于同分布这一点,要看具体的需求,如果说真实环境集下和训练数据差得非常远的话,也是建议构建测试数据集的时候需要考虑一下真实环境下的比例分布。比如说正负样本的比例需要和真实的环境尽量可以保持一致。
但是我们在离线测试的时候,如果那时候还没有足够真实环境的数据的话,我们可以考虑先构建一个测试数据和训练数据分布尽量保持一致的测试数据。这样可以比较好地进行一个离线的对人工智能系统的判断。
对于监督模型,测试数据的标签需要保证正确。
最后是对于监督的模型,所谓监督的模型就是说我训练的时候,我训练的数据是经过人为的标注的,就叫做可监督的学习,对于这种学习出来的模型,我们测试数据的标签也要尽量保证它的正确性。因为不这样的话,我们最后测试出来的一些结论可能也是错误的。
以上说的测试环境、测试数据都准备好了之后,我们就可以进行具体的人工智能的测试工作了。下篇文章将继续为大家介绍下一个环节“测试执行”环节。
(本系列文章根据《优品软件培育计划》公益直播内容整理,观看直播回放可以私信我,获取免费观看链接。)