一文了解目前最火爆的人工智能算法

我们每个人都正在经历人工智能对世界经济产生的巨大影响,我们也相信这一影响将继续持续下去。因为我们每天都在产生大规模的数据来帮助它增长。

这一切都归功于人工智能算法的进步,我们才能处理如此庞大的数据。在这篇博文中,你将了解不同的人工智能算法,以及它们如何被用来解决现实世界的问题。

以下是本文将涉及的主题:

  • 什么是人工智能?
  • 什么是机器学习?
  • 机器学习的类型
  • 使用人工智能算法解决的问题类型
  • 人工智能算法
    • 分类算法
    • 回归算法
    • 聚类算法
    • 集成学习算法

什么是人工智能?

简单地说,人工智能是一门让机器像人类一样思考和做决定的学科。

自从复杂的人工智能算法发展以来,它已经能够通过创造机器和机器人来实现这一点,这些机器和机器人应用于广泛的领域,包括农业、医疗保健、机器人、营销、商业分析等。

在我们进一步讨论之前,让我们先试着理解什么是机器学习,以及它与人工智能有什么关系。

什么是机器学习?

在计算机领域,算法通常指的是接受一些输入,并使用数学和逻辑产生输出的函数,在这里,输出的结果是算法的目标。而人工智能算法是根据输入和输出的关联性,去寻找“函数”,函数是它最终的目标。

这个让机器从数据中学习的过程就是我们所说的机器学习。

Artificial-Intelligence-Algorithm-Artificial-Intelligence

机器学习是人工智能的一个子领域,我们试图通过学习输入数据来引入人工智能。

机器学习的类型

机器学习可以通过以下方式完成:

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

让我们简单了解一下每种机器学习背后的思想。

什么是监督学习?

监督学习中,顾名思义,它包括让算法学习数据,同时为数据提供正确答案或标签。这本质上意味着要预测的类或值从一开始就为算法已知并定义良好。

什么是无监督学习?

另一类属于无监督学习(Unsupervised Learning),与有监督的方法不同,算法没有正确的答案或根本没有任何答案,它取决于算法的判断,将相似的数据聚集在一起并理解它。

什么是强化学习?

除了这两个突出的类,我们还有第三类,叫做强化学习。就像孩子们通常通过在做对的事情时奖励他们或在做错的事情时惩罚他们来“强化”某些想法和原则一样,在强化学习中,每一个正确的预测都会给算法奖励,从而提高准确率。

什么是集成学习?

虽然以上三个类全面地涵盖了大多数字段,但我们有时仍然会遇到必须提高模型性能的问题。在这种情况下,使用集成方法(稍后解释)来提高精度可能是有意义的。

现在让我们了解人工智能算法如何被用来解决不同类型的问题。

使用人工智能算法解决的问题类型

从本质上讲,每种类别的算法在给定未知输入的情况下执行相同的预测输出任务,然而,在选择正确的算法时,数据是关键驱动因素。

下面是机器学习问题的分类大纲和简要概述:

  • 分类
  • 回归
  • 聚类

下面的表格有效地区分了这些问题的每一类。

使用 AI 解决的问题类型 – 人工智能算法 – Python技术站

对于每一类任务,我们可以使用特定的算法。在下面的小节中,您将了解如何使用一类算法作为复杂问题的解决方案。

人工智能算法

如前所述,不同的人工智能算法可以用来解决一类问题。在下一节中,我们将看到分类、回归和聚类问题下的不同类型的算法。

分类算法

分类,顾名思义就是将因变量(我们试图预测的那个变量)划分为类,然后为给定的输入预测一个类的行为。它属于监督机器学习的范畴,首先数据集需要有类。
因此,当我们需要从一组固定的、预定义的结果中预测结果时,分类就会在任何地方发挥作用。

分类使用了一系列算法,下面列出了其中的一些:

  • 朴素贝叶斯
  • 决策树
  • 随机森林
  • 逻辑回归
  • 支持向量机
  • K近邻算法

