基于不变量的机器学习算法分析
2021-10-05宁一璇
智能计算机与应用 2021年5期
宁一璇
(浙江理工大学 信息学院,杭州311121)
0 引 言
近年来,人工智能与机器学习技术已经越来越成熟,已经渗透到人们生活的方方面面。例如,图像识别、无人驾驶等领域。伴随着智能技术的发展,人们对于机器学习程序高质量的需求日益增加,但现阶段对机器学习算法的分析与理解不足,并且传统的软件测试方法和评价标准也并不适用机器学习算法[1]。如何分析机器学习算法,已成为亟待解决的问题。
目前对机器学习进行质量分析,主要集中在以下几种方法:
(1)提高数据集质量。如Chakarov等人[2]提出PSI工具。认为对于分类任务,训练集中的错误会导致大量的分类错误。
(2)测试训练好的模型。如Groce等[3]提出了WYSIWYT/ML框架,帮助终端用户测试机器学习系统。
(3)利用蜕变测试方法,来测试机器学习程序代码。如Xie等人[4]尝试用蜕变测试来进行机器学习程序的测试。但从算法上对机器学习进行质量分析的研究甚少。
程序不变量常被用于追踪软件缺陷[5]、硬件错误[6]和软件评估[7]。在程序运行时,能够反映程序代码在整个运行过程中,具有不变性质的逻辑断言。不仅如此,还可以反映程序数据结构等各方面的信息,在程序的设计、测试等各方面都发挥着巨大的作用[8]。因此,可以将程序不变量用于机器学习算法的质量分析。
基于此,本文提出了基于不变量的机器学习算法分析。该分析方法将程序不变量与关键变量筛选提取方法相结合,通过对不同参数输入下的机器学习算法进行程序不变量的生成,然后对生成得到的不变量集合进行关键变量的提取,进而对机器学习算法进行分析。……
登录APP查看全文
