什么是 Machine Learning?
Machine Learning 的定义
Machine Learning (ML) 是人工智能 (AI) 的一个分支,专注于使用数据和算法来模仿人类的学习方式,从而随着时间的推移逐渐提高准确性。上个世纪 50 年代计算机科学家和 AI 创新家亚瑟·塞缪尔首次给出了 Machine Learning 的定义:无需显式编程就能赋予计算机学习能力的研究领域。
Machine Learning 涉及将大量数据输入到计算机算法中,以便算法能够学习识别该数据集中的模式和关系。算法然后便会根据其分析做出自己的预测或决策。随着算法不断接收新数据,它能够持续优化自己的选择并提高自己的表现,就跟人在一项活动上熟能生巧一样。
Machine Learning 有哪四类?
Machine Learning 共分为四类,分别是:监督式 Machine Learning、非监督式 Machine Learning、半监督式学习和强化学习。
监督式 Machine Learning 是最常见的 Machine Learning 类型。在监督式学习模型中,算法会从带标注的训练数据集中学习并逐渐提高其准确性。它旨在构建一个这样的模型:即使接收到之前没见过的新数据,模型也能正确预测出目标变量。人类标注并输入玫瑰花及其他花朵的图像就是一个例子。然后当算法接收到未加标注的新玫瑰花图像时,它就能正确识别出玫瑰花。
非监督式 Machine Learning 指算法在未加标注且没有目标变量的数据中寻找模式。目标是在数据中寻找人类尚未发现的模式和关系,例如检测日志、跟踪和指标中的异常以找出系统问题和安全威胁。
半监督式学习是监督式和非监督式 Machine Learning 的结合体。在半监督式学习中,算法会同时使用已加标注和未加标注的数据进行训练。它首先会从已加标注的小型数据集中学习,从而基于已有信息做出预测和决策。然后它会使用更大型的未加标注数据集,通过寻找数据中的模式和关系来优化预测或决策。
强化学习指算法以奖励或惩罚的形式收到有关其行动的反馈,通过这一试错过程进行学习。举几个例子:训练 AI 代理玩电子游戏,在游戏过程中,此 AI 代理会在升级时得到正向奖励,在失败时受到惩罚;优化供应链,在这一过程中,AI 代理在降低成本或提高交付速度时会得到奖励;或者推荐系统,在这一过程中,AI 代理会推荐产品或内容,并且会在成功售出或有人点击时得到奖励。
Machine Learning 的工作原理是什么?
Machine Learning 会通过不同方式工作。您可以向新数据应用经过训练的 Machine Learning 模型,也可以从头开始训练新模型。
向新数据应用经过训练的 Machine Learning 模型通常速度更快,消耗资源也更少。您无需通过训练开发参数,而是使用模型的参数来对输入数据做出预测,这一过程称为推理。您同时也无需评估它的表现,因为此模型的表现在训练阶段已经被评估过了。然而,这种方法的确需要您精心准备输入数据,以确保它与训练模型时所用的数据是同一格式。
训练新的 Machine Learning 模型涉及下列步骤:
数据收集
首先是选择您的数据集。数据可来自很多来源,例如系统日志、指标和跟踪。除了日志和指标之外,在训练 Machine Learning 的过程中,还有几种其他类型的时序数据也很重要,包括:
- 金融市场数据,包括股票价格、利率以及外汇汇率。这一数据通常用于构建交易和投资的预测性模型。
- 交通时序数据,例如车流量、速度和出行时间。这一数据可用来优化路线并减少交通拥堵。
- 产品使用情况数据,例如网站流量和社交媒体互动。这能够帮助公司理解客户行为并找出待改进领域。
无论您使用什么数据,它都应该与您尝试解决的问题相关,而且应该能够代表您的预测或决策所涉及的群体。
数据预处理
收集完数据之后,您需要对其进行预处理,以使其能够被 Machine Learning 算法使用。这有时涉及为数据添加标注,或者为数据集中的每个数据点分配一个特定类别或值,以便 Machine Learning 模型从中学习模式并做出预测。
此外,它还涉及移除缺失值,通过应用聚合将时序数据转换为更紧凑的格式,按比例调整数据以确保所有特征都拥有相似的范围。对于深度神经网络,好比大型语言模型 (LLM),您必须拥有大量的已加标注训练数据。但对于经典的监督式模型,您则没有必要处理那么多数据。
特征选择
某些方法会要求您选择模型将会使用的特征。从本质上来说,您必须找出与您尝试解决的问题最密切相关的变量和属性。关联性是识别特征的一种基本方法。如需进一步优化,还有多种自动特征选择方法可供选择,而且很多 ML 框架都支持这些方法。
模型选择
现在已选择了特征,接下来您需要选择适用于您尝试解决的问题的 Machine Learning 模型。有几个选项可供选择,包括回归模型、决策树以及神经网络。(请参见下方的“Machine Learning 技巧和算法”。)
训练
选择了模型之后,您需要使用您收集和预处理的数据对模型进行训练。训练就是指算法学习识别数据中的模式和关系,并将这些模式和关系编码到模型参数中。为了实现最优性能,训练是一个迭代性的过程。这包括调整模型的超参数,并改善数据处理和特征选择。
测试
模型现在已训练完毕,接下来您需要使用它从没见过的新数据对它进行测试,并将它的性能与其他模型的性能进行对比。您选择性能最优的模型并使用单独的测试数据评估它的性能。只有之前未使用过的数据才能让您很好地预估您的模型在部署之后可能会有什么样的表现。
模型部署
对模型的性能满意之后,您就可以将它部署到生产环境中,让它实时做出预测或决策。这可能涉及将模型与其他系统或软件应用程序进行集成。现在有与热门云计算服务提供商相集成的 ML 框架,通过此框架您可以很轻松地将模型部署到云端。
监测和更新
模型部署完毕之后,由于会有新数据出现,或者您尝试解决的问题会随着时间而发展,所以您需要监测模型性能并定期更新模型。这可能意味着使用新数据对模型进行再训练,调整模型参数,甚至选择不同的 ML 算法。
Machine Learning 为什么很重要?
Machine Learning 之所以重要,是因为它能通过示例学习执行复杂任务,而无需编写专门的算法程序。相较于使用算法的传统方法,Machine Learning 能够让您在更大程度上实现自动化,改善客户体验,并创建之前根本不具可行性的创新应用程序。不仅如此,Machine Learning 模型还能在使用过程中对自身进行迭代性改进!示例包括:
- 预测趋势以改善业务决策
- 提供个性化的建议,以提高营收和客户满意度
- 自动监测复杂应用程序和 IT 基础架构
- 识别垃圾邮件并找出安全漏洞
Machine Learning 技巧和算法
有很多 Machine Learning 技巧和算法可供使用。您选择哪一个取决于您尝试解决的问题以及您的数据的特征。下面是一些常见技巧和算法的快速概览:当您的目标是预测连续变量时,可以使用线性回归。
线性回归会假设输入变量和目标变量之间存在线性关系。举个例子,预测房价是房屋面积、房屋位置、卧室数量以及其他特征的线性组合。
逻辑回归用于二元分类问题,这类问题的目的是预测结果为是还是为否。逻辑回归会基于输入变量的线性模型估测目标变量的概率。举个例子,基于申请人的信用评分以及其他财务数据预测其贷款申请是否会获批。
决策树会按照树状模型来将决策映射到可能的结果上。每个决策(规则)都代表对一个输入变量的测试,可以按照树状模型连续应用多条规则。它会将数据分为子集,在决策树的每个节点使用最显著的特征。例如,可使用决策树基于用户的身份统计数据和兴趣来识别营销活动的潜在客户。
随机森林会将多个决策树结合在一起来提高预测的准确性。每个决策树都会使用训练数据的一个随机子集和输入变量的一个子集进行训练。随机森林的准确性要比单个决策树的准确性高,而且能够更好地处理复杂数据集或数据缺失问题,但它可能会变得特别庞大,需要更多的内存才能用于推理。
提升决策树会训练一连串决策树,每个决策树都会在前一个决策树的基础上进行改进。提升程序会使用在决策树的前一次迭代中分类错误的数据点,并重新训练一个决策树,以改善对这些之前分类错误的数据点的分类。热门的 XGBoost Python 软件包实施的就是此算法。
支持向量机会找出一个超平面,以通过最好的方式将一类数据点与其他类数据点区分开。它通过最大程度减小类别之间的“边际”来实现这一点。支持向量指这样的少数几个观测值:可用来识别相互分离的超平面(通常由三个点定义)的位置。标准 SVM 算法仅能应用于二元分类。多类别问题会被简化为一系列二元分类问题。
神经网络则是受到了人类大脑的结构和功能的启发。它们由相互关联的节点层构成,这些节点层可通过调整各层之间连接的强度来学习如何识别数据中的模式。
集群算法用于按照数据点之间的相似度将数据点分组成集群。集群算法可用于执行诸如客户细分或异常检测等任务。此算法对图像细分和处理尤其有帮助。
Machine Learning 的优势有哪些?
Machine Learning 有很多优势。它能为您的团队赋能,让他们在下列方面的表现更上一层楼:
- 自动化:对人类而言具有很大挑战性(无论是由于重复性太强,还是客观难度过大)的认知任务可使用 Machine Learning 进行自动化。示例包括监测复杂的联网系统,识别复杂系统内的可疑活动,以及预测何时需要对设备进行维护。
- 客户体验:Machine Learning 模型提供的情报可帮助提升用户体验。对于由搜索提供支持的应用程序,通过收集意向和偏好,您能够提供相关性更高的个性化结果。用户能够搜索和找到他们要找的内容。
- 创新:Machine Learning 能够解决使用专门构建的算法根本不可能解决的复杂问题。例如,搜索包括图像和声音在内的非结构化数据,优化交通模式并改善公共交通系统,以及诊断健康问题。
Machine Learning 用例
下面是 Machine Learning 及其用例的一些子类别:
情感分析是使用自然语言处理分析文本数据并确定整体情感是积极、消极或中立的过程。情感分析可用来帮助企业查找客户反馈,因为它能分析大量数据源(例如 Twitter 上的推文、Facebook 上的评论,以及产品评价),从而确定客户意见和满意程度。
异常检测是使用算法识别数据中可能表示存在问题的异常模式或离群值的过程。异常检测可用来监测 IT 基础架构、在线应用程序和网络,还可用来识别表明存在潜在安全漏洞或稍后可能会导致网络故障的活动。异常检测还可用来检测欺诈银行交易。进一步了解 AIOps。
图像识别会分析图像并找出图像中的物体、面孔或其他特征。除了诸如 Google 图片搜索等常用工具外,图像识别还有大量应用场景。例如,可将它应用到农业中,监测农作物健康状况,并找出病虫害。自动驾驶汽车、医疗成像、监控系统以及增强现实游戏都会用到图像识别。
预测性分析会分析历史数据并找出可用于预测未来事件或趋势的模式。这能够帮助企业优化运营,预测需求,或者识别潜在的风险或机遇。应用示例包括产品需求预测、交通延迟,以及可将生产设备的安全运行时间延长多久。
Machine Learning 的劣势有哪些?
Machine Learning 的劣势包括:
- 依赖于高质量的训练数据:如果数据有偏见或不完整,则模型也可能有偏见或不准确。
- 成本:训练模型和预处理数据的相关成本可能会特别高昂。虽然这么说,但成本还是要低于编写专门的算法程序来完成同一任务的巨大成本,且这些算法程序很可能也没有那么准确。
- 缺乏可解释性:大部分 Machine Learning 模型,例如深度神经网络,都在其运行过程方面缺乏透明度。模型通常被称为“黑盒子”模型,这使得人们很难理解模型是如何得出其决策的。
- 专业知识:有很多类型的模型可供选择。如果没有专门的数据科学团队,组织可能难以进行超参数调整以实现最优性能。训练的复杂度,尤其是转换器、嵌入和大型语言模型的训练复杂度,也会是采用过程中的一大障碍。
Machine Learning 最佳实践
Machine Learning 领域的一些最佳实践包括:
- 确保您的数据干净、有序且完整。
- 选择适用于您当前问题和数据的正确方法。
- 使用一些技巧来预防过拟合;过拟合指模型对于训练数据表现特别好,但是对于新数据却表现很差。
- 通过使用完全未见过的数据进行测试来评估您的模型的性能。您开发和优化模型时所测量的性能并不能很好地指示它在生产环境中的表现。
- 调整您的模型的设置以实现最佳性能,这一过程称作超参数调整。
- 除了标准模型准确性,您还要选择相关指标来评估模型在您的实际应用程序和业务问题的背景下的性能。
- 保留详细记录以确保其他人能够理解并复制您所做的工作。
- 让您的模型与时俱进,确保它在处理新数据时能够持续保持良好性能。
开始使用 Elastic Machine Learning
Elastic Machine Learning 继承了我们可扩展 Elasticsearch 平台的优点。由于我们将 Machine Learning 集成到了可观测性、安全和搜索解决方案中,而且这些解决方案所用的模型只需进行较少的训练便可部署并运行,所以您能够立即收获价值。借助 Elastic,您能够收获新见解来为内部用户和客户提供具有开创性的新体验,而且对于大规模数据也能确保可靠性。
了解您可以如何:
借助内置集成,从数以百计的来源采集数据并在数据的存储位置应用 Machine Learning 和自然语言处理。
以最适合您的任何方式应用 Machine Learning。通过预配置的模型(具体取决于您的用例),立即获得价值:针对自动监测和威胁猎捕的预配置模型;可实施 NLP 任务(例如情感分析或问答互动)的预训练模型和转换器;以及可一键实施语义搜索的 Elastic Learned Sparse Encoder™。或者,如果您的用例要求使用自定义优化模型,您可以使用自己的数据训练监督式模型。Elastic 可以让您灵活地应用既适合您的用例也符合您的专业知识水平的方法!
Machine Learning 词汇表
- 人工智能是机器执行通常需要人类智能才能完成的任务(例如学习、推理、解决问题和决策)的能力。
- 神经网络是 Machine Learning 算法的一种,由可处理和传输信息的相互关联的节点层构成。它受到了人类大脑的结构和功能的启发。
- 深度学习是神经网络的一个子领域,拥有很多层,这些层使得它相比于其他 Machine Learning 算法,能够学会复杂程度高得多的关系。
- 自然语言处理 (NLP) 是 AI 的一个子领域,专注于让机器能够理解、解读和生成人类语言。
- 矢量搜索是搜索算法的一种,它会使用矢量嵌入和 k 最近邻搜索来从大型数据集中检索相关信息。