导论 | 深度学习算法流程
第1章 导 论
上期我们介绍了
1.3 深度学习算法流程
从本节开始,我们正式进入本书的学习。为此,我们先要了解深度学习的整体流程是怎么一回事。深度学习的整体流程如图1.3所示:数据集切分为训练集、验证集和测试集。
训练集用以训练深度学习模型;验证集用以评估模型结果,进而辅助模型调参;测试集用以模型的预测。
一般而言,训练集、验证集与测试集的比例为7:2:1。
图 1.3深度学习算法流程图
1.3.1 特征工程
目前业界有句话被广为流传:
“数据和特征决定了机器学习的上限,而模型与算法则是逼近这个上限而已。”
因此,特征工程做得好,我们得到的预期结果也就好。
那特征工程到底是什么呢?在此之前,我们得了解特征的类型:文本特征、图像特征、数值特征和类别特征等。我们知道计算机并不能直接处理非数值型数据,那么在我们要将数据灌入机器学习算法之前,就必须将数据处理成算法能理解的格式,有时甚至需要对数据进行一些组合处理如分桶、缺失值处理和异常值处理等。
这也就是特征工程做的事:
提取和归纳特征,让算法最大程度地利用数据,从而得到更好的结果。
不过,相较于传统的机器学习,深度学习的特征工程会简单许多,我们一般将数据处理成算法能够理解的格式即可,后期对神经网络的训练,就是提取和归纳特征的过程。
这也是深度学习能被广泛使用的原因之一:
特征工程能够自动化。
因此,本书所涉及的特征工程主要是文本预处理、图像预处理和数值预处理(归一化),这些均会通过案例来进行讲解。
1.3.2 模型评估
模型评估指标有很多种,因此根据问题去选择合适的评估指标是衡量结果好坏的重要方法。所以,我们需要知道评估指标的定义,从而选择正确的模型评估方式,才能知道模型的问题所在,进而对模型进行参数调优。深度学习模型执行的任务可以归为两类:分类任务和回归(预测)任务。为此我们也有不同的指标去评估模型。
1.分类任务评估指标
1)准确率(accuracy)
对于给定数据集的预测结果,分类正确的样本数占总样本数的百分比。但是对于不均衡的训练集来说,这就会有致命的缺陷,因为当负样本占比在99%时,模型只要将结果都预测为负样本,准确率就达到了99%。在这种情况下,利用准确率对模型进行评估并不是最合理的评估方式。
2)精确率(precision)和召回率(recall rate)
它们是一对衡量检索系统的指标。
精确率衡量的是检索系统推送出来的真实正确结果(TP)与系统推送出来的所有正确结果(TP+FP)的占比。
召回率衡量的是系统推送出来的真实正确结果(TP)与整个系统的实际正确结果(TP+FN)的占比。
但精确率和召回率是矛盾统一的一对指标,为了提高精确率,模型需要更有“把握”把真正的正样本识别出来,这样必然会放弃一些没有“把握”(但实际是正样本)的正样本,从而导致召回率降低。
下面我们通过一个二分类混淆矩阵来示意这两个指标是如何计算的。
如表1.1所示,
TP是正类样本中被分类器预测为正类的数目,
FN是正类样本中被分类器预测为负类的数目,
FP是负类样本中被分类器预测为正类的数目,
TN是负类样本中被分类器预测为负类的数目。
3) F1Score和ROC曲线
(1)F1Score是精确率和召回率的调和平均值:
(2)ROC曲线(Receiver Operating Characteristic):一开始用于心理学、医学检测应用,此后被引入机器学习领域,用以评估模型泛化性能好坏。ROC曲线的线下面积(AUC)越大,也意味着该模型的泛化性能越好。
(3)绘制ROC曲线:真阳率TPR作为纵坐标,表示正样本中被分类器预测正类的数目与总正样本数目之比;假阳率FPR作为横坐标,表示负类样本中被分类器预测为正类的数目与总负样本数目之比。
ROC曲线示意图如图 1.4所示,这里介绍一个简单绘制ROC曲线的方法:
① 根据标签统计出正负样本的数目,正样本数目记为P,负样本数目记为N;
② 其次,横轴刻度记为1/N,纵轴刻度记为1/P;
③ 接着,将模型预测的概率从大到小进行排序;
④ 最后,从零点开始,依次遍历排序好的概率,遇到正样本则纵轴刻度上升1/P,遇到负样本则横轴刻度右移1/N,直至便利完所有样本,最终停在点(1,1)上,至此,ROC曲线绘制完成。
它的线下面积AUC一般在0.5~1,若小于0.5,直接将模型的预测概率反转为1-P,然后重新计算AUC即可。AUC 越大,说明分类器越稳健,将真正的正类样本放在前面的能力越强。
图 1.4ROC曲线图
一般地,很多机器学习任务的数据集并不是均衡的,例如诈骗信息分类,诈骗信息和正常信息之间的占比有时能会到1:1000。为了能更好地衡量我们模型的有效性,我们应该选择ROC曲线和F1Score作为评估指标。因为它们能够无视样本不均衡的情况,并根据预测结果给出最合理的评估。
2.回归任务评估指标
回归是确定两种或两种以上的变量间相互依赖的定量关系的方法,简单来讲就是对自变量X和因变量Y建立函数关系式。为了评估这个函数关系式的有效性,我们可以通过以下几个评估指标来衡量。其中,fi为模型预测值,yi为实际值。
以上3种回归任务评估指标除了计算方式不同,评估的意义都是一样的,都是对预测值和真实值之间的误差进行评估。因此我们选择其中一种作为评估指标即可。
小结
本章的内容并不多,总体是为了介绍整本书的学习路线和人工智能与深度学习的关系,以及深度学习算法的整体流程,让大家对深度学习有个全局的认识。接下来的章节,笔者将会按照本章所设计的学习路线,逐步带领大家揭开深度学习的神秘面纱。
下一期,我们将介绍
敬请期待~
关注我的微信公众号~不定期更新相关专业知识~
内容 |阿力阿哩哩
编辑 | 阿璃
点个“在看”,作者高产似那啥~