让我们把它们分解一下,看看它们在应用中适合什么位置。

朴素贝叶斯

朴素贝叶斯算法遵循贝叶斯定理,不像这个列表中的所有其他算法,遵循概率方法。这本质上意味着,算法不是直接跳到数据中,而是为目标的每个类设置了一组先验概率。

一旦输入数据,算法就会更新这些先验概率,形成所谓的后验概率。
因此,在需要预测输入是否属于给定的n个类列表或不属于其中任何一个类的情况下,这是非常有用的。这可以使用概率方法实现,主要是因为所有n个类抛出的概率都相当低。

让我们试着用一个例子来理解这一点,一个人在打高尔夫球,这取决于外界的天气等因素。

  • 我们首先尝试生成特定事件发生的频率,在这种情况下,我们试图找到打高尔夫球的人的频率,如果外面是晴天,雨天等等。

朴素贝叶斯 - 人工智能算法 - Python技术站

  • 使用这些频率,我们生成先验或初始概率(例如,阴天的概率是0.29,而播放的一般概率是0.64)。

  • 接下来,我们生成后验概率,我们试着回答诸如"外面是晴天,那个人去打高尔夫球的概率是多少? "

我们用贝叶斯公式,

P(Yes | Sunny) = P( Sunny | Yes) * P(Yes) / P (Sunny)
P (Sunny |Yes) = 3/9 = 0.33, P(Sunny) = 5/14 = 0.36, P( Yes)= 9/14 = 0.64

决策树

决策树本质上可以总结为类似流程图的树结构,其中每个外部节点表示对属性的测试,每个分支表示该测试的结果。叶节点包含实际预测的标签。我们从树的根开始,一直比较属性值,直到到达叶节点。

决策树—人工智能算法—Python技术站

我们在处理高维数据和在数据准备方面花费很少时间时使用这个分类器。然而,需要注意的是,它们往往会过拟合,而且即使训练数据中有细微的差别,它们也容易发生巨大的变化。

随机森林

可以把它想象成一个决策树集合,每个决策树都有一个数据属性的子集,并在这个子集的基础上进行预测。考虑了所有决策树的投票平均值,给出了答案。

使用随机森林的一个优点是,它缓解了在独立决策树中存在的过拟合问题,导致了一个更加健壮和准确的分类器。

随机森林 - 人工智能算法 -  Python技术站

正如我们在上图中看到的,我们有5棵决策树试图对一种颜色进行分类。这5棵决策树中的3棵预测蓝色,两棵有不同的输出,即绿色和红色。在本例中,我们取所有输出的平均值,将蓝色作为最高权重。

逻辑回归

这是一种主要用于二元分类任务的首选方法。“逻辑”一词来自这种分类方法中使用的 logit 函数。逻辑函数,也称为 S 形函数,是一条 S 形曲线,它可以采用任何实数值并将其映射到 0 和 1 之间,但永远不会恰好在这些限制范围内。

逻辑回归—人工智能算法—Python技术站

让我们假设你的弟弟正在努力进入研究生院,你想预测他是否会被他梦想中的学校录取。因此,根据他的CGPA和过去的数据,您可以使用逻辑回归预测结果。

逻辑回归允许您分析一组变量并预测分类结果。因为这里我们需要预测他是否会被学校录取,这是一个分类问题,所以逻辑回归是比较理想的。

逻辑回归用于预测房屋价值、保险行业客户终身价值等。

支持向量机

从某种意义上说,支持向量机是独一无二的,因为它会尝试使用尽可能远的两个类之间的边距对数据进行排序。这称为最大边距分离。

这里要注意的另一件事是,SVM 在绘制超平面时仅考虑支持向量,这与为此目的使用整个数据集的线性回归不同。这使得支持向量机在数据为高维的情况下非常有用。

让我们试着用一个例子来理解这一点。在下图中,我们必须将数据点分为两个不同的类别(正方形和三角形)。

支持向量机——人工智能算法——Python技术站

