机器学习定义
机器学习 (ML) 是人工智能 (AI) 的一个分支,专注于使用数据和算法来模仿人类的学习方式,并随着时间的推移逐渐提高准确性。 计算机科学家和人工智能创新者 Arthur Samuel 在 20 世纪 50 年代首次将其定义为 “赋予计算机无需明确编程即可学习能力的研究领域”。
机器学习涉及将大量数据输入计算机算法,以便它们能够学习识别该数据集中的模式和关系。 然后,算法开始根据分析做出自己的预测或决策。 当算法接收到新数据时,它们会继续完善自己的选择并提高其表现,就像一个人通过练习在某项活动中变得更好一样。
机器学习有哪四种类型?
机器学习的四种类型是监督机器学习、无监督机器学习、半监督学习和强化学习。
- 监督机器学习是最常见的机器学习类型。 在监督学习模型中,算法从标记的训练数据集中学习并随着时间的推移提高其准确性。 它旨在构建一个模型,当接收到以前从未见过的新数据时,该模型可以正确预测目标变量。 一个例子是人类标记和输入玫瑰以及其他花朵的图像。 当该算法收到新的、未标记的玫瑰图像时,它可以正确识别一朵玫瑰。
- 无监督机器学习是指算法在未标记且没有目标变量的数据中搜索模式。 目标是找到人类可能尚未识别的数据中的模式和关系,例如检测日志、跟踪和指标中的异常以发现系统问题和安全威胁。
- 半监督学习是监督和无监督机器学习的混合体。 在半监督学习中,算法对标记数据和未标记数据进行训练。 它首先从一小组标记数据中学习,根据可用信息做出预测或决策。 然后,它使用更大的未标记数据集,通过查找数据中的模式和关系来完善其预测或决策。
- 强化学习是指算法通过对其行为进行奖励或惩罚的形式获得反馈,通过反复试验来学习。 一些例子包括:训练人工智能代理玩视频游戏,它会因提升水平而获得积极奖励,并因失败而受到惩罚; 优化供应链,代理商因最小化成本和最大化交付速度而获得奖励; 或推荐系统,代理推荐产品或内容并通过购买和点击获得奖励。
机器学习是如何工作的?
机器学习可以以不同的方式发挥作用。 你可以将经过训练的机器学习模型应用于新数据,也可以从头开始训练新模型。
将训练有素的机器学习模型应用于新数据通常是一个更快且资源密集度较低的过程。 你无需通过训练来开发参数,而是使用模型的参数对输入数据进行预测,这一过程称为推理。 你也不需要评估其性能,因为它已经在训练阶段进行了评估。 但是,它确实需要你仔细准备输入数据,以确保其格式与用于训练模型的数据相同。
训练新的机器学习模型涉及以下步骤:
数据采集
首先选择你的数据集。 数据可以来自多种来源,例如系统日志、指标和跟踪。 除了日志和指标之外,其他几种类型的时间序列数据在机器学习训练中也很重要,包括:
- 金融市场数据,例如股票价格、利率和外汇汇率。 这些数据通常用于构建用于交易和投资目的的预测模型。
- 交通时间序列数据,例如交通量、速度和行程时间。 这可用于优化路线并减少交通拥堵。
- 产品使用数据,例如网站流量和社交媒体参与度。 这可以帮助公司了解客户行为并确定需要改进的领域。
无论你使用什么数据,它都应该与你试图解决的问题相关,并且应该代表你想要做出预测或决策的人群。
数据预处理
收集数据后,你需要对其进行预处理以使其可供机器学习算法使用。 这有时涉及标记数据,或为数据集中的每个数据点分配特定类别或值,这允许机器学习模型学习模式并做出预测。
此外,它还可能涉及删除缺失值、通过应用聚合将时间序列数据转换为更紧凑的格式,以及缩放数据以确保所有特征具有相似的范围。 拥有大量带标签的训练数据是深度神经网络的要求,例如大型语言模型 (LLM)。 对于经典的监督模型,你不需要处理那么多。
特征选择
某些方法要求你选择模型将使用的特征。 本质上,你必须确定与你要解决的问题最相关的变量或属性。 相关性是识别特征的基本方法。 为了进一步优化,许多机器学习框架都提供并支持自动特征选择方法。
选型
现在你已经选择了功能,你需要选择一个非常适合你要解决的问题的机器学习模型。 一些选项包括回归模型、决策树和神经网络。 (请参阅下面的 “机器学习技术和算法”。)
训练
选择模型后,你需要使用收集和预处理的数据对其进行训练。 训练是算法学习识别数据中的模式和关系并将其编码到模型参数中的过程。 为了实现最佳性能,训练是一个迭代过程。 这可以包括调整模型超参数以及改进数据处理和特征选择。
测试
现在模型已经经过训练,你需要在以前未见过的新数据上对其进行测试,并将其性能与其他模型进行比较。 你选择性能最佳的模型并根据单独的测试数据评估其性能。 只有以前未使用的数据才能让你很好地估计模型部署后的性能。
模型部署
一旦你对模型的性能感到满意,你就可以将其部署在生产环境中,让它可以实时做出预测或决策。 这可能涉及将模型与其他系统或软件应用程序集成。 与流行的云计算提供商集成的机器学习框架使模型部署到云变得非常容易。
监控和更新
部署模型后,你需要监控其性能,并在新数据可用或你尝试解决的问题随着时间的推移发生变化时定期更新。 这可能意味着使用新数据重新训练模型、调整其参数或完全选择不同的机器学习算法。
为什么机器学习很重要?
机器学习很重要,因为它学会使用示例来执行复杂的任务,而无需编写专门的算法。 与传统算法方法相比,机器学习使你能够实现更多自动化、改善客户体验并创建以前不可行的创新应用程序。 而且,机器学习模型可以在使用过程中迭代地自我改进! 示例包括:
- 预测趋势以改进业务决策
- 个性化建议可增加收入和客户满意度
- 自动监控复杂应用程序和 IT 基础设施
- 识别垃圾邮件并发现安全漏洞
机器学习技术和算法
有许多可用的机器学习技术和算法。 你选择的方法将取决于你要解决的问题和数据的特征。 以下是一些更常见的快速概述: 当目标是预测连续变量时,使用线性回归(linear regression)。
- 线性回归 (linear regression) 假设输入变量和目标变量之间存在线性关系。 一个例子是将房价预测为平方英尺、位置、卧室数量和其他特征的线性组合。
- 逻辑回归 (logistic regression) 用于二元分类问题,其目标是预测是/否结果。 逻辑回归基于输入变量的线性模型估计目标变量的概率。 一个例子是根据申请人的信用评分和其他财务数据来预测贷款申请是否会被批准。
- 决策树 (decision trrees) 遵循树状模型,将决策映射到可能的后果。 每个决策(规则)代表一个输入变量的测试,并且可以按照树状模型连续应用多个规则。 它使用树的每个节点上最重要的特征将数据分成子集。 例如,决策树可用于根据人口统计数据和兴趣来识别营销活动的潜在客户。
- 随机森林 (random forests) 结合多个决策树来提高预测精度。 每个决策树都根据训练数据的随机子集和输入变量的子集进行训练。 随机森林比单个决策树更准确,并且可以更好地处理复杂的数据集或丢失的数据,但它们可能会变得相当大,在推理中使用时需要更多的内存。
- 增强决策树 (boosted decsion trees) 训练一系列决策树,每个决策树都比前一个决策树有所改进。 提升过程采用决策树的先前迭代错误分类的数据点,并重新训练新的决策树以改进对这些先前错误分类点的分类。 流行的 XGBoost Python 包实现了该算法。
- 支持向量机 (support vector machines) 致力于找到一个超平面,该超平面能够最好地将一类数据点与另一类数据点分开。 它通过最小化类之间的 “间隔” 来实现这一点。 支持向量是指识别分离超平面位置的少数观测值,分离超平面由三个点定义。 标准 SVM 算法仅适用于二元分类。 多类问题被简化为一系列二元问题。
- 神经网络 (neural network) 的灵感来自于人脑的结构和功能。 它们由互连的节点层组成,这些节点可以通过调整节点之间的连接强度来学习识别数据模式。
- 聚类算法 (clustering algorithms) 用于根据数据点的相似性将数据点分组为聚类。 它们可用于客户细分和异常检测等任务。 它对于图像分割和处理特别有用。
机器学习有哪些优势?
机器学习的优点很多。 它可以帮助你的团队在以下类别中达到更高的绩效水平:
- 自动化:由于重复性或客观困难而对人类具有挑战性的认知任务可以通过机器学习实现自动化。 示例包括监控复杂的网络系统、识别复杂系统中的可疑活动以及预测设备何时需要维护。
- 客户体验:机器学习模型提供的智能可以提升用户体验。 对于搜索驱动的应用程序,捕获意图和偏好可以让你提供更相关和个性化的结果。 用户可以搜索并找到它们的含义。
- 创新:机器学习解决了专用算法无法解决的复杂问题。 例如,搜索包括图像或声音在内的非结构化数据,优化交通模式并改善公共交通系统,以及诊断健康状况。
了解机器学习如何将搜索提升到新的水平
机器学习用例
以下是机器学习的一些子类别及其用例:
- 情感分析 (sentiment analysis) 是使用自然语言处理来分析文本数据并确定其整体情感是积极、消极还是中性的过程。 它对于寻求客户反馈的企业非常有用,因为它可以分析各种数据源(例如 Twitter 上的推文、Facebook 评论和产品评论)来衡量客户意见和满意度。
- 异常检测 (anomaly detection) 是使用算法识别数据中可能表明存在问题的异常模式或异常值的过程。 异常检测用于监控 IT 基础设施、在线应用程序和网络,并识别表明存在潜在安全漏洞或可能导致网络中断的活动。 异常检测还用于检测欺诈性银行交易。 了解有关 AIOps 的更多信息。
- 图像识别 (image recognition) 分析图像并识别图像中的对象、面部或其他特征。 除了 Google 图像搜索等常用工具之外,它还有多种应用程序。 例如,它可用于农业中监测作物健康并识别害虫或疾病。 自动驾驶汽车、医学成像、监控系统和增强现实游戏都使用图像识别。
- 预测分析 (predicative analytics) 分析历史数据并识别可用于预测未来事件或趋势的模式。 这可以帮助企业优化运营、预测需求或识别潜在风险或机遇。 一些例子包括产品需求预测、交通延误以及制造设备可以安全运行多长时间。
了解有关预测性维护的更多信息
机器学习有哪些缺点?
机器学习的缺点包括:
- 对高质量训练数据的依赖:如果数据有偏差或不完整,模型也可能有偏差或不准确。
- 成本:训练模型和预处理数据可能会产生很高的成本。 话虽这么说,它仍然比编写专门算法来完成相同任务的更大成本要低,而且很可能不会那么准确。
- 缺乏可解释性:大多数机器学习模型,例如深度神经网络,其运作方式缺乏透明度。 通常称为 “黑匣子” 模型,这使得理解模型如何做出决策变得具有挑战性。
- 专业知识:有多种型号可供选择。 如果没有指定的数据科学团队,组织可能会难以调整超参数以实现最佳性能。 训练的复杂性,尤其是转换器 (transformer)、嵌入和大型语言模型的训练的复杂性,也可能成为采用的障碍。
机器学习的最佳实践
机器学习的一些最佳实践包括:
- 确保你的数据干净、有组织且完整。
- 选择适合你当前问题和数据的正确方法。
- 使用技术来防止过度拟合,即模型在训练数据上表现良好,但在新数据上表现不佳。
- 通过在完全不可见的数据上进行测试来评估模型的性能。 你在开发和优化模型时测量的性能并不能很好地预测其在生产中的性能。
- 调整模型的设置以获得最佳性能 —— 称为超参数调整。
- 除了标准模型准确性之外,还选择一些指标来评估模型在实际应用程序和业务问题中的性能。
- 保留详细的记录,以确保其他人能够理解和复制你的工作。
- 使你的模型保持最新,以确保它在新数据上继续表现良好。
开始使用 Elastic 机器学习
Elastic 机器学习继承了我们可扩展 Elasticsearch 平台的优势。 通过与可观察性、安全性和搜索解决方案的集成,你可以获得开箱即用的价值,这些解决方案使用的模型需要较少的培训即可启动和运行。 借助 Elastic,你可以收集新的见解,为内部用户和客户提供革命性的体验,而且一切都具有大规模的可靠性。
了解如何:
从数百个来源获取数据,并通过内置集成在数据所在的位置应用机器学习和自然语言处理。
以最适合你的方式应用机器学习。 根据你的使用案例,从预配置的模型中获取开箱即用的价值:用于自动监控和威胁搜寻的预配置模型、用于实施情感分析或问答交互等 NLP 任务的预训练模型和转换器,以及 Elastic Learned Sparse Encoder™一键实现语义搜索。 或者,如果你的用例需要优化和自定义模型,请使用你的数据训练监督模型。 Elastic 让你能够灵活地应用适合你的用例并符合你的专业水平的方法!
机器学习资源
- Elasticsearch 的机器学习
- Elastic Stack 中的机器学习
- 访问 Elastic 中的第三方 ML 模型和转换器
- 通过机器学习将搜索提升到新的水平
- 通过 AIOps 将机器学习应用于可观察性
- 通过机器学习提高安全防御深度