收藏!当今最流行的10 种人工智能算法

人工智能的概念始于1956年的达特茅斯会议,由于受到数据、计算力、智能算法等多方面因素的影响,人工智能技术和应用发展经历了多次高潮和低谷。

2022年以来,以ChatGPT为代表的大模型一夜爆火,它能够基于在预训练阶段所见的模式和统计规律,来生成回答,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚至能完成撰写邮件、视频脚本、文案、翻译、代码,写论文等任务。人工智能技术突然进入了新的阶段。

数据、计算力和算法被认为是人工智能发展的三大核心要素,数据是基础,算法是核心,计算力是支撑。
所有机器学习模型都旨在学习某个函数 (f),该函数提供输入值 (x) 和输出值 (y) 之间最精确的相关性。Y=f(X)
最常见的情况是,我们有一些历史数据X和Y,并且可以部署 AI 模型来提供这些值之间的最佳映射。结果不可能 100% 准确,否则这将是一个简单的数学计算,不需要机器学习。相反,我们训练的 f 函数可用于使用新的 X来预测新的Y,从而实现预测分析。各种机器学习模型通过采用不同的方法来实现这一结果,这是机器学习的基本原理。

现实中面临的问题数量巨大,用于解决这些问题的机器学习模型也多种多样,因为某些算法比其他算法更擅长处理某些类型的问题。因此,我们需要清楚地了解每种算法的优点与缺点,今天我们列出了 10 种最流行的 AI 算法,期望对大家有所帮助。

1、线性回归

迄今为止,线性回归在数理统计中的应用已有 200 多年的历史。该算法的要点是找到对我们尝试训练的函数f的精度影响最大的系数(B)值。最简单的例子是y= B0 + B1 * x,其中 B0 + B1 是所讨论的函数。

通过调整这些系数的权重,数据科学家可以获得不同的训练结果。该算法成功的核心要求是拥有清晰的数据,其中没有太多噪声(低值信息),并删除具有相似值(相关输入值)的输入变量。

线性回归就是要找一条直线,并且让这条直线尽可能地拟合散点图中的数据点。它试图通过将直线方程与该数据拟合来表示自变量(x 值)和数值结果(y 值)。然后就可以用这条线来预测未来的值!

这种算法最常用的技术是最小二乘法(Least of squares)。这个方法计算出最佳拟合线,以使得与直线上每个数据点的垂直距离最小。总距离是所有数据点的垂直距离(绿线)的平方和。其思想是通过最小化这个平方误差或距离来拟合模型。



线性回归算法经常用在对金融、银行、保险、医疗保健、营销和其他行业的统计数据进行梯度下降优化。

2、逻辑回归

逻辑回归是另一种流行的人工智能算法,能够提供二进制结果。这意味着该模型既可以预测结果,又可以指定 y 值的两类之一。该函数也是基于改变算法的权重,但由于使用非线性逻辑函数来转换结果,因此有所不同。该函数可以表示为一条 S 形线,将真值与假值分开。

成功的要求与线性回归相同——删除相同值的输入样本并减少噪声量(低值数据)。这是一个非常简单的函数,可以相对快速地掌握,并且非常适合执行二元分类。

3、决策树

这是最古老、最常用、最简单且最高效的机器学习模型之一。它是一个经典的二叉树,每次分割都会做出“是” 或“否”的决定,直到模型到达结果节点。

在这一算法中,训练模型通过学习树表示(Tree representation)的决策规则来学习预测目标变量的值。树是由具有相应属性的节点组成的。在每个节点上,我们根据可用的特征询问有关数据的问题。左右分支代表可能的答案。最终节点(即叶节点)对应于一个预测值。

每个特征的重要性是通过自顶向下方法确定的。节点越高,其属性就越重要。

该模型简单易学,不需要数据标准化,常用于回归和分类任务。

4、朴素贝叶斯

朴素贝叶斯(Naive Bayes)是基于贝叶斯定理。它测量每个类的概率,每个类的条件概率给出 x 的值。这个算法用于分类问题,得到一个二进制“是 / 非”的结果。这是一种简单但非常强大的模型,用于解决各种复杂问题。它可以计算两种类型的概率:

  1. 各班级出场机会一次
  2. 假设有额外的x修饰符,则独立类的条件概率。