因此,您首先绘制一个随机超平面,然后检查超平面与每个类中最近的数据点之间的距离。这些最接近超平面的数据点称为支持向量。这就是名称的来源,支持向量机。

超平面是基于这些支持向量绘制的,最优超平面与每个支持向量的距离最大。超平面和支持向量之间的距离称为边界

综上所述,SVM利用超平面对数据进行分类,使超平面与支持向量之间的距离最大。

K近邻算法

KNN 是一种非参数(这里的非参数只是一个花哨的术语,本质上意味着 KNN 不对底层数据分布做出任何假设),惰性学习算法(这里的惰性意味着“训练”阶段相当短) .

其目的是使用分成几个类别的一整串数据点来预测新样本点的分类。

以下几点概述了该算法的一般工作原理:

  • 指定一个正整数 N 以及一个新样本
  • 我们选择数据库中最接近新样本的 N 个条目
  • 我们找到这些条目的最常见分类
  • 这是我们给新样本的分类

但是,使用 KNN 也有一些缺点。这些缺点主要围绕着这样一个事实,即 KNN 致力于存储整个数据集并将新点与现有点进行比较。这意味着存储空间随着我们训练集的增加而增加。这也意味着估计时间的增加与训练点的数量成正比。

现在让我们了解如何使用回归算法来解决回归问题。

回归算法

在回归问题中,输出是一个连续的量。这意味着我们可以在目标变量是连续变量的情况下使用回归算法。它属于监督机器学习的范畴,首先数据集需要有标签。

线性回归

线性回归是最简单有效的回归算法。它被用来衡量真实的质量(房子的成本,电话的数量,所有的交易等等),鉴于一致的变量。在这里,我们通过拟合最佳直线来建立自由因子和病房因子之间的联系。这条最佳拟合线被称为回归线,用直接条件Y= a *X + b表示。

线性回归 - 人工智能算法 -  Python技术站

让我们在这里举一个简单的例子来理解线性回归。

考虑一下,您面临的挑战是仅通过观察来估计一个陌生人的体重。如果手头没有其他值,这可能看起来是一项相当困难的任务,但是根据您过去的经验,您知道一般来说,与相同身材的矮个子相比,身高越高的人越重。这实际上是线性回归!

但是,线性回归最适用于涉及少量维度的方法。此外,并非每个问题都是线性可分的。

线性回归的一些最流行的应用是金融投资组合预测、薪资预测、房地产预测和到达 ETA 的交通

现在让我们讨论如何使用 K 均值算法解决聚类问题。在此之前,让我们了解什么是聚类。

聚类算法

聚类背后的基本思想是根据特征相似性将输入分配到两个或多个集群中。它属于无监督机器学习类别,其中算法在没有任何指导(标记数据集)的情况下从数据中学习模式和有用的见解。

例如,可以使用 K-Means 聚类等无监督学习算法,根据兴趣、年龄、地理位置等将观众聚类到相似的组中。

K-均值聚类

K-means 可能是最简单的无监督学习方法。这里的想法是将相似的数据点聚集在一起,并以集群的形式将它们绑定在一起。它通过计算数据点组的质心来实现。

为了进行有效的聚类,k-均值 评估每个点与聚类质心之间的距离。根据数据点和质心之间的距离,数据被分配到最近的集群。聚类的目标是确定一组未标记数据中的内在分组。

K-均值 – 人工智能算法 – Python技术站

K-means 中的“K”代表形成的簇数。集群的数量(基本上是您的新数据实例可以归入的类的数量)由用户决定。

K-means 主要用于数据集具有不同且彼此分离良好的点的情况,否则,聚类不会相距很远,从而导致它们不准确。此外,在数据集包含大量异常值或数据集是非线性的情况下,应避免使用 K-means。

集成学习算法

集成学习算法
在数据丰富且预测精度很重要的情况下,增强算法就会出现。

考虑这种情况,您有一个在数据集上训练的决策树以及已经执行的一大堆超参数调整,但是,最终的准确性仍然比您想要的略有偏差。在这种情况下,虽然看起来你已经没有什么可以尝试的了,但集成学习可以帮上忙。

