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 显示了为什么应该仔细识别矩阵的大小、维数和阶数。定义数组时的微小差异可能导致其大小、维数和阶数的不同。因此,程序员在定义矩阵时应该格外注意这些细节。

绘蛙AI商品图
绘蛙AI商品图

电商场景的AI创作平台,无需高薪聘请商拍和文案团队,使用绘蛙即可低成本、批量创作优质的商拍图、种草文案

下载

探索人工智能历史与矩阵:人工智能教程(二)图 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

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

豆包大模型
豆包大模型

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

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

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

文心一言
文心一言

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

讯飞写作
讯飞写作

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

即梦AI
即梦AI

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

ChatGPT
ChatGPT

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

相关专题

更多
python开发工具
python开发工具

php中文网为大家提供各种python开发工具,好的开发工具,可帮助开发者攻克编程学习中的基础障碍,理解每一行源代码在程序执行时在计算机中的过程。php中文网还为大家带来python相关课程以及相关文章等内容,供大家免费下载使用。

778

2023.06.15

python打包成可执行文件
python打包成可执行文件

本专题为大家带来python打包成可执行文件相关的文章,大家可以免费的下载体验。

685

2023.07.20

python能做什么
python能做什么

python能做的有:可用于开发基于控制台的应用程序、多媒体部分开发、用于开发基于Web的应用程序、使用python处理数据、系统编程等等。本专题为大家提供python相关的各种文章、以及下载和课程。

769

2023.07.25

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

739

2023.07.31

python教程
python教程

Python已成为一门网红语言,即使是在非编程开发者当中,也掀起了一股学习的热潮。本专题为大家带来python教程的相关文章,大家可以免费体验学习。

1445

2023.08.03

python环境变量的配置
python环境变量的配置

Python是一种流行的编程语言,被广泛用于软件开发、数据分析和科学计算等领域。在安装Python之后,我们需要配置环境变量,以便在任何位置都能够访问Python的可执行文件。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

571

2023.08.04

python eval
python eval

eval函数是Python中一个非常强大的函数,它可以将字符串作为Python代码进行执行,实现动态编程的效果。然而,由于其潜在的安全风险和性能问题,需要谨慎使用。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

580

2023.08.04

scratch和python区别
scratch和python区别

scratch和python的区别:1、scratch是一种专为初学者设计的图形化编程语言,python是一种文本编程语言;2、scratch使用的是基于积木的编程语法,python采用更加传统的文本编程语法等等。本专题为大家提供scratch和python相关的文章、下载、课程内容,供大家免费下载体验。

752

2023.08.11

拼多多赚钱的5种方法 拼多多赚钱的5种方法
拼多多赚钱的5种方法 拼多多赚钱的5种方法

在拼多多上赚钱主要可以通过无货源模式一件代发、精细化运营特色店铺、参与官方高流量活动、利用拼团机制社交裂变,以及成为多多进宝推广员这5种方法实现。核心策略在于通过低成本、高效率的供应链管理与营销,利用平台社交电商红利实现盈利。

26

2026.01.26

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
麻省理工大佬Python课程
麻省理工大佬Python课程

共34课时 | 5.2万人学习

国外Web开发全栈课程全集
国外Web开发全栈课程全集

共12课时 | 1.0万人学习

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

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