该模型被称为朴素模型,因为它的运行假设所有输入数据值彼此无关。虽然这在现实世界中不可能发生,但这种简单的算法可以应用于大量标准化数据流,以高度准确地预测结果。

5、支持向量机

支持向量机(Support Vector Machine,SVM)是一种用于分类问题的监督算法。支持向量机试图在数据点之间绘制两条线,它们之间的边距最大。为此,我们将数据项绘制为 n 维空间中的点,其中,n 是输入特征的数量

在此基础上,支持向量机找到一个最优边界,称为超平面(Hyperplane),它通过类标签将可能的输出进行最佳分离。

超平面与最近的类点之间的距离称为边距。最优超平面具有最大的边界,可以对点进行分类,从而使最近的数据点与这两个类之间的距离最大化。

最好的超平面是具有最大正向量并分隔大部分数据节点的超平面。这是一个极其强大的分类机,可以应用于广泛的数据标准化问题。

6、K-最近邻

这是一个非常简单但非常强大的机器学习模型,使用整个训练数据集作为表示字段。结果值的预测是通过检查整个数据集中具有相似值的 K 个数据节点(所谓的邻居)并使用欧几里德数(可以根据值差异轻松计算)来确定结果值来计算的。结果值的预测是通过检查整个数据集中具有相似值的 K 个数据节点(所谓的邻居)并使用欧几里德数(可以根据值差异轻松计算)来确定结果值来计算的。

此类数据集可能需要大量计算资源来存储和处理数据,当存在多个属性时,会遭受准确性损失,并且必须不断进行整理。然而,它们的工作速度非常快,在大型数据集中查找所需值时非常准确且高效。

7、K- 均值

K- 均值(K-means)是通过对数据集进行分类来聚类的。例如,这个算法可用于根据购买历史将用户分组。它在数据集中找到 K 个聚类。K- 均值用于无监督学习,因此,我们只需使用训练数据 X,以及我们想要识别的聚类数量 K。

该算法根据每个数据点的特征,将每个数据点迭代地分配给 K 个组中的一个组。它为每个 K- 聚类(称为质心)选择 K 个点。基于相似度,将新的数据点添加到具有最近质心的聚类中。这个过程一直持续到质心停止变化为止。

8、随机决策森林或套袋

这个算法的基本思想是,许多人的意见要比个人的意见更准确。为了对新对象进行分类,我们从每个决策树中进行投票,并结合结果,然后根据多数投票做出最终决定。

随机决策森林由决策树组成,其中多个数据样本由决策树处理,并将结果聚合(就像将许多样本收集在一个袋子中)以找到更准确的输出值。

不是寻找一条最佳路线,而是定义多条次优路线,从而使整体结果更加精确。如果决策树解决了您所追求的问题,那么随机森林是该方法的一种调整,可以提供更好的结果。

9、降维

由于我们今天能够捕获的数据量之大,机器学习问题变得更加复杂。这就意味着训练极其缓慢,而且很难找到一个好的解决方案。这一问题,通常被称为“维数灾难”(Curse of dimensionality)。

降维(Dimensionality reduction)试图在不丢失最重要信息的情况下,通过将特定的特征组合成更高层次的特征来解决这个问题。主成分分析(Principal Component Analysis,PCA)是最流行的降维技术。

主成分分析通过将数据集压缩到低维线或超平面 / 子空间来降低数据集的维数。这尽可能地保留了原始数据的显著特征。

可以通过将所有数据点近似到一条直线来实现降维的示例。

10、深度神经网络

神经网络本质上是一组带有权值的边和节点组成的相互连接的层,称为神经元。它将上一层的输出特征作为下一层的输入进行特征学习,通过逐层特征映射后,将现有空间样本的特征映射到另一个特征空间,以此来学习对现有输入具有更好的特征表达。深度神经网络具有多个非线性映射的特征变换,可以对高度复杂的函数进行拟合。如果将深层结构看作一个神经元网络,则深度神经网络的核心思想可用三个点描述如下:

(1)每层网络的预训练均采用无监督学习;
(2)无监督学习逐层训练每一层,即将上一层输出作 下一层的输入;
(3)有监督学习来微调所有层(加上一个用于分类的分类器)。

