假如一个用户向银行申请贷款,银行该如何对这个用户进行评估?很明显,银行首先需要调查清楚该用户的资金储备情况和信用历史等,然后再决定是否向其放款。
整个机器学习生命周期如下图所示:
1、定义问题
在使用机器学习中的术语表述上述用户申请贷款的例子时,可转换为二分类法评估用户的信用:信用好可以放款,信用差则拒绝放款。
针对评估用户的信用问题,我们有哪些解决方案?人工审核或者采用机器学习的方式。假如确定采用机器学习的方式:
最重要的是,应该如何衡量机器学习的结果,这个结果和期望相差多少如何减小这种差距。第一步便是定义问题,这需要团队成员同思考,给出各自的建议和理解,确定解决问题的思路。
2、收集数据
收集数据的数量和质量一定程度上决定了模型预测的效果。通常来说,数据量越大,训练出的模型质量越好。
在模型评估阶段,我们还需要对数据集进行划分,以一定的比例将其划分为训练集和测试集。举个例子,若以 7:3 的比例划分,则数据集的 7/10 作为训练数据剩下的 3/10 是测试数据,
3、特征工程
数据收集过程中,获取到的原始数据由于可能存在空值或者错误值等,通常是不能直接应用于模型的,因此需要将其通过业务理解、数据变换、特征交叉与组合的方式转化成模型训练和预测可直接使用的特征。
如图所示,特征就是原始数据经过挖掘处理后的数值表示,获取特征的过程称为特征工程,即原始数据会经过数据预处理,然后对数据进行挖掘处理后的数据。
特征挖掘表示基于业务需求、收集到的数据和技术(压缩感知、稀疏编码等),构造出能够帮助描述问题的特征。例如,银行在判断是否向某个用户放款时,可以使用 30 天内信用卡是否逾期作为一维特征。
特征选择就是挑选出能够深刻描述研究问题特征的过程。如果在构造的特征中多数特征不合适(与研究问题没有很大的相关性),那么型训练的困难和成本将会提高,甚至训练过程中会出现一些影响模型性能的错误。
4、训练模型
4.1、模型选择
可以根据实际的数据结构和业务需求对模型进行初步的筛选。如果数据是时序数据,则擅长学习时序关系的模型是比较好的选择,如果是图片数据,那么卷积神经网络会更合适。
4.2、调参
这些经验可能来源以下几个方面:
- 对模型评估指标的理解。
- 对数据和业务的经验。
- 通过不断地评估模型,选择使模型效果最优的参数。
调参的目的是提高模型的某个评估指标。最简单的调参方式是在学习曲线上找出最优值,以便能够将准确率修正到一个比较高的水平。
4.3、模型评估
在建模过程中,由于只使用了有限的数据,因此模型很可能会出现过拟合或者欠拟合的问题。
在模型评估时,经常要对数据集进行划分(分为训练数据集和测试数据集),划分数据通常要保证两个条件。
- 训练数据集和测试数据集的分布要与样本的真实分布一致,即训练集和测试集都要保证是从样本中独立采样得到的。
- 训练数据集和测试数据集要互斥,即两个子集之间没有交集。
基于划分方式的不同,评估方法可以分为留出法、交叉验证法及自助法。基于不同方法的特点,在样本量较多的情况下,一般选择留出法或交叉验证法来对数据进行分类,在样本较少的情况下采用自助法。
分类问题中最常用的两个性能度量标准是准确率和错误率。这两个标准是分类问题中简单、直观的评价标准。但它们都存在一个问题,即在类别不平衡的情况下,它们都无法有效评价模型的泛化能力。由于此种隐患的存在,又构造了其他相对公平的评估标准,如精确率、召回率、ROC和AUC 等。
5、模型部署
机器学习生命周期的最后一步是部署。如果开发模型能够按照我们的要求以可接受的速度生成准确的结果,那么就可以将该模型部署到实际系统中。