集成学习——人工智能算法——Python技术站

在这种情况下,您可以通过两种不同的方式使用集成学习来提高准确性。假设您的决策树在一组输入测试值上失败了,您现在要做的是训练一个新的决策树模型,并为您之前的模型所遇到的那些输入测试值赋予更高的权重。这也称为Boosting,其中我们的初始树可以正式表述为弱学习器,该模型引起的错误为更好更强的模型铺平了道路。

解决这个问题的另一种方法是一次简单地训练一大堆树(这可以相当快地以并行方式完成),然后从每棵树中获取输出并将它们取平均。所以这样,如果在训练 10 棵树之后,假设 6 棵树对输入回复肯定,而 4 棵树回复否定,那么您认为的输出是积极的。这正式称为Bagging。

它们用于减少监督学习技术中的偏差和方差。有许多可用的增强算法,下面讨论其中的一些:

梯度提升

梯度提升是一种提升算法,当我们处理大量数据以进行具有高预测能力的预测时使用。它结合了多个弱预测器或平均预测器来构建强预测器。这些增强算法被大量用于改进数据科学竞赛中的模型。

在这里,我们考虑一个“最优”或最佳模型,因此本质上我们的模型与那个“最优”模型有一定距离。我们现在要做的是,使用梯度数学并尝试使我们的模型更接近最佳空间。

XGBoost

由于其极高的预测能力,XGBoost 是提高准确性的首选算法之一,因为它同时包含线性和树学习算法,使其比大多数提升技术快 10 倍。

它是黑客马拉松的圣杯算法,难怪 CERN 在模型中使用它对大型强子对撞机的信号进行分类。

至此,我们的人工智能算法博客就结束了。如果您想了解有关人工智能的更多信息,可以阅读这些博客:

  1. 深入理解什么是人工智能,以及它能解决什么问题
  2. 人工智能导论:关于人工智能你需要知道的一切
  3. 人工智能的3大发展阶段和类别!
  4. 人工智能、机器学习、深度学习有什么区别?

此文章发布者为:Python技术站作者[metahuber],转载请注明出处:http://pythonjishu.com/artificial-intelligence-algorithms/

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022年 11月 22日 下午9:41
下一篇 2022年 11月 29日 下午9:11

