机器学习从入门到入职:用sklearn与keras搭建人工智能模型
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.3 机器学习模型开发的工作流程

模型开发的工作流程主要分为数据预处理、建立模型、验证模型及优化模型,如图2-6所示。在大多数情况下,该模型是按顺序执行的;在优化模型之后,还需要对模型进行验证,故需要重新训练并验证。下面详细介绍每个步骤的意义。

图2-6 机器学习开发流程图

数据预处理

数据预处理是指对所收集的数据进行分类或者分组前所做的审核、筛选、排序、转化及变形等必要的处理方法。在现实场景中,采集的数据并不能被计算机识别,或者用于训练效果不佳,从而出现数据缺失、数据分布不平衡、数据结构不合理、数据不可识别等多种情况。

建立模型

建立模型是模型开发中的一个重要步骤。其中,该步骤涉及模型的选型,根据不同的场景(回归、分类及聚类)选择相应的模型;在选型完成后,通过数据对模型进行训练,模型训练的过程是通过数据对模型参数进行调整。

验证模型

验证模型是模型开发中的一个重要步骤,有助于找到预测数据的最佳模型。在这种方法中,将数据集随机分为训练集、验证集、测试集3个子集。

训练集是用于建立预测模型的子集。

验证集是用于评估训练阶段所建立模型的性能的子集。它通过对模型参数进行精细调整,从而选择最佳性能模型。但并非所有建模算法都需要一个验证集。

测试集是检验最终选择最优模型的性能的子集。

根据实际应用场景,验证方法又分为分类验证、聚类验证、回归验证。

·分类验证——用于验证分类效果的方法,如ROC曲线、混淆矩阵等。

·聚类验证——用于检验聚类效果的方法,如调整随机指数、调整交互信息得分等。

·回归验证——用于检验回归效果的方法,如平均绝对误差、均方误差、方差等。

优化模型

在模型开发过程中,有些涉及模型结构的参数并不会参与到模型本身的参数训练中,这些涉及模型结构的参数被称为超参数(Hyper-Parameter),在不改变原有模型本身参数(被训练)的情况下,对超参数进行调整,可以使模型的性能在验证时取得更好的效果。

优化的方式有很多,如网格搜索(Grid Search)、随机搜索(Random Search)、弹性网络交叉验证、最小角回归交叉验证、LASSO交叉验证等。