机器学习是一个广泛的领域,它使用自动训练技术来发现更好的算法。1959 年,IBM 的阿瑟-塞缪尔(Arthur Samuel)创造了这个术语。作为人工智能的一个子集,机器学习包含许多技术。深度学习就是一个例子,它是一种依靠人工神经网络进行学习的方法。实践中常用的机器学习技术还有很多,包括一些用于训练深度学习算法的技术。
从业人员通常根据各自对数据准备方式的适用性,从四种主要类型的机器学习模型中进行选择。
- 监督学习模型使用的是人类预先标记的数据。
- 无监督学习模型则是在之前没有标记的数据中发现模式。
- 半监督学习模型涉及一个迭代过程,同时使用已标记和未标记的数据。
- 强化学习模型使用的算法可以根据部署后的性能反馈调整模型。
选择正确的机器学习模型类型
选择机器学习模型的类型是艺术与科学的结合。重要的是要使用实验和迭代过程来确定在性能、准确性、可靠性和可解释性方面最有价值的方法。每种模型类型都有其优缺点。正确的选择取决于各种因素,例如数据的出处和适合您想要解决的问题的算法类别。机器学习从业者可能会将多种机器学习类型和这些类型中的各种算法结合起来,以实现最佳结果。
例如,数据科学家可能会使用无监督技术来分析数据集,从而对数据集中的关系有一个基本的了解–例如,某种产品的销售量与其在商店货架上的位置有什么关联。一旦确认了这种关系,从业人员就可以使用有监督技术,用标签来描述产品在货架上的位置。半监督技术可以自动计算货架位置标签。在部署机器学习模型后,强化学习可以根据实际销售情况对模型的预测进行微调。
什么是机器学习?深度指南
- 其中还包括
- 解释机器学习的不同类型
- 如何用 7 个步骤构建机器学习模型
- CNN 与 RNN:它们有何不同?
对数据的深入理解至关重要,因为它是项目的蓝图,安永美国的生成式人工智能负责人大卫-瓜瑞拉(David Guarrera)说。一个新的机器学习模型的性能取决于数据的性质、具体问题以及解决问题所需的条件。
例如,神经网络可能最适合图像识别任务,而决策树可能更适合不同类型的分类问题。\Guarrera解释说:”在机器学习的背景下,这通常是关于为正确的工作找到正确的工具,以及关于适应项目的预算和计算限制。
机器学习的四种主要类型及其最常见的算法。
下面我们来深入了解一下机器学习模型的四种主要类型。
1. 监督学习模型
有监督的学习模型使用的数据都是事先贴好标签的。缺点是需要有人或某种程序来应用这些标签。事后应用标签需要花费大量的时间和精力。在某些情况下,这些标签可以作为自动化流程的一部分自动生成,例如捕捉商店中产品的位置。分类和回归是最常见的监督学习算法类型。
- 分类算法决定了数据中所代表的实体、对象或事件的类别。最简单的分类算法回答二进制问题,如是/否、销售/非销售或猫/非猫。更复杂的算法会将事物归为多个类别,如猫、狗或老鼠。流行的分类算法包括决策树、逻辑回归、随机森林和支持向量机。
- 回归算法可以识别数据集中多个变量之间的关系。这种方法在分析特定变量(如产品销量)与价格、温度、星期或货架位置等变化变量的相关性时非常有用。常用的回归算法包括线性回归、多元回归、决策树和最小绝对收缩与选择算子(lasso)回归。
常见的用例包括将物体图像分类、预测销售趋势、对贷款申请进行分类以及应用预测性维护来估计故障率。
2. 无监督学习模型
无监督学习模型可自动辨别数据集中存在的模式。这些模式尤其有助于探索性数据分析,以确定数据科学问题的最佳框架。聚类和降维是两种常见的无监督学习算法类型。
- 聚类算法有助于根据各种标准将类似的数据集归类在一起。从业人员可以将数据划分为不同的组,以识别每个组内的模式。
- 降维算法探索针对特定问题有效压缩多个变量的方法。
这些算法包括特征选择和投影方法。特征选择有助于优先考虑与特定问题更相关的特征。特征投射则是探索如何在多个变量之间找到更深层次的关系,并将其量化为更适合当前问题的新中间变量。
常见的聚类和降维使用案例包括:根据销售数据对库存进行分组、将销售数据与产品的商店货架位置相关联、对客户角色进行分类以及识别图像中的特征。
3. 半监督学习模型
半监督学习模型是指使用无监督学习算法为数据自动生成标签的过程,这些标签可由监督技术使用。有几种方法可用于应用这些标签,包括以下几种:
- 聚类技术为数据贴上与人类生成的标签相似的标签。
- 自我监督学习技术可训练算法来解决正确应用标签的借口任务。
- 多实例技术可找到为具有特定特征的实例集合生成标签的方法。
4. 强化学习模型
强化学习模型通常用于改进已部署的模型。强化学习模型也可用于交互式训练过程,如根据对个别棋步的反馈教算法下棋,或在国际象棋或围棋等游戏中确定胜负。
核心技术要求建立一套行动、参数和终值,并通过试验和错误进行调整。每一步,算法都会做出预测、行动或决定。将结果与棋局或现实世界中的结果进行比较。随着时间的推移,惩罚或奖励会被反馈回来,以完善算法。
最常见的强化学习算法使用各种神经网络。例如,在自动驾驶应用中,算法的训练可能基于它对汽车记录的数据或代表汽车传感器在夜间可能看到的情况的合成数据的反应。
机器学习模型与机器学习算法
机器学习模型和机器学习算法有时会被混为一谈。但从数据科学的角度来看,它们是截然不同的。机器学习算法用于训练机器学习模型。
Curate Partners 公司的人工智能战略顾问布莱恩-斯蒂尔(Brian Steele)解释说,机器学习算法是模型的大脑。算法中包含用于形成模型预测的代码。算法所训练的数据往往决定了模型所创建的输出类型。数据是算法学习的信息源或输入,因此模型可以创建可理解的相关输出。
塔塔咨询服务公司(Tata Consultancy Services)英国吉奥售前服务部的阿南塔-塞卡(Anantha Sekar)说:”换一种说法,算法是描述如何做某事的一套程序,而机器学习模型是根据机器学习算法训练的真实世界问题的数学表示。\因此,机器学习模型是一个具体的实例,“他说,”而机器学习算法是一套关于如何训练机器学习模型的程序。
算法决定并影响着模型的工作。模型考虑的是问题是什么,而算法提供的是如何让模型按照预期执行。数据是第三个相关实体,因为算法使用训练数据来训练机器学习模型。因此,在实践中,机器学习的结果取决于模型、算法和训练数据。
其他流行的机器学习算法类型
机器学习算法有数百种,因此很难为特定问题选择最佳方法。此外,一种算法有时可用于解决分类和回归等不同类型的问题。
Guarrera说:”算法是构建机器学习模型的基础蓝图。这些算法定义了用于从数据中学习的规则和技术。它们不仅包含预处理和准备数据的逻辑,还包含经过训练和学习的模式,可用于根据新数据进行预测和决策。
普华永道首席实验室技术与创新主管 Michael Shehab 建议说,当数据科学家在机器学习算法领域遨游,以确定要关注的最重要领域时,考虑代表实用性、适用范围、效率和可靠性的指标非常重要。他还强调了算法支持广泛问题的能力,而不仅仅是解决单一任务的能力。有些算法的样本效率较高,需要较少的训练数据就能建立性能良好的模型,而有些算法在训练和推理时的计算效率较高,不需要运行这些算法所需的计算资源。
Shehab说:”没有单一的最佳机器学习算法。对于任何公司来说,正确的选择都是通过严格的实验和评估精心挑选出来的,能够最好地满足问题所定义的标准。
一些比较流行的算法及其使用的模型包括以下几种:
- 人工神经网络训练一个由相互连接的神经元组成的网络,每个神经元运行一种特定的推理算法,将输入转化为输出,输送到网络后续层的节点。模式:无监督、半监督和强化。
- 决策树通过对变量进行一系列测试来评估数据点,从而得出结果。它们通常用于分类和回归。模型:监督式。
- K-means 聚类可以自动查找数据集中的组,其中组的数量由变量 K 表示。一旦确定了这些组,它就会将每个数据点分配到这些组中的一个。模型:无监督。
- 线性回归发现连续变量之间的关系。模型:有监督。
- 逻辑回归通过确定将事件分成两类的最佳公式来估计数据点属于一类的概率。它通常用于分类。模型:有监督的。
- Naive Bayes 使用贝叶斯定理,根据显示数据集中变量之间模式关系的统计概率进行分类。模型:有监督。
- 近邻算法通过查看给定数据点周围的多个数据点来确定其类别。模型:有监督。
- 随机森林算法是将不同算法组合在一起,生成一棵决策树,用于解决分类问题。模型:有监督。
支持向量机使用标记数据来训练模型,将新数据点分配到不同类别。模型:有监督。
训练机器学习模型的最佳实践
数据科学家将各自开发训练机器学习模型的方法。训练一般从准备数据、确定用例、选择训练算法和分析结果开始。以下是 Shehab 为普华永道开发的一套最佳实践:
- 从简单开始。模型训练应从最简单的方法开始。然后可以通过模型特征、特征复杂度和高级学习算法等形式增加复杂性。在确定通过增加复杂性获得的性能是否值得在时间和技术成本上进行额外投资时,应以较简单的模型为基础。
- 创建一致的模型开发流程。鉴于其高度迭代的性质,一致的开发流程应得到可提供全面实验跟踪的工具的支持,这样数据科学家就能更容易地确定模型的改进方向。
- 确定要解决的正确问题。寻找定义不当的目标、错误的关注领域和不切实际的期望,所有这些往往是模型表现不佳或无法产生实际价值的原因。建立模型需要扎实的基础,以正确评估其发展。
- 了解历史数据。模型的好坏取决于它所依据的数据,因此首先要充分了解数据的行为方式、数据的整体质量和完整性、与当前任务相关的数据集的重要趋势或元素以及可能存在的偏差。
- 确保准确性。为避免引入偏差、为模型提供不恰当的反馈或强化错误的行为,应仔细设定模型性能的可衡量基准。机器学习算法通过训练数据中的目标或结果集的反馈进行学习。如果产生反馈的计算方法没有经过仔细定义并与预期值保持一致,那么结果可能是模型性能不佳或无法运行。
- 关注可解释性。数据科学家如果关注模型为什么会以这种方式运行,就会产生更好的模型。这种方法需要更全面的模型验证和测试。可解释性还能让人深入了解模型的不佳表现、如何提高性能的假设以及模型如何运作的全局视图,从而帮助培养消费者的信任感。
- 继续培训。模型培训是模型生命周期中的一个持续过程,包括生产阶段,因此可以不断改进。
有没有最佳的机器学习模型?
一般来说,没有最好的机器学习模型。\Sekar说:”对于每个问题或用例,不同的模型效果最佳。他补充说,从数据实验中获得的洞察力可能会产生不同的模型。数据模式也会随着时间的推移而改变。一个在开发过程中行之有效的模型可能会被另一个模型所取代。
塞卡尔说,一个特定的模型只有在某个特定的使用案例或数据集上才能被视为最佳模型。使用案例可以增加更多的细微差别。例如,某些用途可能需要高准确度,而另一些用途则需要更高的置信度。在部署模型时考虑环境限制也很重要,例如内存、电源和性能要求。其他用例可能有可解释性要求,这可能会促使决策转向不同类型的模型。
在优先考虑一种模型而不是另一种模型时,数据科学家还需要考虑模型部署后的运行方面。这些考虑因素可能包括如何转换原始数据以进行处理、微调流程、提示工程以及减少人工智能幻觉的需要。\Sekar建议说:”为特定情况选择最佳模型是一项复杂的任务,需要考虑许多业务和技术方面的因素。
乔治-劳顿(George Lawton)是驻伦敦的一名记者。在过去的 30 年里,他写了 3000 多篇关于计算机、通信、知识管理、商业、健康和他感兴趣的其他领域的报道。
下一步工作
- 机器学习的框架、库和语言
- 了解如何创建机器学习管道
- 机器学习的未来是什么?