相关推荐

  • 如何成为人工智能工程师?一文规划职业路线图!

    众所周知,人工智能是一种新兴的技术趋势。根据 Gartner 报告,到2023 年,人工智能将创造260 万个工作岗位,取代它将消除的200 万个工作岗位。就业增长已经席卷了整个行业,因为在过去几年中,对具有 AI 技能的人才需求已经翻了一番。 2022年末,到2023年以来,国内外互联网大厂掀起裁员潮,大量传统开发技术人员被裁,但在人工智能领域,并未出现裁…

    2022年 12月 4日
    00
  • 人工智能的最常用的12大工具和框架

    人工智能促进了大量数据的处理及其在行业中的使用。随着 AI 和 ML 的发展,人工智能开发人员可用的工具和框架的数量也在增加。如果你想实际开发人工智能程序,这些框架和工具是必不可少的。 本篇文章将带您了解常用的关于人工智能的工具和框架。 人工智能的工具和框架 当前人工智能开发最热门的工具和框架有以下: Scikit Learn TensorFlow Thea…

    2022年 12月 2日 人工智能概论
    10
  • 10 大人工智能实际应用

    只要提到 AI 和大脑,就会唤起终结者机器毁灭世界的画面。值得庆幸的是,目前的情况要积极得多。那么,让我们来探讨一下人工智能如何帮助我们的星球并最终造福于人类。在这篇关于人工智能应用的博客中,我将讨论人工智能如何影响营销、金融、银行等各个领域。 如果您是 AI 新手,请务必查看有关什么是 AI 的博客。 人工智能的10大作用? 人工智能营销 人工智能在银行业…

    2022年 12月 2日 人工智能概论
    00
  • 人工智能有哪些优点和缺点?

    人工智能是试图在人工智能系统中模拟人类推理的新兴技术之一。约翰麦卡锡在 1950 年发明了人工智能这个词。 原则上,学习的每个方面或智能的任何其他特征都可以如此精确地描述,以至于可以制造一台机器来模拟它。将尝试寻找如何让机器使用语言、形成抽象和概念,解决现在留给人类的各种问题,并提高自己。 人工智能意指让计算机程序拥有学习和思考的能力。如果一个计算机程序能够…

    2022年 11月 29日
    00
  • 人工智能、机器学习、深度学习有什么区别?

    人工智能、机器学习、深度学习,这些术语让很多人感到困惑。如果您也是其中之一,那么这篇博客绝对适合您。 人工智能与机器学习与深度学习 人工智能包含了机器学习和深度学习。你可以在图中看到,机器学习是人工智能的子集,深度学习是机器学习的子集。所以人工智能、机器学习和深度学习这三者的关系就像爷爷、父亲与儿子。 什么是人工智能? 人工智能一词最早出现于 1956 年,…

    2022年 12月 3日
    00
  • 人工智能的十大作用!

    也许你并不知道,人工智能的发展远比你想象中的迅速!到 2030 年,人工智能将为全球经济贡献高达 15.7 万亿美元!除了经济利益,人工智能还将让我们的生活变得更加轻松美好。 本篇将详细为您讲解人工智能在未来会如何影响我们生活中的各个领域,并最终造福于全人类。 提高自动化办公 人工智能可帮助我们自动化做任何事情。不管是极端的体力劳动,还是脑力劳动,它都可以协…

    2022年 12月 1日
    30
  • 什么是人工智能,它能解决什么问题?

    作为人工智能概论的第一章,本篇的主题将探讨“什么是人工智能”,以及“人工智能能解决什么问题?都有什么实际用处”。 在本篇内容中,我们将从以下几个主题开始了解人工智能: 什么是人工智能? 人工智能的两大类型。 人工智能的主要应用。 什么是人工智能? 你是否认为人工智能是近几年才突然冒出来的概念? 其实不然,“人工智能”一词其实早在1956年就由达特茅斯大学(D…

    2022年 11月 22日 人工智能概论
    20
  • 人工智能改善人力资源管理的11种方法!

    人工智能 (AI) 是一种可以让计算机模拟人类智能,同时在收集和分析数据时动态增强性能的框架或技术。 人工智能已经开始在多个行业取代人们的位置,其中包括了制造业、农业、航空航天、医疗保健等领域。此外,它还可以帮助企业达成高效的人力资源管理,使其成为企业人员管理的绝佳工具。 本文将带您了解,在未来,企业将如何利用人工智能提升人员管理能力。 提升招聘流程 人工智…

    2023年 1月 30日 人工智能概论
    00
  • 人工智能的3大发展阶段和类别!

    如果非要说出一项彻底改变 21 世纪的技术,那一定是人工智能。人工智能已逐渐成为我们日常生活的一部分,这也是为什么我们了解人工智能的不同概念很重要的原因。这篇关于人工智能类型的文章将帮助您了解人工智能的3个不同发展阶段和类别。 本文将涵盖以下主题: 什么是人工智能? 人工智能的3大发展阶段 人工智能的类型 人工智能的技术领域 什么是人工智能? 1956 年,…

    2022年 11月 29日 人工智能概论
    00
  • 人工智能导论:关于人工智能你需要知道的一切

    人工智能能成为当今行业的流行语,这是有充分原因的。人工智能已经在技术领域取得了很大的进步,与此同时,我国人工智能领域的人才缺口也在不断扩大。据新华社报道,百度与浙江大学近日发布的《中国人工智能人才培养白皮书》显示,目前人工智能行业人才缺口高达500万,并且在高度跨学科复合型人才的标准下,人才短缺将会长期存在。 所以现阶段,尤其是大学生,如果你想要涉足人工智能…

    2022年 11月 22日
    20

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

评论列表(1条)