Seven Steps to Build Machine Learning Models

机器学习建模的7大步骤


机器学习作为人工智能的一个分支,在金融行业得到广泛的应用。然而,多数金融服务企业缺乏对机器学习价值的深入了解,其原因除了企业对机器学习缺乏深入的了解,对其价值抱有不切实际的期望,或者因为机器学习的研究和开发太高而望而却步,数据科学家和机器学习专家短缺也是重要的原因。在机器学习的推广方面,老企业因为需要更新数据和IT架构,推广力度和研发进度往往缺乏动力。

本文介绍建立机器学习模型的主要步骤。

1. 数据采集

收集原始数据是机器学习过程的第一步,它从各个渠道被采集而来。数据的数量和质量直接影响模型的性能。在监督学习的场景中还需要对数据进行标记。例如,情感分析模型需要用标签标记。有时数据标记的工作往往非常耗时耗力,在某些场景中,这类工作不仅对人的专业背景要求高,而且完成标记所需的周期长。

2. 数据处理和分析(EDA)

原始数据往往有缺失信息或者噪音较多,需要将这些数据进行预处理,得到有效的训练数据。机器学习模型的数据预处理过程主要包含数据归一化(包括样本尺度归一化、逐样本的均值相减、标准化)和数据白化。另外,我们还需要将数据分为三种数据集,即:包括用来训练模型的训练集、开发过程中用户调参的验证集以及测试时所使用的测试集。

数据可视化(Data Visualization)在这一步被大量使用,帮助用户直观地分析数据的特性,以及数据之间的相关性。如果使用Python开发机器学习模型,常用的可视化数据包有Matplotlib, Seaborn。

3. 选择模型

机器学习模型类型众多,通常,根据可以实现的目标被分为三种主要类型:监督型模型,非监督型模型,强化学习模型。模型的选择依赖于数据的类型和问题本身需要达到的目标。以下举例说明常用的模型和相对应的应用场景。

销售价格的预测,常用 Logistic Regression, XGBoost;图像处理,语音处理常用深度学习模型(Convolutional Neural Networks, Recurrent Neural Networks);错误信息检测常用Random Forest;试错学习常用 Reinforcement Learning;普通的分类问题常用 Fully Connected Networks或者Support Vector Machines。

4. 训练模型

在正式开始模型训练之前,需要针对我们的训练目标进行分类。理解目标的本质对选择训练的方式至关重要。前期算法工程师需要通过测试集和训练集,在集中可能的算法中做一些测试,再根据测试的结果选择具体的算法。有时候最终结果可能是多个模型结果的组合。

5. 模型评估

利用在数据预处理中准备好的测试集对模型进行测试。由于测试集对模型来说是完全新的数据,因此可以客观地度量模型在现实世界中的性能表现。模型的效果通常以“拟合程度”来形容。值得注意的是,机器训练模型中经常出现过度拟合和拟合不足。

6. 参数调整

对模型评估结束后,可以通过调参对训练过程进行优化。参数可以分为两类,一类是超参数,即需要在训练前手动设置的参数,另一种是不需要手动设置、在训练过程中可以自动被调整的参数。调参的过程是一种基于数据集、模型、和训练过程细节的实证过程。

根据模型测试的结果,调整特征值的选取,或者调整模型的参数,甚至尝试不同的模型。这是一个不断迭代的过程,直到取得满意的结果。

7. 预测

得到最终的模型以后,对新的数据进行预测得到结果。

我们为用户提供每一步骤的详细讲解和Python源代码实例: click here