一句话:提出利用多面体输入区域检测机器学习代码缺陷的测试方法,并在 lasso 突变测试中验证有效性。
机器学习代码缺乏通用测试方法。本文提出一种基于多面体输入区域的测试方法:对满足多面体条件的 ML 算法(如 lasso 等稀疏回归)构造可能输入区域,若系统在该区域内的多个输入上产生不同输出,则可判定代码存在 bug。该性质源于统计推断理论,且广泛适用于机器学习算法。作者在变异测试框架下对 lasso 代码进行实验,表明方法能有效检测代码中的 bug。
To date, although machine learning has been successful in various practical applications, generic methods of testing machine learning code have not been established yet. Here we present a new approach to test machine learning code using the possible input region obtained as a polyhedron. If an ML system generates different output for multiple input in the polyhedron, it is ensured that there exists a bug in the code. This property is known as one of theoretical fundamentals in statistical inference, for example, sparse regression models such as the lasso, and a wide range of machine learning algorithms satisfy this polyhedral condition, to which our testing procedure can be applied. We empirically show that the existence of bugs in lasso code can be effectively detected by our method in the mutation testing framework.