机器学习是一种处理问题的思维方式,主要通过收集数据、运用算法和生成模型来实现。相较于传统的数据统计和分析,机器学习具有自己的优化过程和评估体系,是一个更加独立且相对封闭的领域。正如冯友兰在《中国哲学简史》中所说,哲学是对人生进行系统性反思的思想。以此来看,机器学习可以说是数据工作中更为智能化的工具。
本文旨在以非技术性的角度,用纯中文的方式,阐述机器学习的核心原理。人们常说,将物理学公式拿出来,物理学就变成了数学;同样地,如果我们抽取出机器学习的基本问题,再审视它时,会发现它更像是对问题解决策略的一种哲学思考。
接下来,本文将首先介绍机器学习的基本流程,列举其中的关键步骤和要素;其次,探讨机器学习的主要算法框架,包括监督学习、无监督学习以及常用的降维和特征选择算法;最后,结合实际应用,提供一个可行的项目管理流程,供读者参考。
1. 基本过程
1.1 机器学习的五步流程
若将机器学习视为一项闭环任务,会发现其流程与日常生活中的许多活动有相似之处,例如进行A/B测试、竞品分析或编写量化策略。不同之处在于,我们需要关注的问题点、使用的工具和方法有所不同。
借鉴达里欧的五步流程法,机器学习的基本过程可以简化为以下五个步骤:
01 确定目标
机器学习的目标不在于机器学习本身,而在于将其应用于现实场景,解决具体问题。因此,在开始工作之前,必须明确我们的目标是什么,比如识别流失用户、评估潜在付费用户的意愿,或是鉴别信贷欺诈行为。
02 诊断问题
明确了目标后,需要根据实际情况来诊断问题。为了达成目标,机器学习需要什么样的输入?是简单的0-1标签,还是连续的风险概率?现有的数据量是否足够支撑该项目?业务样本的正负比例是否均衡?这些都是需要诊断的问题。
03 设计方案
明确了目标并诊断了问题之后,就可以开始设计方案。在特定的业务场景下,应选择哪种类型的算法?不同的算法适用于不同的领域;在没有明确的正负样本的情况下,应采用何种方法来定义样本?在设计方案阶段,需要给出一个总体的方向,以便将时间和精力集中在合适的框架内。
04 执行方案
在执行方案的过程中,如何解决问题同样重要。机器学习算法的执行通常被称为优化过程,即在一个算法框架内,如何最快地达到最优结果。执行过程包括数据准备、特征工程、算法调参、模型评估等多个环节,每个环节都有各自的方法论,但彼此间相互影响,上下游的执行效果紧密相连。
05 评估迭代
评估过程实际上是一个量化目标的过程。有了量化标准,就有了相对意义上的效果优劣。不同的业务目标和模型框架,对应的评估体系也不同。建立一套合适的评估机制,可以使机器学习项目形成闭环,从而在迭代中逐步逼近目标。
1.2 关键要素
01 机器学习三要素
如同经济学中的劳动力、资本、土地是基本要素,机器学习也有自己的三要素:数据、算法和模型,它们缺一不可,相互关联,并贯穿整个工作流程。可以说,机器学习的过程就是准备好充足的数据,运用合适的算法,生成优秀的模型的过程。
02 其他关键点
除了机器学习的三要素之外,还有一些重要的方面,例如特征处理、优化算法和模型评估等。缺少这些内容,虽然模型仍然可以生成,但效果会大打折扣。特征处理决定了模型功能的下限,优化算法使我们能够以最佳方式接近模型功能的下限,而模型评估则定义了我们讨论的模型功能是什么,它们是机器学习项目的“加速器”。
2. 监督学习
监督学习处理的是带有标签的数据,即业务场景中有明确的好坏区分,例如信贷风险场景中的逾期与否,金融市场中的涨跌。通过对历史数据的学习,机器学习可以为当前数据提供一个分类标签或连续的数值结果。
2.1 线性模型
线性模型的核心思想是考虑多个因素的影响,每个因素都有其权重,综合考虑后作出决策。这种想法转化为数学表达就是因变量、自变量、系数和偏置等概念,形成了线性模型。线性模型可以通过添加Sigmoid函数转换成逻辑回归,逻辑回归在传统金融领域的评分卡应用非常广泛。
2.2 决策树
决策树的核心思想是“分而治之”。线性模型考虑的因素是并列的,而决策树中的因素是串行的。决策树中的关键问题是,在当前节点应考虑哪个因素来推进决策。决策树引入了信息熵的概念,通过推演,形成了最大增益和增益率等目标,对应了ID3和C4.5等经典决策树算法。后来引入基尼系数,形成了CART决策树。
2.3 贝叶斯
贝叶斯学派和频率学派之间的争议类似于物理学中的波粒之争。贝叶斯学派认为先验概率和后验概率很重要,而频率学派则相信存在一个客观参数。贝叶斯理论广泛应用于文本处理,产生了朴素贝叶斯等经典算法。
2.4 支持向量机
支持向量机追求最优解,通过核函数升维来解决问题。在N维空间中,最优解是一个超平面,而支持向量则是这些解的样本点。
2.5 神经网络
神经网络引入了生物学中的神经元概念。神经网络由多个简单单元组成,通过多层网络实现复杂的计算。深度学习是神经网络的一种形式,成就了许多成功的商业案例。
2.6 集成学习
集成学习的理念是“好而不同”。对于一个问题,如果单一模型无法给出最优解,可以集成多个不同但优秀的子模型,可能会获得更好的效果。集成学习分为Boosting和Bagging两种方法,分别强调序列和并行的模型组合。
3. 无监督学习
无监督学习处理的是无标签的数据,更侧重于数据本身的结构和信息。以下是几种常见的聚类算法。
3.1 基于原型
基于原型的聚类认为数据中存在确定性的结构。K-means是最经典的原型聚类算法,通过迭代更新中心点来划分样本。
3.2 基于密度
基于密度的聚类认为如果某个类别内的样本点之间有较高的紧密度,则属于同一类别。DBSCAN是这类算法的代表。
3.3 基于层次
基于层次的聚类从底部向上逐层划分样本。AGNES是这种算法的代表,通过计算类别间的距离不断合并,最终保留指定数量的类别。
4. 其他算法
除了监督学习和无监督学习外,还有一些算法虽不直接生成模型,但在数据探索和模型训练过程中不可或缺,如降维算法和特征选择算法。
4.1 降维
降维通过重构数据,用少量特征表示大量信息,PCA是其中的典型代表。
4.2 特征选择
特征选择是决定使用哪些特征来训练模型的过程,包括过滤式、包裹式和嵌入式方法。特征选择的效果会影响模型性能的下限。
5. 实际过程
业务实践通常追求“工业化”,要求操作符合实际,可重复使用。在实践中,人们倾向于使用固定框架来规范工作,尽管框架可能较为僵化,但可以清晰地显示进度,有助于项目管理和推进。
5.1 场景分析
在处理大多数不紧急的任务时,可以预留时间进行场景分析,即在开始一项工作前,跳出该工作,考虑其周边的相关条件,再决定是否实施。
5.2 数据准备
数据是机器学习项目的原材料,相当于烹饪的食材或建筑的地基。在数据准备阶段,需评估数据来源、构建因子目标体系,并进行质量分析。
5.3 模型开发
模型开发是真正意义上的生产过程。需要了解所选算法的基本原理,进行特征工程,利用成熟的机器学习平台或框架进行模型训练和生成,并进行投产前的模型评价和验证。
5.4 模型应用
模型生成后,还需要结合具体的业务策略,才能在实际中应用。模型应用是连接模型输入和业务输入的桥梁。
5.5 模型部署
经过评估和验收,如果模型性能达标,则可以进入部署阶段。但模型上线后,仍需持续监控,包括模型性能变化和覆盖人群波动等,如有必要,则进行优化。