深度神经网络与传统神经网络的主要区别在于训练机制。

为了克服传统神经网络容易过拟合及训练速度慢等不足,深度神经网络整体上采用逐层预训练的训练机制,而不是采用传统神经网络的反向传播训练机制。

优点:

  • 克服了人工设计特征费时、费力的缺点;
  • 通过逐层数据预训练得到每层的初级特征;
  • 分布式数据学习更加有效(指数级);
  • 相比浅层建模方式,深层建模能更细致高效的表示实际的复杂非线性问题。

DNN 是最广泛使用的人工智能和机器学习算法之一。基于深度学习的文本和语音应用程序、用于机器感知和 OCR 的深度神经网络、使用深度学习来增强强化学习和机器人运动以及 DNN 的其他杂项应用都有显着改进。

总结

正如您所看到的,人工智能算法和机器学习模型种类繁多。有些更适合数据分类,有些则在其他领域表现出色。没有一种算法适合所有领域,因此选择最适合您的情况的算法至关重要。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/205471.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python中如何判断List中是否包含某个元素

更多资料获取 📚 个人网站:ipengtao.com 在Python中,判断一个列表(List)是否包含某个特定元素是常见的任务之一。在本文中,将深入探讨多种判断List成员包含性的方法,并提供丰富的示例代码&…

二、C#笔记

/// <summary> /// 第三章&#xff1a;方法和作用域 /// </summary> namespace Chapter3 { class Program { public static void Main(string[] args) { //3.1创建方法 Console.WriteLine($"{addValues(1, 2…

每日一题:LeetCode-11.盛水最多的容器

每日一题系列&#xff08;day 13&#xff09; 前言&#xff1a; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f50e…

UVa133救济金发放题解

题目 题目描述 n(n<20)个人站成一圈&#xff0c;逆时针编号为 1~n。有两个官员&#xff0c;A从1开始逆时针数&#xff0c;B从n开始顺时针数。在每一轮中&#xff0c;官员A数k个就停下来&#xff0c;官员B数m个就停下来&#xff08;两个官员有可能能停在同一个人上&#xff…

solidity案例详解(六)服务评价合约

有服务提供商和用户两类实体&#xff0c;其中服务提供商部署合约&#xff0c;默认诚信为true&#xff0c;用户负责使用智能合约接受服务及评价&#xff0c;服务提供商的评价信息存储在一个映射中&#xff0c;可以根据服务提 供商的地址来查找评价信息。用户评价信息&#xff0c…

添加新公司代码的配置步骤-Part1

原文地址&#xff1a;配置公司代码 概述 我们生活在一个充满活力的时代&#xff0c;公司经常买卖子公司。对于已经使用 SAP 的公司来说&#xff0c;增加收购就成为一个项目。我开发了一个电子表格&#xff0c;其中包含向您的结构添加新公司代码所需的所有配置更改。当然&…

c++算术生成算法二

#define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<functional> #include<vector> #include<algorithm> #include<numeric>//算术生成算法头文件 #include<string> #include<ctime> using namespace std; set_intersec…

虚拟数据优化器VDO

本章主要介绍虚拟化数据优化器。 什么是虚拟数据优化器VDO创建VDO设备以节约硬盘空间 了解什么是VDO VDO全称是Virtual Data Optimize&#xff08;虚拟数据优化)&#xff0c;主要是为了节省硬盘空间。 现在假设有两个文件file1和 file2&#xff0c;大小都是10G。file1和 f…

第63天-django学习(十二)

补充模块importlib 介绍 importlib模块是Python中用于动态加载和导入模块的内置模块。它提供了一组函数和类&#xff0c;使得我们可以在运行时根据需要加载模块&#xff0c;并且可以对已导入的模块进行操作和管理。 动态加载模块 # 导入模块 &#xff1a; 动态加载一个模块 i…

java学习part40collections工具类

162-集合框架-Collections工具类的使用_哔哩哔哩_bilibili 1.collections工具类 感觉类似c的algorithm包&#xff0c;提供了很多集合的操作方法 2.排序 3.查找 4.复制替换 5.添加&#xff0c;同步

