0

0

探索人工智能历史与矩阵:人工智能教程(二)

PHPz

PHPz

发布时间:2023-11-20 17:25:41

|

1468人浏览过

|

来源于51CTO.COM

转载

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

探索人工智能历史与矩阵:人工智能教程(二)

在本系列的第一篇文章中,我们讨论了人工智能、机器学习、深度学习、数据科学等领域的关联和区别。我们还就整个系列将使用的编程语言、工具等做出了一些艰难的选择。最后,我们还介绍了一点矩阵的知识。在本文中,我们将深入地讨论人工智能的核心——矩阵。不过在此之前,我们先来了解一下人工智能的历史

我们为什么需要了解人工智能的历史呢?历史上曾出现过多次人工智能热潮,但在很多情况下,对人工智能潜力的巨大期望都未能达成。了解人工智能的历史,有助于让我们看清这次人工智浪潮是会创造奇迹,抑或只是另一个即将破灭的泡沫。

我们对人工智能的起源是从何时开始的呢?是在发明数字计算机之后吗?还是更早呢?我相信对于追求一个无所不知的存在可以追溯到文明之初。比如古希腊神话中的德尔菲就是一位能够回答任何问题的先知。从远古时代开始,对于超越人类智慧的创造性机器的探索同样吸引着我们。历史上曾经有过几次制造国际象棋机器的失败尝试。其中就有臭名昭著的机械特克,它并不是真正的机器人,而是由一位藏在内部的棋手操控的。约翰·纳皮尔发明的对数,布莱斯·帕斯卡的计算器,查尔斯·巴贝奇的分析机都在人工智能的发展历程中起到了关键作用

那么,人工智能发展至今有哪些里程碑呢?前面已经提到,数字计算机的发明是人工智能研究历程中最重要的事件。与可扩展性依赖于功率需求的机电设备不同,数字设备受益于技术进步,比如从真空管到晶体管到集成电路再到如今的超大规模集成技术。

人工智能发展的另一个重要里程碑是阿兰·图灵首次对人工智能进行理论分析。他提出了著名的图灵测试

20世纪50年代末,约翰·麦卡锡(John McCarthy)

到了 70 年代和 80 年代,算法在这一时期发挥了主要作用。在这段时间,许多新的高效算法被提出。20 世纪 60 年代末高德纳·克努特Donald Knuth(我强烈建议你了解一下他,在计算机科学界,他相当于数学界的高斯或欧拉)著名的《计算机程序设计艺术The Art of Computer Programming》第一卷的出版标志着算法时代的开始。在这些年中,开发了许多通用算法和图算法。此外,基于人工神经网络的编程也在此时兴起。尽管早在 20 世纪 40 年代,沃伦·S.·麦卡洛克Warren S. McCulloch和沃尔特·皮茨Walter Pitts

在数字时代,人工智能至少有两次前景光明的机会,但这两次机会都没有达到预期。现在的人工智能浪潮是否与之相似呢?这个问题很难回答。然而,我个人认为,这次人工智能将产生巨大的影响(LCTT 译注:本文发表于2022年6月,ChatGTP 在半年后推出)。我为什么会有这样的预测呢?首先,现在高性能计算设备的价格便宜且易得。在60年代或80年代,只有几台这样强大的计算设备,而现在我们有数百万甚至数十亿台。其次,现在有大量可用于训练人工智能和机器学习程序的数据。想象一下,90年代从事数字图像处理的工程师,能够用多少数字图像来训练算法呢?也许是几千或几万张。而现在,仅仅数据科学平台Kaggle(谷歌的子公司)就拥有超过1万个数据集。互联网每天产生的大量数据使得训练算法变得更加容易。第三,高速的互联网连接使得与大型机构合作更加容易。在21世纪的头10年,计算机科学家之间的合作还很困难。然而,现在互联网的速度已经使得与谷歌Colab、Kaggle、Project jupiter等人工智能项目的协作成为现实。基于这三个因素,我相信这次人工智能将永远存在,并且会出现许多优秀的应用

