
数据采集
原始数据是机器学习过程的第一步,它从各个渠道被采集而来。在监督学习的场景中还需要对数据进行标记。例如,情感分析模型需要用标签标记。有时数据标记的工作往往非常耗时耗力,在某些场景中,这类工作不仅对人的专业背景要求高,而且完成标记所需的周期长。
数据处理和分析(EDA)
原始数据往往有缺失信息或者噪音较多,需要将这些数据进行预处理,得到有效的训练数据。机器学习模型的数据预处理过程主要包含数据归一化(包括样本尺度归一化、逐样本的均值相减、标准化)和数据白化。另外,我们还需要将数据分为三种数据集,即:包括用来训练模型的训练集、开发过程中用户调参的验证集以及测试时所使用的测试集。
训练模型
在正式开始模型训练之前,需要针对我们的训练目标进行分类。理解目标的本质对选择训练的方式至关重要。机器学习模型根据可以实现的目标被分为三种主要类型:监督型模型,非监督型模型,强化学习模型。前期算法工程师需要通过测试集和训练集,在集中可能的算法中做一些测试,再根据测试的结果选择具体的算法。有时候最终结果可能是多个模型结果的组合。
模型评估
我们利用在数据预处理中准备好的测试集对模型进行测试。由于测试集对模型来说是完全新的数据,因此可以客观地度量模型在现实世界中的性能表现。模型的效果通常以“拟合程度”来形容。值得注意的是,机器训练模型中经常出现过度拟合和拟合不足。
参数调整
对模型评估结束后,可以通过调参对训练过程进行优化。参数可以分为两类,一类是超参数,即需要在训练前手动设置的参数,另一种是不需要手动设置、在训练过程中可以自动被调整的参数。调参的过程是一种基于数据集、模型、和训练过程细节的实证过程。
改进模型
根据模型测试的结果,调整特征值的选取,或者调整模型的参数,甚至尝试不同的模型。这是一个不断迭代的过程,直到取得满意的结果。