MATLAB机器学习
上QQ阅读APP看书,第一时间看更新

1.4 构建机器学习模型的流程

我们已经了解了挑选算法的标准和步骤,现在应该学习如何构建机器学习模型了。构建一个机器学习模型的流程可以分为以下几步,读者应该重视这一流程。译者注:在下面的步骤中,除了构建机器学习模型的部分(主要是步骤4和步骤5),对数据集的预处理、执行结果的评估和模型改进同样至关重要。

(1)收集数据。毫无疑问,一切都源自数据译者注:切记,在机器学习领域,数据集质量的高低直接决定结果的好坏。,问题在于如何获取如此多的数据。实践中,获取这些数据可能需要经过冗长的步骤,例如有的数据是通过一系列实地测量得到的,有的是通过一对一的面谈得到的。无论如何,在收集数据的过程中,一定要注意选取合适的形式保存记录(如数据库),以利于接下来的分析。

如果没有特别需求,互联网上现存的大量公开数据就够用了,如加州大学尔湾分校机器学习数据集(UCI Machine Learning Repository)这一非常大的机器学习数据集,这使我们可以节省收集数据的精力和时间。

图1.10展示了构建机器学习模型的步骤。

图1.10 构建机器学习模型的流程

(2)准备数据。在收集数据后,我们需要对原始数据进行一些处理。例如,很可能为了使数据集对于模型可用,调整数据集的数据格式。模型可能要求数据格式为整型、字符型或其他特殊格式译者注:数据去量纲化等。。接下来我们会专门介绍这些技巧,其中预处理数据一般要比收集数据简单。译者注:一般而言,有固定的模式可循。

(3)观察数据。至此,我们需要对数据集进行观察,例如确保数据可用(大致准确、没有大量的缺失值)。各种类型的图表可以辅助观察。我们能够辨别样本间所包含的模式、联系以及是否存在一些奇异值。绘制出不同维度的图表同样有助于观察数据。译者注:步骤5、步骤6、步骤7并不是经典方法。理论上应该分为训练、验证和测试这3个步骤。原书中步骤6和步骤7的解释几乎混淆了,因此对步骤5、步骤6、步骤7进行了适当调整,把书中的训练、测试和验证对应改成了训练、验证和测试,然后进行了翻译。

(4)训练(train)算法。现在,我们真正开始介绍如何构建机器学习模型。在这一步中,我们需要对模型译者注:目标函数、限制条件。进行定义和训练译者注:采取某种优化算法对模型参数在训练数据集中进行求解。,以使模型能够逐渐从训练数据集中抽取信息。我们将在后面的章节具体阐述这些概念。需要指出的是,训练阶段仅存在于监督学习中,对于非监督学习而言,是不存在训练阶段的。因为在非监督学习的输入数据中没有标签,所以无从训练。

(5)验证(validate)算法。在这一步骤中,我们使用上一步训练得到的模型进行验证译者注:应用在外部的、新添加的、模型没有见过的数据集上。在机器学习领域中,这一步的数据集特指验证集。,看模型是否真正有效。验证目标是评估训练得到的模型在多大程度上逼近了真实系统译者注:从概率角度而言,是指数据的真实分布。。对于监督学习,有样本标签来帮助我们衡量结果。对于非监督学习,可能需要借助其他指标来衡量。无论属于哪种情况,如果模型没有达到预期效果,那么将返回步骤4,更改、重新训练新模型,并执行步骤5。

(6)测试(test)算法。在这一步骤中,我们将模型应用到真实数据集译者注:在机器学习领域中特指这一步的数据集为测试集。上,以此评估整个算法流程的逼近效果。

(7)评估和改进模型:至此,我们验证了模型确实有效,同时了解了模型的表现。现在需要更新我们对模型、问题的理解,并尝试基于已有信息作进一步改进。