更多矩阵的知识

探索人工智能历史与矩阵:人工智能教程(二)图 1:矩阵 A、B、C、D

在了解了人工智能的历史后,现在是时候回到矩阵与向量这个主题了。在之前的文章中,我已经对它们做了简要介绍。这次,我们将更深入地探讨矩阵的世界。首先,请看图1和图2,它们展示了从A到H共计8个矩阵。为什么在人工智能和机器学习教程中需要这么多矩阵呢?首先,正如之前提到的,矩阵是线性代数的核心,而线性代数虽然不是机器学习的大脑,但却是机器学习的核心。其次,在接下来的讨论中,每个矩阵都有特定的用途

探索人工智能历史与矩阵:人工智能教程(二)图 2:矩阵 E、F、G、H

让我们来看看如何表示矩阵以及如何获取它们的详细信息。图3展示了使用NumPy表示矩阵A的方法。虽然矩阵和数组并不完全相同,但在实际应用中我们经常使用它们作为同义词

探索人工智能历史与矩阵:人工智能教程(二)图 3:用 NumPy 表示矩阵 A

我强烈建议你仔细学习如何使用 NumPy 的 array 函数创建矩阵。虽然 NumPy 也提供了 matrix 函数来创建二维数组和矩阵。但是它将在未来被废弃,所以不再建议使用了。在图 3 还显示了矩阵 A 的一些详细信息。A.size 告诉我们数组中元素的个数。在我们的例子中,它是 9。代码 A.nidm 表示数组的 维数dimension。很容易看出矩阵 A 是二维的。A.shape 表示矩阵 A 的阶数order,矩阵的阶数是矩阵的行数和列数。虽然我不会进一步解释,但使用 NumPy 库时需要注意矩阵的大小、维度和阶数。图 4 显示了为什么应该仔细识别矩阵的大小、维数和阶数。定义数组时的微小差异可能导致其大小、维数和阶数的不同。因此,程序员在定义矩阵时应该格外注意这些细节。

Giiso写作机器人
Giiso写作机器人

Giiso写作机器人,让写作更简单

下载

探索人工智能历史与矩阵:人工智能教程(二)图 4:数组的大小、维数和阶数

现在我们来做一些基本的矩阵运算。图 5 显示了如何将矩阵 A 和 B 相加。NumPy 提供了两种方法将矩阵相加,add 函数和 + 运算符。请注意,只有阶数相同的矩阵才能相加。例如,两个 4 × 3 矩阵可以相加,而一个 3 × 4 矩阵和一个 2 × 3 矩阵不能相加。然而,由于编程不同于数学,NumPy 在实际上并不遵循这一规则。图 5 还展示了将矩阵 A 和 D 相加。记住,这种矩阵加法在数学上是非法的。一种叫做 广播broadcasting

探索人工智能历史与矩阵:人工智能教程(二)重新表达:图五:矩阵求和

重新表达:图五:矩阵求和

A.shape == B.shape

广播机制也不是万能的,如果你尝试把矩阵 D 和 H 相加,会产生一个运算错误。

当然除了矩阵加法外还有其它矩阵运算。图 6 展示了矩阵减法和矩阵乘法。它们同样有两种形式,矩阵减法可以由 subtract 函数或减法运算符 - 来实现,矩阵乘法可以由 matmul 函数或矩阵乘法运算符 @ 来实现。图 6 还展示了 逐元素乘法element-wise multiplication 运算符 * 的使用。请注意,只有 NumPy 的 matmul 函数和 @ 运算符执行的是数学意义上的矩阵乘法。在处理矩阵时要小心使用 * 运算符。

探索人工智能历史与矩阵:人工智能教程(二)图 6:更多矩阵运算

对于一个 m x n 阶和一个 p x q 阶的矩阵,当且仅当 n 等于 p 时它们才可以相乘,相乘的结果是一个 m x q 阶矩的阵。图 7 显示了更多矩阵相乘的示例。注意 E@A 是可行的,而 A@E 会导致错误。请仔细阅读对比 D@G 和 G@D 的示例。使用 shape 属性,确定这 8 个矩阵中哪些可以相乘。虽然根据严格的数学定义,矩阵是二维的,但我们将要处理更高维的数组。作为例子,下面的代码创建一个名为 T 的三维数组。

