因项目需要,我从上半年开始接触算法测试。下面主要对于算法测试的类型和方法这里做一下总结。在项目中,所接触算法测试的类型主要包括如下图所示的几个方面:
一,算法模型
根据之前的调研,在测试阶段,对于新采用的算法模型,比如协同过滤,机器学习算法等的测试,很多项目上只是回归下功能和流程,不对具体的算法模型进行评测;一般会通过线上或者灰度发布的推荐效果来评测算法模型。
那么,在测试阶段有没有什么方案可以评测算法模型呢?当然有,但是要结合项目情况,具体问题具体分析。
以下是我们在一次大改版中的实践:
- 首先需要制定评测标准,和产品方沟通后了解他们的期望,并把产品方的期望量化成一条条评测的约束条件
- 然后约定通过测试的标准即:算法结果能满足约束条件的最低比例
- 最后准备测试数据,统计计算结果能达到各项约束条件的比例
具体实现方案可参考下面:
二,需求规则
项目中的算法任务,往往包含一些明确的需求规则。比如一个推荐给用户的内容列表,可能要求:分页加载过程中内容不能有重复;过滤掉屏蔽的或者特定的内容;按照某个字段大小排序;推荐总数量的限制等等。</