Elasticsearch:探索 11 种流行的机器学习算法

作者:来自 Elastic Elastic Platform Team

过去几年中,机器学习(ML)已经悄然成为我们日常生活中不可或缺的一部分。它影响着从购物网站和流媒体网站上的个性化推荐,到保护我们的收件箱免受我们每天收到的大量垃圾邮件的侵扰。但它不仅仅是我们便利的工具。在当前的技术格局中,机器学习已变得至关重要,而且看起来这种情况不会很快改变。它被用来在数据中解锁隐藏的见解,自动化任务和过程,增强决策制定,并推动创新的边界。

这项技术的核心是机器学习算法。这些基本上是被设计用来从数据中学习而不需要针对各个任务进行明确编程的计算机程序。它们用于持续分析信息,调整其结构,并随时间改进。

在本文中,我们将介绍 11 种流行的机器学习算法,并解释它们的功能以及你可能用它们来做什么。为了使这更容易,这个列表被分为四个类别:

  • 监督学习
  • 无监督学习
  • 集成学习
  • 强化学习

阅读完本文后,你将更好地理解机器学习算法能做什么,以及每种算法的不同优势和劣势。

监督学习 - supervised

1. 线性回归 - Linear regression

由于其简单直观的特点,线性回归是一种适合初学者的机器学习算法。它建立了一个变量与一个或多个其他变量之间的线性关系。例如,一个房地产工具可能想要追踪房价(因变量)和平方英尺(自变量)之间的关系。它被认为是 "监督学习",因为你需要提供带有标签的数据来训练它以建立这些关系。

它的相对简单性使得在处理大数据集时非常高效,并且输出易于解释,并且可以识别出有见地的趋势。然而,这种简单性也是它在处理复杂性时遇到困难的原因。非线性模式可能会使其困惑,并且它很容易被异常值干扰。你还需要小心选择正确的变量。否则,输出的质量可能会严重降低。

2. 逻辑回归 - Logistic regression

逻辑回归算法不仅仅关注关联关系,而是用于做出二元决策,例如判断电子邮件是 "垃圾邮件" 还是 "非垃圾邮件"。它预测一个实例属于某个特定类别的概率,这种预测是基于给定的各种因素。它还可以提供哪些因素对结果影响最大的洞见。

与线性回归类似,逻辑回归能够很好地处理大型数据集,但它也有一些相同的缺陷。它同样假设数据之间存在线性关系,因此复杂的非线性模式会给它带来问题。如果它分析的数据不平衡,这也可能导致其预测结果不平衡。例如,如果它分析的大部分电子邮件是 "非垃圾邮件",那么它可能难以识别出 "垃圾邮件"。

3. 支持向量机(SVM)

支持向量机算法不是用于做出预测,而是找到数据类别之间的最宽间隔。因此,与其预测哪些电子邮件是 "垃圾邮件" 或 "非垃圾邮件" 不同,它实际上是在绘制一条线将电子邮件清晰地分为这两个类别。

由于它们专注于最重要的数据并避免被无关细节所困扰,支持向量机算法在高维空间中表现出色。它们也不会被异常值所干扰,并且由于专注于数据点的子集,它们能效高。但它们也是计算成本高昂的,训练速度可能会较慢。由于其复杂性,它们也可能难以解释,选择核函数的正确参数需要时间和仔细调整。

4. 决策树 - Decision trees

顾名思义,决策树遵循一种类似树形结构的模式,在这个过程中会提出一系列是或否的问题。可以将其想象成一个流程图,在这个流程中,你不断地做出决策,直到得出最终答案。这个最终答案就是你的预测。决策树是多功能的监督学习算法,用于解决分类和回归问题。

决策树算法最好的一点是易于理解。你可以通过观察它做出的每个决策来轻松地理解其逻辑。它也非常灵活,能够处理不同的数据类型,并且可以在缺失数据的情况下继续做出决策。不幸的是,它也容易出现过拟合,并且对特征的顺序和选择非常敏感。它还可能在变量之间的复杂关系方面遇到困难,因此对于复杂的问题来说,准确性可能较低。

5. kNN 和 ANN