探索人工智能历史与矩阵:人工智能教程(二)图 7:更多矩阵乘法的例子

T = np.array([[[11,22], [33,44]], [[55,66], [77,88]]])

Pandas

到目前为止,我们都是通过键盘输入矩阵的。如果我们需要从文件或数据集中读取大型矩阵并处理,那该怎么办呢?这时我们就要用到另一个强大的 Python 库了——Pandas。我们以读取一个小的 CSV (逗号分隔值comma-separated value)文件为例。图 8 展示了如何读取 cricket.csv 文件,并将其中的前三行打印到终端上。在本系列的后续文章中将会介绍 Pandas 的更多特性。

探索人工智能历史与矩阵:人工智能教程(二)图 8:用 Pandas 读取 CSV 文件

图 8:用 Pandas 读取 CSV 文件

矩阵的秩

需要进行改写的内容是:矩阵的秩

探索人工智能历史与矩阵:人工智能教程(二)图 9:求矩阵的秩

本次的内容就到此结束了。在下一篇文章中,我们将扩充工具库,以便它们可用于开发人工智能和机器学习程序。我们还将更详细地讨论 神经网络neural network、监督学习supervised learning、无监督学习unsupervised learning

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
Python 时间序列分析与预测
Python 时间序列分析与预测

本专题专注讲解 Python 在时间序列数据处理与预测建模中的实战技巧,涵盖时间索引处理、周期性与趋势分解、平稳性检测、ARIMA/SARIMA 模型构建、预测误差评估,以及基于实际业务场景的时间序列项目实操,帮助学习者掌握从数据预处理到模型预测的完整时序分析能力。

82

2025.12.04

Python 数据清洗与预处理实战
Python 数据清洗与预处理实战

本专题系统讲解 Python 在数据清洗与预处理中的核心技术,包括使用 Pandas 进行缺失值处理、异常值检测、数据格式化、特征工程与数据转换,结合 NumPy 高效处理大规模数据。通过实战案例,帮助学习者掌握 如何处理混乱、不完整数据,为后续数据分析与机器学习模型训练打下坚实基础。

34

2026.01.31

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1570

2023.10.24

Go语言中的运算符有哪些
Go语言中的运算符有哪些

Go语言中的运算符有:1、加法运算符;2、减法运算符;3、乘法运算符;4、除法运算符;5、取余运算符;6、比较运算符;7、位运算符;8、按位与运算符;9、按位或运算符;10、按位异或运算符等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

241

2024.02.23

php三元运算符用法
php三元运算符用法

本专题整合了php三元运算符相关教程,阅读专题下面的文章了解更多详细内容。

170

2025.10.17

php中三维数组怎样求和
php中三维数组怎样求和

php中三维数组求和的方法:1、创建一个php示例文件;2、定义一个名为“$total”的变量,用于记录累加的结果。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

96

2024.02.23

页面置换算法
页面置换算法

页面置换算法是操作系统中用来决定在内存中哪些页面应该被换出以便为新的页面提供空间的算法。本专题为大家提供页面置换算法的相关文章,大家可以免费体验。

503

2023.08.14

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

48

2026.03.13

Python异步编程与Asyncio高并发应用实践
Python异步编程与Asyncio高并发应用实践

本专题围绕 Python 异步编程模型展开,深入讲解 Asyncio 框架的核心原理与应用实践。内容包括事件循环机制、协程任务调度、异步 IO 处理以及并发任务管理策略。通过构建高并发网络请求与异步数据处理案例,帮助开发者掌握 Python 在高并发场景中的高效开发方法,并提升系统资源利用率与整体运行性能。

88

2026.03.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
光速学会docker容器
光速学会docker容器

共33课时 | 2.1万人学习

AI绘画教程
AI绘画教程

共2课时 | 0.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号