一、前言
在大数据时代,数据挖掘,人工智能,机器学习这一系列高大上的技术应运而生,针对这一系列高大上的系统,测试同学如何参与其中,做好质量把控呢?与我们熟悉的测试套路又有何不同呢?欲知详情,请听笔者细细道来。
二、背景知识介绍
模式识别:是目的,就是通过计算机用数学技术方法来研究模式的自动处理和判读。
机器学习:是一种方法,是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。
数据挖掘:是一种方法,从大量数据中自动搜索隐藏于其中的有着特殊关系性的信息的过程。
人工智能:是指由人工制造出来的系统所表现出来的智能。
附上一张网上转载的图,介绍它们之间的关系。
为了验证机器学习形成的模型是否能正确进行模式识别,数据挖掘分析的结果是否符合预期,测试同学需要设计一套完整的测试方案,在系统上线前能够告诉项目团队,这个系统符合上线的质量标准,可以放心发布。
三、机器学习模型的认识
机器学习模型进行测试的前提是需要对机器学习有一定的认知,简单来说就是我们要了解被测对象。机器学习的过程,也是一个归纳总结的过程,总结过往的经验,来指导新的任务。机器学习的应用就是大数据。
机器学习的分类
机器学习可分为监督学习,无监督学习和半监督学习
监督学习的分类
常见使用的是监督学习,监督学习包括回归分析和统计分类
回归分析:是一种统计学上分析数据的方法,目的在于了解两个或多个变数间是否相关、相关方向与强度,并建立数学模型以便观察特定变数来预测研究者感兴趣的变数。更具体的来说,回归分析可以帮助人们了解在只有一个自变量变化时因变量的变化量。一般来说,通过回归分析我们可以由给出的自变量估计因变量的条件期望。
统计分类是指识别出样本所属的类别,包括二分类和多分类。
根据输入变量、输出变量的不同类型,对预测任务给予不同的名称:输入变量和输出变量均为连续的预测问题称为回归问题;输出变量为有限个离散值得预测问题称为分类问题。
机器学习模型评价
机器学习模型评价,简单来说就是对数据进行训练形成机器学习模型后,需要一些合适的指标来对模型就行评价,从而帮助选择一个较好的模型。
机器学习过程分为两个阶段:原型设计阶段和应用阶段,不同阶段使用的评价指标往往不同,并且同一个阶段,对于不同的学习任务,评价指标也不相同。
原型设计阶段一般会使用准确率,对数损失函数,精确率–召回率,RMSE等。应用阶段一般会使用点击率,留存率,活跃度等模型最终使用者关心的指标。
四、机器学习测试过程
测试样本准备
测试样本包括训练样本,验证样本和测试样本
训练样本:用来作为机器学习训练模型的数据集
验证样本:当模型训练完后,需要使用一个与训练数据集独立的新的数据集去对模型进行验证。
测试样本:当模型最终训练完成后,测试同学用来验证模型的样本,检验模型的泛化能力。
在原型设计阶段中,需要进行模型选择,即需要对多个候选模型在一个或多个验证集上进行性能评价。当在模型训练与验证确定了合适的模型类型以及最优的超参数后,需要使用全部可利用的数据对模型进行训练,训练出的模型便是最终的模型,即上线使用的模型。
模型测试则发生在模型的原型设计之后,即包含在上线阶段又包含在离线监测(监测分布漂移)阶段。
注意不要将训练数据、验证数据与测试数据相混淆。模型的训练、验证与测试应该使用不同的数据集,如果验证数据集、测试数据集与训练数据集有重叠部分,那么会导致模型的泛化能力差。
系统上线后,又会产生新的数据集,这部分新的数据集进行的验证就称为在线验证,在线验证也是验证模型的泛化能力。
下图是笔者最近测的××系统的样本组成
测试指标制定
根据学习任务的特点选择合适的评价指标,比如:回归分析和统计分类选用的测试指标不同
1、分类评价指标
二分类和多分类(二分类只有两种类别,可以称为负与正两种类别,多分类则指类别数超过两种)
评价指标:准确率(Accuracy),对数损失函数(Log-loss),精确率–召回率(Precision-Recall)
准确率=分类正确的个数/总的样本个数
平均准确率=(分类1准确率+分类2准确率+…+分类n准确率)/N(应对样本不一样个数)
对数损失函数在分类输出中,若输出不再是0-1,而是实数值,即属于每个类别的概率
精确率–召回率其实是两个评价指标。但是它们一般都是同时使用。精确率是指分类器分类正确的正样本的个数占该分类器所有分类为正样本个数的比例。召回率是指分类器分类正确的正样本个数占所有的正样本个数的比例。
真正(True Positive, TP):被模型分类正确的正样本;
假负(False Negative, FN):被模型分类错误的正样本;
假正(False Positive, FP):被模型分类错误的负样本;
真负(True Negative, TN):被模型分类正确的负样本;
F1-score为精确率与召回率的调和平均值,它的值更接近于Precision与Recall中较小的值。即:
2、回归评价指标
回归模型中最常用的评价模型便是RMSE(root mean square error,平方根误差),其又被称为RMSD(root mean square deviation),其定义如下:
是第i个样本的真实值,是第i个样本的预测值,n是样本的个数
机器学习测试总结
机器学习接收的是输入数据,对数据进行归纳学习形成模型,并预测未来的结果,根据前面对机器学习测试的探索和笔者做过的几次实践,归纳形成一套机器学习领域的测试方法总结,以此作为后面大数据相关测试的参考。另外涉及到大数据相关的测试,统计学和数据分析的基本技能也是需要掌握的,可以自行学习相关的入门书籍。
本文采用「CC BY-SA 4.0 CN」协议转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请给「我们」留言处理。