近似最近邻(approximate nearest neighbor - ANN)算法和 k - 最近邻(k-nearest neighbor - kNN)算法都与相似性搜索有关,在机器学习中用于不同的目的。kNN 通过找到训练数据中最相似的点,并模仿它们类别的多数投票来预测数据点的类别。

简而言之,这两种算法都旨在识别相似的数据点,如电子商务网站上的相似产品。它们是多功能的算法,可以处理各种数据类型,无需太多预处理,并且擅长最近邻搜索和异常检测。但是,当数据分布在多个维度时,它们也都会遇到困难,而且可能难以理解它们是如何得出决策的。

6. 神经网络 - Neural networks

神经网络算法 ------ 大多数现代 AI 工具的基础 ------ 旨在模仿人脑的结构。它们通过使用互连的人工 "神经元 (neurons)" 层来实现这一目标,这些神经元通过数据处理学习以发现数据中的模式。神经网络用于各种任务,如模式识别、分类、回归和聚类。

神经网络是目前最强大、最主导的机器学习算法,能够处理从图像识别到自然语言处理的多种任务。它们也极其灵活,能够从原始数据中自动学习相关特征。它们可以持续进行这样的学习,因此能够适应变化。它们也非常需要数据,需要大量的数据进行训练,如果这些数据不存在,可能会成为一个问题。由于神经网络的黑盒性质,理解它们是如何达到预测的可能非常困难。

无监督 - unsupervised

7. 聚类 - clustering

聚类算法是一种无监督机器学习算法,将相似的数据点组合在一起。其目的是在不需要标记结果的情况下发现数据中的内在结构。可以将其想象成根据颜色、质地或形状等相似性对鹅卵石进行分组排序。这些算法可用于各种应用,包括客户分群、异常检测和模式识别。

由于聚类是无监督的,因此这些算法不需要标记数据。它们非常擅长于发现模式,并通过将相似数据进行分组来帮助数据压缩。然而,它们的有效性完全取决于你如何定义相似性。理解聚类算法背后的逻辑可能会有挑战。

8. 异常和离群值检测

异常检测(anomaly detection,也称为离群值检测 outlier detection)是识别数据集中数据明显偏离预期或 "正常" 行为的实例的过程。这些异常可以采取异常值、新奇性或其他不规则性的形式。异常检测算法非常适用于网络安全、金融和欺诈检测等任务。

它们不需要在标记数据上进行训练,因此甚至可以应用于异常稀少或未知的原始数据。但是,它们对阈值非常敏感,因此平衡误报和漏报可能会有些棘手。它们的有效性也经常取决于你对底层数据和预期挑战的理解。它们可以非常强大,但算法越复杂,理解某个事物被标记为异常的原因就越困难。

集成模型 - ensemble models

9. 随机森林 - random forest

随机森林(或随机决策森林)是用于分类、回归和其他任务的集成学习方法。它们通过在训练过程中构建一组决策树来工作。随机森林还纠正了决策树对其训练集过度拟合的问题。

通过使用一组决策树,随机森林能够产生更准确和更稳健的结果,并且可以处理各种各样的数据类型。它们相对容易解释,因为可以在单个树的水平上分析决策,但对于更复杂的决策,理解它是如何得出的可能会很困难。由于它们需要大量的计算资源,因此运行随机森林可能成本较高。

10. 梯度提升 - gradient boosting

梯度提升是另一种强大的集成技术,它以迭代方式将多个弱学习器(如决策树)组合起来,逐步提高预测准确性。这就像拥有一个学习者团队,每个学习者都建立在前一个学习者的错误基础上,最终导致更强大的集体理解。

通过结合多个树(或其他学习方法),梯度提升可以以高准确度和灵活性处理复杂的关系。与随机森林类似,它们对异常值非常稳健,因为它们不太受单个数据点的影响。然而,与随机森林一样,运行成本可能很高。还需要时间来找到算法所需的最佳参数,以获得最佳结果。

强化学习

11. Q-learning

Q-learning 是一种无模型的强化学习算法,用于学习特定状态下行动的价值。可以将其想象成一个代理在迷宫中导航,通过试错来找到到达中心的最快路径。这就是 Q-learning 的本质,尽管以一种极度简化的方式呈现。