Dockerfile详解#如何编写自己的Dockerfile

文章目录 前言编写规则指令详解FROM&#xff1a;基础镜像LABEL&#xff1a;镜像描述信息MAINTAINER&#xff1a;添加作者信息COPY&#xff1a;从宿主机复制文件到镜像中ADD&#xff1a;从宿主机复制文件到镜像中WORKDIR&#xff1a;设置工作目录 前言 Dockerfile是编写docker镜…

TensorRT之getBindingIndex

在使用 TensorRT&#xff08;NVIDIA 的推理引擎&#xff09;时&#xff0c;getBindingIndex 是一个用于获取绑定索引的函数。TensorRT 将输入和输出张量绑定到引擎的输入和输出索引上。getBindingIndex 函数用于检索给定名称的输入或输出张量在引擎中的索引。 int getBindingI…

【Python百宝箱】极客之选:掌握Python内外库的进程管理技巧

Python系统编程大揭秘&#xff1a;掌握操作系统接口、进程管理与系统信息 前言 在当今软件开发领域&#xff0c;系统编程是一项至关重要的技能&#xff0c;尤其是在涉及到操作系统接口、进程管理以及系统信息的处理时。Python作为一门强大而灵活的编程语言&#xff0c;提供了…

马克思主义原理期末复习大题

导论: 1.什么是马克思主义?马克思主义具有哪些基本特征? 马克思主义是由马克思和恩格斯创立并为后继者所不断发展的科学理论体系,是关于自然,社会和人类思维发展一般规律的学说,是关于社会主义必然代替资本主义,最终实现共产主义的学说,是关于无产阶级解放,全人类解…

Vue 静态渲染 v-pre

v-pre 指令&#xff1a;用于阻止 Vue 解析这个标签&#xff0c;直接渲染到页面中。 语法格式&#xff1a; <div v-pre> {{ 数据 }} </div> 基础使用&#xff1a; <template><h3>静态渲染 v-pre</h3><p v-pre>静态渲染&#xff1a;{{ n…

C++刷题 -- 链表

C刷题 – 链表 文章目录 C刷题 -- 链表1.删除链表的倒数第 N 个结点2.链表相交3.环形链表 1.删除链表的倒数第 N 个结点 https://leetcode.cn/problems/remove-nth-node-from-end-of-list/ 快慢指针的应用 fast指针先移动N步&#xff0c;slow依然指向head&#xff1b;然后fa…

短视频文案生成器有哪些?【2024新版短视频文案生成器】

在当今数字化社交时代&#xff0c;短视频已经成为人们生活中不可或缺的一部分。然而&#xff0c;想要制作引人注目、独具创意的短视频&#xff0c;光有精彩的画面和音效可能不够&#xff0c;一个吸引眼球的短视频文案也是至关重要的。本文将专心分享短视频文案生成器的种类&…

OpenTiny Vue 3.12.0 发布:文档大优化!增加水印和二维码两个新组件

你好&#xff0c;我是 Kagol。 非常高兴跟大家宣布&#xff0c;2023年11月30日&#xff0c;OpenTiny Vue 发布了 v3.12.0 &#x1f389;。 OpenTiny 每次大版本发布&#xff0c;都会给大家带来一些实用的新特性&#xff0c;10.24 我们发布了 v3.11.0 版本&#xff0c;增加了富…

做题笔记:SQL Sever 方式做牛客SQL的题目--VQ29

----VQ29 验证刷题效果&#xff0c;输出题目真实通过率 牛客刷题记录表done_questions_record&#xff0c;为验证重复刷题率&#xff0c;需要我们查找一些数据&#xff1a; question_pass_rate 表示每个用户不同题目的通过率&#xff08;同一用户同一题重复提交通过仅计算一次&…

第3讲、Hyper-V 在Windows Server 2012 R2新增特性:

1、新的VHDX&#xff08;Virtual Hard Disk X&#xff09;格式 1&#xff09;打破VHD最大存储能力2TB的限制&#xff0c;VHDX最大可使用64TB虚拟磁盘空间 2&#xff09;VHD扇区大小被限制为512Byte&#xff0c;但VHDX已经改变为支持更加优秀的4KByte 3…