机器学习策略原理:基本流程、算法框架、项目管理
机器学习是一种解决问题的思维方式。核心在于收集数据、运用算法和生成模型。相比普通的数据统计和分析,机器学习有自己的优化流程和评估体系,是一个更加独立、相对闭环的领域。冯友兰在《中国哲学简史》中表示,所谓哲学就是对人生进行系统反思的思想。从这个意义上说,机器学习无疑是日常计算工具箱中相对更加智能的工具。 ![]()
本文不是技术文章。它打算完全跳过数学推导和编程实现两部分,用纯中文来解释机器学习的策略原理。人们说,当你拿出物理公式时,物理就变成了数学。所以如果你抽出机器学习的基本问题来审视机器学习,你会发现它其实就像一门丰富而实用的哲学。思考,或者说解决问题的一些策略原则。
下面首先讲解机器学习的基本流程,展示几个主要流程和关键要素;然后介绍了机器学习的主要算法框架,包括监督学习算法、无监督学习算法以及常用的降维和特征选择算法。 ETC。;最后在业务实践过程中提供了可行的项目管理流程供参考。
1。基本流程
1.1 机器学习的五步流程
如果你把机器学习看成一个闭环工作,你会发现整个过程其实和我们日常生活中做的事情是一样的同样的目的,例如做AB测试、做竞品分析或者写量化策略。只是在基本流程中,我们要考虑的问题以及使用的工具和方法不同。
以下参考了Dalio的五步流程法,尝试将机器学习的基本流程简化为五个环节。
01确定目标
机器学习的目标不是机器学习,而是我们将这种方法应用到实际场景中,解决实际问题。因此,在开始工作之前,我们必须想清楚我们要达到什么目标,比如流失用户的风险提示、潜在付费用户的意愿评估,或者信用用户的欺诈识别。
02 诊断问题
因为要达到的目标明确,所以可以根据实际情况诊断问题。为了实现这个目标,机器学习必须提供什么样的输出?只是简单的0-1标签还是需要连续的风险概率?如果目前的数据量能够支撑这个项目,如果业务样本的黑白比例不够平衡,这些问题都需要诊断。
03方案设计
当要达到的目标明确,了解现实存在的问题后,就可以进行方案设计了。在这种细分的业务场景下,适合使用什么类型的算法?不同的领域往往会诞生不同的算法;在这种场景下,如果没有清晰的黑白样本,必须用什么方法来定义样本。在程序设计过程中,必须给出工作的总体方向,这相当于将时间和精力限制在适当的框架内。
04计划实施
当计划实施过程中出现问题时,如何解决也是一个非常重要的环节。机器学习算法的执行一般称为优化过程,即如何在一个算法框架内尽可能快地达到最优结果。整个计划的实施将包括数据准备、特征工程、算法调试和模型评估等具体事项。每个要素相互独立,有自己的方法论,但又相互影响,上下游执行效果循环环环相扣。
05 评估迭代
评估过程实际上是一个目标量化的过程。由于量化,效果在绝对意义上是优劣。只是不同的业务目标、不同的模型框架以及相应的评价体系有所不同。通过建立合适的评估方法,机器学习项目将实现闭环,并通过迭代逐步接近要实现的业务目标。
1.2 机器学习的关键要素
01 机器学习的三要素
正如劳动力、资本、土地等是经济学的基本要素一样,实际上机器学习也有自己的三大要素,即数据、算法和模型,它们缺一不可,相互关联,贯穿整个工作流程。人们说机器学习的过程就是准备足够的数据并应用合适的算法生成优秀模型的过程。
02 其他关键点
除了机器学习的三要素之外,其实还有一些非常重要的点,比如特征处理、优化算法、模型评估等。如果没有这些内容,模型实际上可以生成,但只能在大大降低的水平上生成。特征处理决定了模型性能的上限。优化算法使我们能够以最佳方式接近模型性能的上限。模型评估定义了我们正在讨论的模型性能。它们是机器学习项目中的“关键词”。
2.监督学习
监督学习需要处理标签数据,即在业务场景中绝对是黑白分明,好坏一清二楚。比如在信用风控场景中,逾期就逾期了 金融市场场景中,涨跌界限清晰 通过学习历史数据,我们可以给今天的数据贴上离散的标签,或者连续的数值结果
2.1 线性模型
线性模型很简单,就是对一个事物的建立考虑几个因素,比如ABCDE这五个因素,每个因素都有自己的权重,权衡每个因素后,做出决定,最终决定。将这个想法转化为数学表达式,我们就有了因变量、自变量、系数和偏差的概念,从而形成了一个线性模型。
线性模型也可能很复杂,具有悠久的历史和许多变化。最经典的形式是在线性的基础上加上Sigmoid函数,将线性输出转化为概率,进一步转化为黑白标签,这就是逻辑回归。在传统经济场景的目标管理中,逻辑回归的应用非常广泛和深入。
2.2 决策树
决策树的思想可以用四个字来概括,那就是分而治之。线性模型中考虑的因素是相互并列的,并且具有不同的权重,但决策树中并非如此。决策树中的因素是串行的,即先评估因素A,然后根据因素A中的不同情况评估新的因素,如此循环往复,形成一组决策链路,即一个决策树。 。
所以决策树中最重要的问题是我应该在当前节点考虑哪些因素来继续做出这个决定。为了解决这个问题,决策树在数据领域引入了信息熵的概念。推导后有最大增益、增益率等指标,对应两个经典的决策树范式ID3和C4.5。后来引入基尼系数作为因子选择的评价条件,从而生成了CART决策树。
2.3 贝叶斯学派
贝叶斯学派与频率论学派之间的争论与物理学中的波粒之争非常相似。数学家争论参数是否存在,而物理学家则争论参数。光是波还是粒子。波粒之争最终通过波粒二象性理论结束,但贝叶斯学派和频率学派之间的争论并没有结束,他们在不同的时代继续领先。
频率主义者认为它是一个客观实体(参数),所以他们需要做的就是尽可能地拟合和逼近这个参数,比如最大似然估计。贝叶斯主义者拒绝相信这一点。他们坚持认为我看到(先验概率),我思考(后验概率),我做出决定(贝叶斯模型)。贝叶斯理论广泛应用于文本处理,并产生了许多经典模型。基于因素之间独立性的差异,产生了朴素贝叶斯和其他各种贝叶斯算法。
2.4 支持向量机
支持向量机追求极致,它必须在所有可能的解中找到唯一的最优解。在二维平面中,该解是唯一的直线。在三维空间中,该解是唯一的表面。因此,在 N 维空间中,该解是唯一的超平面。用于找到该解决方案的样本点称为支持向量。
核心函数是支持向量机中的大杀器。类似于人们所说的“降维攻击”,核函数通过增加维度来解决问题。如果在当前的困境中找不到答案,那就尝试更高维度的解决问题。
2.5 神经网络
神经网络引入了生物学中神经元的概念。每个神经元都很简单,有输入和权重、阈值和输出。然而,当使用许多神经元构建多层网络并且网络互连时,问题就变得复杂了。 2006年后,神经网络转向深度学习,创造了无数神秘而伟大的商业故事。
在神经网络训练过程中,有一个很有趣的事情,就是局部最优和全局最优。模型训练时很容易陷入局部最优的困境而停止寻找最优解。就像我们做一件事很多次的时候,只是做得很好,却还不够好。为了解决这个问题,人们设计了模拟退火、随机梯度下降等各种训练策略。
2.6 整合学习
整合学习的理念是“好但不同”。对于一个问题,如果单个模型不能总是提供最优解,那么最好将几个好的、不同的子模型集成起来,这样可以取得优异的性能。三臭皮匠比诸葛亮还厉害。每个傀儡都有缺陷,但又各有所长,而诸葛亮作为单一模型是极致的,但仍然有局限性。
集成学习有两个分支,如果子模型是串行生成的,则为 Boosting;如果子模型是并行生成的,则为 Bagging。 Boost强调逐一工作,针对前一个子模型的不足,并使用下一个子模型来弥补。样本生成不同的子模型。随机森林(Random Forest)是 Bagging 的一种变体,是此类模型的优秀代表。
3。无监督学习
监督学习处理标记数据,而无监督学习处理未标记数据。正因为没有这样绝对的标签,才会更加注重数据本身的信息和结构,对模型所达到的结果的合理性会有更丰富、更精细的评估。下面主要介绍一些不同类型的聚类算法。
3.1 基于原型
基于原型的聚类强调数据中存在一定的确定性结构,不同类别的结构应该是不同的。 K-means是原型聚类的经典代表。它认为数据中有K个中心点,并迭代更新这K个中心点的位置,从而将所有样本点划分为K个原型,直到迭代结束。
3.2 基于密度
基于密度的聚类强调的是,如果数据中存在一个类别,那么该类别中的样本点之间存在一定程度的接近度。如果没有,则属于其他类别。DBSCAN 是此类算法的代表。它与 K 均值的不同之处在于它不先验假设 K 中心。相反,它首先搜索一个类别,检索该类别中的所有样本点,然后搜索下一个类别,直到所有样本都找到该类别。
3.3 基于层次结构
基于层次结构的聚类是从更加三维的角度对样本点进行自下而上的逐层划分。 AGENS 是该算法的代表。在第一层中,它将所有样本点视为初始类别,并通过计算类别之间的距离来不断合并它们,从而保留最后一层中指定的个体。数字的类别。
与监督学习相比,无监督学习没有标签链,而是成为更加开放的场景,拥有大量不同形式的算法。然而,这些不同类型的聚类算法仍然需要讨论一些共同的问题,比如如何衡量聚类结果的性能,分为外部指标和内部指标;例如,如何计算样本点之间的距离,根据不同的维度,Min的距离可以分为曼哈顿距离、欧氏距离和切比雪夫距离。
4。其他算法
除了监督学习和无监督学习之外,还有一些算法并不直接生成具体模型,但在我们的数据探索、模型训练等过程中仍然不可或缺,比如降维算法、特征选择
4.1 降维
数据中的方差被认为是信息的表达。如果对当前的数据集进行重构,用少量的特征提取出数据集中包含的大量信息,这就是降维的概念,其中突出的代表就是PCA。为了实现业务目标,我们从现实世界收集的数据往往不是最佳表达。它们可能会变得重复和多余。通过降维,可以重建原始数据以生成更好的数据表达。
4.2功能选择
炒菜用的是机器学习算法,但你选择搅拌哪些食材本身也是一个问题。做一份扬州炒饭,你绝对不能把厨房里的所有材料都加进去,也不能只拿一把蔬菜和米饭来搅拌。成分如何选择,就是功能选择的范畴。过滤方法中,特征选择和模型训练相互独立,互不干扰;在包裹方法中,模型性能是特征选择效果的参考,两者相互影响;此外,还有内置的选择方法。数据处理和特征选择的效果往往决定了模型性能的上限。
5。实践过程
业务实践的过程往往是驱动“工业化”的过程,这就要求所做的事情必须贴合实际、可实现、可重用。在这个过程中,人们往往喜欢用一个固定的框架来规范自己所做的工作。这种框架的缺点是比较死板,限制了一定的自由度,但优点是可以有清晰可见的进度线,有利于项目的管理和推进。作者在这里分享了一个可行的治理框架,我也作为参考。
5.1场景分析
除了一些紧急的事情外,对于工作中大部分不太紧急的事情,你可以给自己留出一个场景分析流程。相当于你在做某件事之前,先跳出这个东西,思考一下周围的环境以及它们之间的相互关系,以及能够决定它是否能够成立的各种条件,然后选择投入到这个场景中。
在场景分析过程中,需要梳理共享的业务场景,并根据业务目标评估机器学习建模的可行性和可重用性。如果业务目标明确,机器学习方法合适,那就去建模。
5.2 数据准备
数据是机器学习项目的原材料,类似于做饭的食材和建造建筑物的地基。这并非不重要。在数据准备的过程中,取决于现实中可用的数据源有多少,它们共同构成什么样的数据宽度;根据业务目标,推出一套因素指标体系,看看哪些是可以实现的;同时,还需要对最终获得的数据进行质量分析,如完整性、异常值等,并进行基础的数据预处理工作。
5.3 模型开发
模型开发的工作实际上是一个真正意义上的生产过程。首先,需要了解所选算法的基本原理,以进行后续的处理工作,例如通过功能工程将源数据转换为模型可以读取的数据;使用成熟的机器学习平台或框架来训练和生成模型,然后在生产前进行模型评估和验证。
5.4 模型应用
模型生成后,实际上只是技术意义上的生成,商业意义上不可用。例如,信用风险模型输出概率。如何将这种概率应用到不同的用户群体,需要特定的业务策略体系。模型的应用流程是模型输出和业务输出之间的桥梁。
5.5 模型实施
评估验收后,如果模型性能达到预期结果,即可进入模型部署和任务规划阶段。然而,该模式的推出和推出并不是一劳永逸的。投入生产后,仍然需要跟踪监控,比如模型性能的变化、覆盖人群的稳定性等,如果触发了变化条件,则需要对模型进行优化。
作者:cooperyjli,腾讯CDG数据分析师
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
code前端网