起薪4万的AI产品经理自述:一个算法模型是怎么训练出来的?
这篇文章,我们继续来讲模型构建的其他 3 个环节:模型训练、模型验证和模型融合。
模型训练
模型训练是通过不断训练、验证和调优,让模型达到最优的一个过程。
那怎么理解这个模型最优呢?
还是以用户流失预测模型为例。
首先你要搞清楚一个概念:决策边界,你可以把它简单理解为我们每天生活当中的各种决策。比如,当华为 Mate 降价到 5000 元的时候我就打算购买,那这种情况下我的决策边界就是 5000 元,因为大于 5000 元的时候我不会购买,只有小于 5000 元时我会选择购买。
那放到预测用户流失这个案例中,我们模型训练的目标就是,在已知的用户中用分类算法找到一个决策边界,然后再用决策边界把未知新用户快速划分成流失用户或者是非流失用户。
不同算法的决策边界也不一样,比如线性回归和逻辑回归这样的线性算法,它们的决策边界也是线性的,长得像线条或者平面,而对于决策树和随机森林这样的非线性算法,它们的决策边界也是非线性是一条曲线。
因此,决策边界是判断一个算法是线性还是非线性最重要的标准。
上图就是三种算法的决策边界。决策边界的形式无非就是直线和曲线两种,并且这些曲线的复杂度(曲线的平滑程度)和算法训练出来的模型能力息息相关。
一般来说决策边界曲****线越陡峭,模型在训练集上的准确率越高,但陡峭的决策边界可能会让模型对未知数据的预测结果不稳定。
这就类似于我们投资股票,低收益低风险,高收益高风险,所以我们一般都会平衡风险和收益,选择出最合适的平衡点。
对于模型训练来说,这个风险和收益的平衡点,就是拟合能力与泛化能力的平衡点。
拟合能力代表模型在已知数据上表现得好坏,泛化能力代表模型在未知数据上表现得好坏。
它们之间的平衡点,就是我们通过不断地训练和验证找到的模型参数的最优解,因此,这个最优解绘制出来的决策边界就具有最好的拟合和泛化能力。这是模型训练中“最优”的意思,也是模型训练的核心目标,我们一定要记住。
具体到我们这个流失用户预测的例子上,模型训练的目的就是找到一个平衡点,让模型绘制出的决策边界,能够最大地区分流失用户和非流失用户,也就是预测流失用户的准确率最高,并且还兼顾了模型的稳定性。
一般情况下,算法工程师会通过交叉验证(Cross Validation)的方式,找到模型参数的最优解。
模型验证
刚才我们说了,模型训练的目标是找到拟合能力和泛化能力的平衡点,让拟合和泛化能力同时达到最优。那这该怎么做呢?
如果算法工程师想让拟合能力足够好,就需要构建一个复杂的模型对训练集进行训练,可越复杂的模型就会越依赖训练集的信息,就很可能让模型在训练集上的效果足够好,在测试集上表现比较差,产生过拟合的情况,最终导致模型泛化能力差。
这个时候,如果算法工程师想要提高模型的泛化能力,就要降低模型复杂度,减少对现有样本的依赖,但如果过分地减少对训练样本的依赖,最终也可能导致模型出现欠拟合的情况。
因此,算法工程师需要花费大量的时间去寻找这个平衡点,而且很多时候我们认为的最优,未必是真正的最优。这个时候,模型验证就起到了关键性的作用。
模型验证主要是对待验证数据上的表现效果进行验证,一般是通过模型的性能指标和稳定性指标来评估。
首先是模型性能。模型性能可以理解为模型预测的效果,你可以简单理解为“预测结果准****不准”,它的评估方式可以分为两大类:分类模型评估和回归模型评估 。
分类模型解决的是将一个人或者物体进行分类,例如在风控场景下,区分用户是不是“好人”,或者在图像识别场景下,识别某张图片是不是包含人脸。
对于分类模型的性能评估,我们会用到包括召回率、F1、KS、AUC 这些评估指标。
而回归模型解决的是预测连续值的问题,如预测房产或者股票的价格,所以我们会用到方差和 MSE 这些指标对回归模型评估。
对于产品经理来说,我们除了要知道可以对模型性能进行评估的指标都有什么,还要知道这些指标值到底在什么范围是合理的。
虽然,不同业务的合理值范围不一样,我们要根据自己的业务场景来确定指标预期,但我们至少要知道什么情况是不合理的。
其次是模型的稳定性,你可以简单理解为模型性能(也就是模型的效果)可以持续多久。
我们可以使用 PSI 指标来判断模型的稳定性,如果一个模型的 PSI > 0.2,那它的稳定性就太差了,这就说明算法同学的工作交付不达标。
总的来说,模型的验证除了是算法工程师必须要做的事情之外,也是产品经理要重点关注的。就好像研发同学需要单元测试,测试同学需要冒烟测试,产品经理需要产品验收一样。
这篇文章,我们先熟悉模型验证在整个模型构建中所扮演的角色,之后,我也会单独写一篇文章讲一下模型评估的核心指标都有什么(下一篇文章就发),以及它们的计算逻辑、合理的值都是什么。
模型融合
前面我们讲的 4 个环节都是针对一个模型来说的,但在实际工作中,为了解决很多具体的细节问题,算法工程师经常需要构建多个模型才获得最佳效果。
这个时候,就要涉及多个模型集成的问题了。那模型集成或者说集成学习究竟是怎么一回事儿呢?
我们先来看一个生活中的例子,如果你打算买一辆车,你会直接找一家 4S 店,然后让汽车销售员推销一下,就直接决定购买了吗?大概率不会,你会先去各头部汽车咨询网站看看其他车主的评价,或者咨询一下同事或朋友的意见,甚至会自己整理一堆汽车各维度的专业对比资料,再经过几次讨价还价,才会最终做出购买的决定
模型融合就是采用的这个思路,同时训练多个模型,再通过模型集成的方式把这些模型合并在一起,从而提升模型的准确率。
简单来说,就是用多个模型的组合来改善整体的表现。
模型融合有许多方法,我们知道一些常用的就可以了,比如对于回归模型的融合,最简单的方式是采用算数平均或加权平均的方法来融合;
对于分类模型来说,利用投票的方法来融合最简单,就是把票数最多的模型预测的类别作为结果。另外,还有 Blending 和Stacking,以及 Bagging 和 Boosting 这些比较复杂的模型融合方法。
除了要注意模型融合的方法,我们还要注意算法模型的选择,不同行业选择的算法模型一定不一样。
比如,互联网数据和银行金融机构数据就不一样,因为银行数据大部分都是强相关性的金融性数据,所以它可能会更多考虑机器学习算法,而互联网的数据特征基本都是高维稀疏,会较多考虑深度学习算法。
并且,由于不同行业对于算法模型的风险状况也有不同的考虑,所以对模型的选择也会有不同的限制标准,比如银行、金融行业会监管模型的特征和解释性,因此,会选择可解释性很强的算法模型,如逻辑回归。
除此之外,我们还要考虑算法模型选择的成本。比如说,产品经理可能认为通过 Boosting或 Bagging 的方式集成模型的效果,一定比单一的算法模型效果要好。
但是在实际中,算法工程师常常会为了提成模型 AUC 的一个点,让特征的规模增大很多,导致模型部署上线的成本翻倍,这就非常不划算了。
因此,成本是算法工程师在选择算法模型时会去考虑的事情,也是需要产品经理去理解算法同学工作的地方。
模型部署
一个模型训练完成并通过评估后,算法工程师就要考虑怎么把它部署到线上,并应用到业务场景中。虽然模型部署不属于模型构建中的环节,但它却是 AI 产品上线中必不可少的一环,所以我也要在这里和你讲一下。
一般情况下,因为算法团队和工程团队是分开的两个组织架构,所以算法模型基本也是部署成独立的服务,然后暴露一个 HTTP API 给工程团队进行调用,这样可以解耦相互之间的工作依赖,简单的机器学习模型一般通过 Flask 来实现模型的部署,深度学习模型一般会选 TensorFlow Serving 来实现模型部署。
但是,具体的交互方式也还要看模型应用的业务场景,比如业务需求就是要对 UGC 内容进行分类,如果业务场景是要实时预测用户 UGC 的类别,那我们的分类模型就需要部署成在线的 Web 服务并提供实时响应的 API 接口;如果我们只是需要对一批已有的 UGC 数据进行分类,然后使用分类后的结果,那我们的模型通过离线任务的方式运行,每日定时处理增量的 UGC 数据就可以了 。
对于应用层的产品经理,你只需要了解大概流程就可以了,把学习的重点放到如何去评估模型效果上。
如何转行/入门AI产品经理?
现在社会上大模型越来越普及了,已经有很多人都想往这里面扎,转行/入门AI产品经理,但是却找不到适合的方法去学习。
作为一名资深码农,初入大模型时也吃了很多亏,踩了无数坑。现在我想把我的经验和知识分享给你们,帮助你们学习AI大模型,能够解决你们学习中的困难。
我已将重要的AI大模型资料包括市面上AI产品经理入门手册、AI大模型各大白皮书、AGI大模型系统学习路线、AI大模型视频教程、实战学习,等录播视频免费分享出来,需要的小伙伴可以扫取。
一、AGI大模型系统学习路线
很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,我下面分享的这个学习路线希望能够帮助到你们学习AI大模型。
二、AI产品经理入门手册
三、AI大模型视频教程
四、AI大模型各大学习书籍
五、AI大模型各大场景实战案例
六、结束语
学习AI大模型是当前科技发展的趋势,它不仅能够为我们提供更多的机会和挑战,还能够让我们更好地理解和应用人工智能技术。通过学习AI大模型,我们可以深入了解深度学习、神经网络等核心概念,并将其应用于自然语言处理、计算机视觉、语音识别等领域。同时,掌握AI大模型还能够为我们的职业发展增添竞争力,成为未来技术领域的领导者。
再者,学习AI大模型也能为我们自己创造更多的价值,提供更多的岗位以及副业创收,让自己的生活更上一层楼。
因此,学习AI大模型是一项有前景且值得投入的时间和精力的重要选择。