Q-learning 算法最大的优势在于不需要对环境进行详细建模,使其非常适应各种情况。它还可以处理大型状态空间,因此非常适用于具有许多可能状态和行动的复杂环境。这很棒,但在尝试新行动(探索)和最大化已知奖励(开发)之间取得平衡并不总是容易。它还具有高昂的计算成本,奖励需要被仔细调整以确保有效学习。

企业解决方案中的机器学习算法

机器学习迅速成为推动各行各业创新和效率的强大工具。企业解决方案越来越多地使用这些算法来解决复杂问题、简化运营,并从数据中获取宝贵的见解。考虑到我们在本博客中涵盖的 11 种算法的深度和多样性,这并不令人意外。

在 Elastic,我们充分意识到机器学习的力量和潜力。我们构建了一套解决方案,为企业提供即插即用的机器学习能力。从使用 ElasticsearchKibana 进行实时数据分析,到使用 Elastic APM预测应用程序潜在问题,机器学习已成为我们机器中的关键部件。在安全领域,我们利用异常检测来识别威胁,同时通过聚类等算法个性化搜索体验。

希望你现在理解了机器学习算法的多样性和重要性,甚至可能对如何自行使用它们有了一两个想法。机器学习和人工智能领域在未来几年将不断发展和演进,因此现在正是开始参与的最佳时机!

下一步该怎么做呢?

无论你准备好了没有,我们都有四种方式可以帮助你利用业务数据获得洞见:

  1. 开始免费试用,看看 Elastic 如何帮助你的业务。

  2. 参观我们的解决方案,了解 Elasticsearch 平台的工作原理以及我们的解决方案如何满足你的需求。

  3. 发现 2024 年的技术趋势:搜索和生成式人工智能技术的发展

  4. 将本文章与你认识的人分享。通过电子邮件、LinkedIn、Twitter 或 Facebook 将其分享给他们。

本文中描述的任何特性或功能的发布和时间安排均由 Elastic 自行决定。 当前不可用的任何特性或功能可能无法按时交付或根本无法交付。

在这篇博文中,我们可能使用或引用了第三方生成人工智能工具,这些工具由其各自所有者拥有和运营。 Elastic 对第三方工具没有任何控制权,我们对其内容、操作或使用不承担任何责任,也不对你使用此类工具可能产生的任何损失或损害负责。 在使用人工智能工具处理个人、敏感或机密信息时请务必小心。 你提交的任何数据都可能用于人工智能培训或其他目的。 无法保证你提供的信息将得到安全或保密。 在使用之前,你应该熟悉任何生成式人工智能工具的隐私惯例和使用条款。

Elastic、Elasticsearch、ESRE、Elasticsearch Relevance Engine 和相关标记是 Elasticsearch N.V. 的商标、徽标或注册商标。 在美国和其他国家。 所有其他公司和产品名称均为其各自所有者的商标、徽标或注册商标。

原文:Exploring 11 popular machine learning algorithms | Elastic Blog

相关推荐
筒栗子2 分钟前
复习打卡大数据篇——Hadoop MapReduce
大数据·hadoop·mapreduce
金州饿霸5 分钟前
Hadoop集群(HDFS集群、YARN集群、MapReduce计算框架)
大数据·hadoop·hdfs
椰椰椰耶10 分钟前
【文档搜索引擎】搜索模块的完整实现
java·搜索引擎
DREAM依旧10 分钟前
隐马尔科夫模型|前向算法|Viterbi 算法
人工智能
AC使者13 分钟前
#B1630. 数字走向4
算法
ROBOT玲玉14 分钟前
Milvus 中,FieldSchema 的 dim 参数和索引参数中的 “nlist“ 的区别
python·机器学习·numpy
冠位观测者17 分钟前
【Leetcode 每日一题】2545. 根据第 K 场考试的分数排序
数据结构·算法·leetcode
GocNeverGiveUp23 分钟前
机器学习2-NumPy
人工智能·机器学习·numpy
lucky_syq35 分钟前
Spark和MapReduce之间的区别?
大数据·spark·mapreduce
Mitch31140 分钟前
【漏洞复现】CVE-2015-3337 Arbitrary File Reading
elasticsearch·网络安全·docker·漏洞复现