一文读懂:机器学习模型构建全流程
本文是系列文章的第二篇,会具体产出模型构建环节的具体内容。阅读本文前,建议先阅读上篇文章,可以知道模型构建环节处于AI产品构建的哪个位置。
上文以薅羊毛项目为例,简单介绍了AI产品构建的全流程,其中模型构建、模型评估等重点环节只是一笔带过。今天我们来了解一下模型构建环节的具体内容。
模型构建,其实就是从繁杂的数据中提取那些最能解释数据本质的特征,再利用算法建立出对未知数据有准确预测能力模型的过程。
模型构建主要包括5个阶段,分别为算法选择、特征工程、模型训练、模型验证和模型融合。
一、算法选择
以上文薅羊毛项目为例,基于其需求定义,模型需要计算出用户是薅羊毛用户的概率,并根据概率高低分为正常、疑似、高危三类,最终技术同学决定采用逻辑回归算法来实现该需求。
逻辑回归算法具有计算速度快、可解释性强的优点,适用于解决需求中的多分类问题,而且还可以对用户“为什么封号”的质疑,有较强的解释性。
目前大家对算法有个概念就可以,后续篇章中会对常见的算法进行较详细的介绍。
二、特征工程
确定算法之后,我们就可以进入特征工程阶段了。
特征工程是模型构建过程中最重要的部分,如果我们可以挑选到足够优质的特征,不仅可以提升模型性能,还能降低模型的复杂度,大幅简化构建过程。
数据和特征决定了模型的上限,而模型和算法只是逼近这个上限而已。
所有模型的输入都是数量化的信息,所以我们需要通过某种方式,把各种类型的数据转化成数量化的信息,这个过程就是特征工程。
以薅羊毛项目为例,我们可以通过用户是否在夜间活动、操作频率、历史订单、完成活动速度、同一台终端是否登录多个账号等一系列特征,来表达是薅羊毛用户的可能性,这就是建立了薅羊毛用户的特征工程。我们可以通过这些特征来判断用户的可疑程度。
特征过程包括以下四个流程:
- 数据清洗:数据预处理的重要环节,主要是对数据进行重新审查和校验,检查数据一致性、处理无效值和缺失值等。
- 特征提取:从原始数据中提取有用的特征,将其转化为一组更具代表性和可解释性的特征。特征提取的目的是减少原始数据的维度,提高数据的表达能力,帮助算法进行更好的完成任务。
- 特征选择:筛选出对分类或回归有重要贡献的特征,从而降低数据集复杂度,提高模型的泛化能力。
- 生成训练集和测试集:把整理过的数据分为训练集和测试集,为模型训练做最后的准备。
构造机器学习模型的目的,是希望从原始数据中梳理出问题的结构,学习到问题的本质,那些优质的特征其实就是对问题本质的最好诠释,而如何找到优质特征自然也就成为了模型构建的核心工作。
特征工程的内容很多,也非常重要,建议自己主动去查一下资料,详细了解一下数据清洗、数据提取、数据选择的各种方法,对该环节了解越深入,和算法同学的沟通越顺畅。
三、模型训练
模型训练是通过不断训练、验证和调优,让模型达到最优的过程。
这里的“最优”,指的是模型拟合能力和泛化能力的平衡点。
- 拟合能力:模型在已知数据上(训练集)表现的好坏
- 泛化能力:模型在未知数据上(测试集)表现的好
如果想让模型有足够好的拟合能力,就需要构建一个复杂的模型对训练集进行训练,但是模型越复杂就会越依赖训练集的数据,就越可能出现训练集的表现很好,但在测试集上表现差的情况,泛化能力比较差,这种情况叫做“过拟合”。
如果想让提高模型的泛化能力,就要降低模型复杂度,减少对训练集的依赖,但如果过度降低复杂度,又可能导致“欠拟合”的情况。
- 过拟合:模型把数据学习的太彻底,甚至把噪声数据的特征也学习到了,就导致不能很好的识别未知数据,模型泛化能力下降。训练集表现很好,但是测试集很差。读的是“死书”,并没有真正掌握书里的精髓,自然就无法很好的应用了。产生过拟合的原因一般有:特征过多,模型复杂度过高,样本数据无法代表预定的分类,样本噪音干扰过大等。
- 欠拟合:模型不能很好的捕捉数据特征,不能很好的拟合数据。在训练集的表现就很差,需要继续努力“学习”。产生欠拟合的原因一般有:模型复杂度过低、特征量过少等。
算法工程师就这样不断的调整模型参数、训练,再用交叉验证的方式,逐渐找到拟合能力和泛化能力的平衡点,这个平衡点就是我们训练模型的目标。
- 交叉验证:一种评估机器学习模型性能的有效方法,可以用于选择最佳模型参数、模型选择以及避免过拟合等问题。包括简单交叉验证、留出交叉验证、自助交叉验证等方法。
四、模型验证
经过复杂的模型训练,我们终于得到了一个所谓的“最优解”,但是怎么证明这个最优解就是真正的最优解呢?我们需要模型验证阶段来确认这个“最优解”的真假。
模型验证一般通过模型的性能指标和稳定性指标来评估。
模型性能,就是模型预测的准确性。
- 分类模型性能评估:分类模型的预测结果是具体的分类,一般使用召回率、F1、KS、AUC等评估指标,来判断分类模型的性能。
- 回归模型性能评估:回归模型的预测结果是连续值,一般使用方差和MSE等评估指标,来判断回归模型的性能。
模型稳定性,指的是模型性能可以持续多久,一般使用PSI指标来评估模型的稳定性。
产品经理需要对模型验证环节格外关注,需要深入理解评估指标、计算逻辑,并能根据指标的数据判断模型效果是否达标。
这里只简单描述了模型验证的概念和意义,后面会详细讲解模型评估的核心指标。
五、模型融合
为了提升模型的准确率和稳定性,有时会同时构建多个模型,再把这些模型集成在一起,确保模型有更优的整体表现。
比如薅羊毛项目这种分类模型,可以用最简单的投票方法来融合,票数最多的类别就是最终的结果。
我们只需要知道一些常用的模型融合方法即可,比如加权平均法、Bagging等,感兴趣的话可以自己查一下。
六、总结
本文粗略介绍了模型构建的算法选择、特征工程、模型训练、模型验证和模型融合等5个环节,其中产品经理需要重点关注特征过程和模型验证环节,建议继续查阅资料,加强理解。
下篇文章,我会详细介绍模型评估环节的详细内容,敬请期待。
本文由 @AI小当家 原创发布于人人都是产品经理,未经许可,禁止转载
题图来自 Unsplash,基于 CC0 协议
该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。
感觉写的非常到位非常好啊,怎么没有阅读呢