网易首页 > 网易号 > 正文 申请入驻

人工智能教程(五):Anaconda 以及更多概率论 | Linux 中国

0
分享至

导读:在本系列的第五篇文章中,我们将继续介绍概率和统计中的概念。

本文字数: 6768,阅读时长大约: 10分钟

在本系列的第五篇文章中,我们将继续介绍概率和统计中的概念。

在本系列的 linux.cn 中,我们首先介绍了使用 TensorFlow。它是一个非常强大的开发人工智能和机器学习应用程序的库。然后我们讨论了概率论的相关知识,为我们后面的讨论打下基础。在本系列的第五篇文章中,我们将继续介绍概率和统计中的概念。

在本文中我将首先介绍 Anaconda,一个用于科学计算的 Python 发行版。它对于开发人工智能、机器学习和数据科学的程序特别有用。稍后我们将介绍一个名为 Theano 的 Python 库。但在此之前,让我们下讨论一下人工智能的未来。

在回顾和修订之前的文章时,我发觉我偶尔对人工智能前景的怀疑语气和在一些话题上毫不留情的诚实态度可能在无意中使部分读者产生了消极情绪。

这促使我开始从金融角度研究人工智能和机器学习。我想确定涉足人工智能市场的公司类型,是否有重量级的公司大力参与其中?还是只有一些初创公司在努力推动?这些公司未来会向人工智能市场投入多少资金?是几百万美元,几十亿美元还是几万亿美元?

我通过于最近知名报纸上的的预测和数据来理解基于人工智能的经济发展背后的复杂动态性。2020 年《福布斯》上的一篇文章就预测 2020 年企业在人工智能上投入的投入将达到 500 亿美元的规模。这是一笔巨大的投资。《财富》杂志上发表的一篇文章称,风险投资者正将部分关注力从人工智能转移到 Web3 和去中心化金融(decentralised finance)(DeFi)等更新潮的领域上。但《华尔街日报》在 2022 年自信地预测,“大型科技公司正在花费数十亿美元进行人工智能研究。投资者应该密切关注。”

印度《商业标准报》在 2022 年报道称,87% 的印度公司将在未来 3 年将人工智能支出提高 10%。总的来说,人工智能的未来看起来是非常安全和光明的。令人惊讶的是,除了亚马逊、Meta(Facebook 的母公司)、Alphabet(谷歌的母公司)、微软、IBM 等顶级科技巨头在投资人工智能外,壳牌、强生、联合利华、沃尔玛等非 IT 科技类公司也在大举投资人工智能。

很明显众多世界级大公司都认为人工智能将在不久的将来发挥重要作用。但是未来的变化和新趋势是什么呢?我通过新闻文章和采访找到一些答案。在人工智能未来趋势的背景下,经常提到的术语包括负责任的人工智能(Responsible AI)、量子人工智能、人工智能物联网、人工智能和伦理、自动机器学习等。我相信这些都是需要深入探讨的话题,在上一篇文章中我们已经讨论过人工智能和伦理,在后续的文章中我们将详细讨论一些其它的话题。

Anaconda 入门

现在让我们讨论人工智能的必要技术。Anaconda 是用于科学计算的 Python 和 R 语言的发行版。它极大地简化了包管理过程。从本文开始,我们将在有需要时使用 Anaconda。第一步,让我们安装 Anaconda。访问 www.anaconda.com 下载最新版本的 Anaconda 发行版安装程序。在撰写本文时(2022 年 10 月),64 位处理器上最新的 Anaconda 安装程序是Anaconda3-2022.05-Linux-x86_64.sh。如果你下载了不同版本的安装程序,将后面命令中的文件名换成你实际下载的安装文件名就行。下载完成后需要检查安装程序的完整性。在安装程序目录中打开一个终端,运行以下命令:

  1. shasum -a 256 Anaconda3-2022.05-Linux-x86_64.sh

终端上会输出哈希值和文件名。我的输出显示是:

  1. a7c0afe862f6ea19a596801fc138bde0463abcbce1b753e8d5c474b506a2db2d Anaconda3-2022.05-Linux-x86_64.sh

然后访问 docs.anaconda.com,比对下载安装文件的哈希值。如果哈希值匹配,说明下载文件完整无误,否则请重新下载。然后在终端上执行以下命令开始安装:

  1. bash Anaconda3-2022.05-Linux-x86_64.sh

按回车键后,向下滚动查看并接受用户协议。最后,输入yes开始安装。出现用户交互提示时,一般直接使用 Anaconda 的默认选项就行。现在 Anaconda 就安装完成了。

默认情况下,Anaconda 会安装 Conda。这是一个包管理器和环境管理系统。Anaconda 发行版会自动安装超过 250 个软件包,并可选择安装超过 7500 个额外的开源软件包。而且使用 Anaconda 安装的任何包或库都可以在 Jupyter Notebook 中使用。在安装新包的过程中, Anaconda 会自动处理它的依赖项的更新。

至此之后我们终于不用再担心安装软件包和库的问题了,可以继续我们的人工智能和机器学习程序的开发。注意,Anaconda 只有一个命令行界面。好在我们的安装项中包括 Anaconda Navigator。这是一个用于 Anaconda 的图形用户界面。在终端上执行命令anaconda-navigator运行 Anaconda Navigator(图 1)。我们马上会通过例子看到它的强大功能。

图 1:Anaconda Navigator

Theano 介绍

Theano 是一个用于数学表达式计算的优化编译的 Python 库。在 Anaconda Navigator 中安装Theano 非常容易。打开 Anaconda Navigator 后点击 “环境(Environments)” 按钮(图 1 中用红框标记)。在打开的窗口中会显示当前安装的所有软件包的列表。在顶部的下拉列表中选择“尚未安装(Not installed)”选项。向下滚动并找到 Theano,然后勾选左侧的复选框。点击窗口右下角的绿色 “应用(Apply)” 按钮。Anaconda 会在弹出菜单中显示安装 Theano 的所有依赖项。图 2 是我安装 Theano 时的弹出菜单。可以看到,除了 Theano 之外,还安装了一个新的包,并修改了 8 个包。

想象一下,如果要手动安装 Theano,这将是多么麻烦。有了 Anaconda,我们只需要点几个按钮就行了。只需要等待一会儿,Theano 就安装好了。现在我们可以在 Jupyter Notebook 中使用 Theano 了。

图 2:安装 Theano

我们已经熟悉了用于符号计算的 Python 库 SymPy,但 Theano 将符号计算提升到了一个新的水平。图 3 是一个使用 Theano 的例子。第 1 行代码导入 Theano。第 2 行导入theano.tensor并将其命名为T。我们在介绍 TensorFlow 时已经介绍过张量(tensor)了。

图 3:使用 Theano 的代码例子

在数学上,可以将张量看作多维数组。张量是 Theano 的关键数据结构之一,它可用于存储和操作标量(数字)、向量(一维数组)、矩阵(二维数组)、张量(多维数组)等。在第 3 行中,从 Theano 导入了function()的函数。第 4 行导入名为pp()的 Theano 函数,该函数用于格式化打印。第 5 行创建了一个名为xdouble类型的标量符号变量。你可能会在理解符号变量这个概念上遇到一些困难。这里你可以把它看作是没有绑定具体值的double类型的对象。类似地,第 6 行创建了另一个名为y的标量符号变量。第 7 行告诉 Python 解释器,当符号变量xy得到值时,将这些值相加并存储在a里面。

为了进一步解释符号操作,仔细看第 8 行的输出是(x+y)。这表明两个数字的实际相加还没有发生。第 9 到 11 行类似地分别定义了符号减法、乘法和除法。你可以自己使用函数pp()来查找bcd的值。第 12 行非常关键。它使用 Theano 的function()函数定义了一个名为f()的新函数。函数f()的输入是xy,输出是[a b c d]。最后在第 13 行中,给函数f()提供了实际值来调用该函数。该操作的输出也显示在图 3 中。我们很容易验证所显示的输出是正确的。

图 4:用 Theano 处理矩阵

下面让我们通过图 4 的代码来看看如何使用 Theano 创建和操作矩阵。需要注意的是,图中我省略了导入代码。如果你要直接运行图 4 的代码,需要自己添加上这几行导入代码(图 3 中的前三行)。第 1 行创建了两个符号矩阵xy。这里我使用了复数构造函数(plural constructor)imatrices,它可以同时构造多个矩阵。第 2 行到第 4 行分别对符号矩阵xy执行符号加法、减法和乘法。这里你可以使用print(pp(a))print(pp(b))print(pp(c))来帮助理解符号操作的性质。第 5 行创建了一个函数f(),它的输入是两个符号矩阵xy,输出是[a b c],它们分别表示符号加法、减法和乘法。最后,在第 6 行中,为函数f()提供实际的值来调用该函数。该操作的输出也显示在图 4 中。很容易验证所示的三个输出矩阵是否正确。注意,除了标量和矩阵,张量还提供了向量、行、列类型张量的构造函数。Theano 暂时就介绍到这里了,在讨论概率和统计的进阶话题时我们还会提到它。

再来一点概率论

图 5:算术平均值和标准偏差

现在我们继续讨论概率论和统计。我在上一篇文章中我建议你仔细阅读三篇维基百科文章,然后介绍了正态分布。在我们开始开发人工智能和机器学习程序之前,有必要回顾一些概率论和统计的基本概念。我们首先要介绍的是 算术平均值(arithmetic mean)和标准差(standard deviation)。

算术平均值可以看作是一组数的平均值。标准差可以被认为是一组数的分散程度。如果标准差较小,则表示集合中的元素都接近平均值。相反,如果标准差很大,则表示集合的中的元素分布在较大的范围内。如何使用 Python 计算算术平均值和标准差呢?Python 中有一个名为statistics的模块,可用于求平均值和标准差。但专家用户认为这个模块太慢,因此我们选择 NumPy。

图 5 所示的代码打印两个列表C1C2的平均值和标准差(我暂时隐藏了两个列表的实际内容)。你能从这些值中看出什么呢?目前它们对你来说只是一些数字而已。现在我告诉你,这些列表分别包含学校 A 和学校 B 的 6 名学生的数学考试成绩(满分 50 分,及格 20 分)。均值告诉我们,两所学校的学生平均成绩都较差,但学校 B 的成绩略好于学校 A。标准差值告诉我们什么呢?学校 B 的巨大的标准差值虽然隐藏在平均值之下,但却清楚地反映了学校 B 的的教学失败。为了进一步加深理解,我将给出两个列表的值,C1 =[20,22,20,22,22,20]C2 =[18,16,17,16,15,48]。这个例子清楚地告诉我们,我们需要更复杂的参数来处理问题的复杂性。概率和统计将提供更复杂的模型来描述复杂和混乱的数据。

随机数生成是概率论的重要组成部分。但实际上我们只能生成伪随机数。伪随机数序列具有和真随机数序列近似的性质。在图 6 中我们介绍了几个生成伪随机数的函数。第 1 行导入 Python 的random包。第 2 行代码生成两个随机数,并将它们存储在名为new_list的列表中。其中函数random.random()生成随机数,代码new_list = [random.random() for i in range(2)]使用了 Python 的列表推导(list comprehension)语法。第 3 行将此列表打印输出。注意,每次执行代码打印出的两个随机数会变化,并且连续两次打印出相同数字的概率理论上为 0。图 6 的第二个代码单元中使用了random.choice()函数。这个函数从给定的选项中等概率地选择数据。代码片random.choice(["Heads", "Tails"])将等概率地在“Heads”和“Tails”之间选择。注意,该行代码也使用了列表推导,它会连续执行 3 次选择操作。从图 6 的输出可以看到,三次都选中了“Tails”。

图 6:伪随机数生成

现在,我们用一个简单的例子来说明概率论中著名的大数定理(xxx)。大数定理表明从大量试验中获得的结果的平均值应该接近期望值,并且随着试验次数的增加这个平均值会越来越接近期望值。我们都知道,投掷一个均匀的骰子得到数字 6 的概率是 1/6。我们用图 7 中的 Python 代码来模拟这个实验。第 1 行导入 Python 的random包。第 2 行设置重复试验的次数为 1000。第 3 行将计数器ct初始化为 0。第 4 行是一个循环,它将迭代 1000 次。第 5 行的random.randint(1, 6)随机生成 1 到 6 之间的整数(包括 1 和 6)。然后检查生成的数字是否等于 6;如果是,则转到第 7 行,将计数器ct增加 1。循环迭代 1000 次后,第 8 行打印数字 6 出现的次数与总试验次数之间的比例。图 7 显示该比例为 0.179,略高于期望值 1/6 = 0.1666…。这与期望值的差异还是比较大的。将第 2 行中n的值设置为 10000,再次运行代码并观察打印的输出。很可能你会得到一个更接近期望值的数字(它也可能是一个小于期望值的数字)。不断增加第 2 行中n的值,你将看到输出越来越接近期望值。

图 7:大数定理

虽然大数定理的描述朴实简单,但如果你了解到哪些数学家证明了大数定理或改进了原有的证明,你一定会大吃一惊的。他们包括卡尔达诺、雅各布·伯努利、丹尼尔·伯努利、泊松、切比雪夫、马尔科夫、博雷尔、坎特利、科尔莫戈罗夫、钦钦等。这些都是各自领域的数学巨匠。

目前我们还没有涵盖概率的随机变量、概率分布等主题,它们对开发人工智能和机器学习程序是必不可少的。我们对概率和统计的讨论仍处于初级阶段,在下一篇文章中还会加强这些知识。与此同时,我们将重逢两个老朋友,Pandas 和 TensorFlow。另外我们还将介绍一个与 TensorFlow 关系密切的库 Keras。

(题图:DA/ea8d9b6a-5282-41ad-a84f-3e3815e359fb)

via:

作者: 选题: 译者: 校对:

本文由 原创编译, 荣誉推出

LCTT 译者 :Xiangbin Ma

翻译: 22.0 篇

贡献: 3457 天

2014-07-01

2023-12-18

https://linux.cn/lctt/toknow-gh

欢迎遵照 CC-BY-SA 协议规定转载,

如需转载,请在文章下留言 “ 转载:公众号名称”,

我们将为您添加白名单,授权“ 转载文章时可以修改”。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
马斯克语出惊人,直言不讳:现在只有特斯拉是中国新能源车的对手

马斯克语出惊人,直言不讳:现在只有特斯拉是中国新能源车的对手

小企鹅侃世界
2024-11-20 14:56:32
天生坏种?被判10年的李天一出狱后,最恶心的一幕还是出现了

天生坏种?被判10年的李天一出狱后,最恶心的一幕还是出现了

小啾咪侃侃史
2024-09-07 15:30:03
广东阳江九旬老人遭养老院护工殴打一年?民政局:还不能定性,老人已送医

广东阳江九旬老人遭养老院护工殴打一年?民政局:还不能定性,老人已送医

极目新闻
2024-11-27 19:18:58
爆料!姜昆有德云社股份!侯耀华直播透露二人关系!信息量爆棚!

爆料!姜昆有德云社股份!侯耀华直播透露二人关系!信息量爆棚!

圈里的甜橙子
2024-11-28 20:06:34
不止国内!日本车在东南亚全面溃败,真是打不过中国新能源

不止国内!日本车在东南亚全面溃败,真是打不过中国新能源

娱乐的小灶
2024-11-28 19:46:22
今年冷冬定局?专家预测有强降温和强降雪,今冬是暖冬还是冷冬?

今年冷冬定局?专家预测有强降温和强降雪,今冬是暖冬还是冷冬?

十不该
2024-11-29 00:34:45
官方:前CBA状元区俊炫和榜眼孙思尧将参加日本B联赛全明星

官方:前CBA状元区俊炫和榜眼孙思尧将参加日本B联赛全明星

懂球帝
2024-11-28 16:48:21
过安检能让多少人“身败名裂”?网友分享太炸裂,一看一个不吱声

过安检能让多少人“身败名裂”?网友分享太炸裂,一看一个不吱声

奇特短尾矮袋鼠
2024-06-26 20:24:41
中国终于取消铜材、铝材等59种产品的出口退税了!这下解脱了!

中国终于取消铜材、铝材等59种产品的出口退税了!这下解脱了!

小企鹅侃世界
2024-11-28 13:38:49
5499元不涨价!华为mate70全系价格公布,余承东打脸友商

5499元不涨价!华为mate70全系价格公布,余承东打脸友商

牛斯克
2024-11-26 15:59:39
洛梁市长参观牡丹花展,竟被五名交警围攻,全市震惊

洛梁市长参观牡丹花展,竟被五名交警围攻,全市震惊

真实故事汇
2024-01-29 13:41:11
上海地铁19号线投资金额千亿,拆迁已经开始,赔偿费用惊人

上海地铁19号线投资金额千亿,拆迁已经开始,赔偿费用惊人

大宗看萌宠
2024-11-29 04:17:22
娱乐圈最大的笑话,一个连走路都费劲的歌手,77岁还开演唱会捞金

娱乐圈最大的笑话,一个连走路都费劲的歌手,77岁还开演唱会捞金

聚合大娱
2024-11-28 13:59:17
杨虎城之女在大漠失踪,被发现时10指插在雪里,怀里揣几张图纸

杨虎城之女在大漠失踪,被发现时10指插在雪里,怀里揣几张图纸

旧时楼台月
2024-11-28 18:05:00
为何说新西兰没几个中国人待得住?网友:待了几个月,都快疯了

为何说新西兰没几个中国人待得住?网友:待了几个月,都快疯了

暮云晨记
2024-10-11 08:25:02
穆里尼奥的布拉格之夜:我带来了15名战士,他们来可不是为了旅游

穆里尼奥的布拉格之夜:我带来了15名战士,他们来可不是为了旅游

穆里尼奥主义者
2024-11-28 13:00:37
古劲松被查!2009年至今,7位“一把手”中,已有6位被查

古劲松被查!2009年至今,7位“一把手”中,已有6位被查

上观新闻
2024-11-28 13:58:08
美国宣布: 高端医疗器械零部件实施出口管制,网友: 可以省检查费

美国宣布: 高端医疗器械零部件实施出口管制,网友: 可以省检查费

现代春秋
2024-11-27 13:35:49
古代专设“通房丫鬟”,主子同房要守床边,近身伺候才是重头戏!

古代专设“通房丫鬟”,主子同房要守床边,近身伺候才是重头戏!

刀刃历史
2023-10-24 20:08:15
拍写真,没有人能拍得过阿朵,各种奇葩造型你想都不敢想

拍写真,没有人能拍得过阿朵,各种奇葩造型你想都不敢想

南城无双
2024-11-28 00:24:46
2024-11-29 05:47:00
Linux
Linux
Linux 中国开源社区
8016文章数 73120关注度
往期回顾 全部

科技要闻

讽刺谁?特斯拉称供应链付款周期缩至90天

头条要闻

大众宣布将出售其在新疆的业务 外交部回应

头条要闻

大众宣布将出售其在新疆的业务 外交部回应

体育要闻

开场48秒破门,曼联空欢喜了:4分钟连丢2球,纸糊防线,新帅无语

娱乐要闻

冯绍峰新恋情曝出!女方第一时间发文辟谣

财经要闻

洪灏:不要误解增量政策 不是数越大越好

汽车要闻

ID. CODE概念车/探岳L领衔 大众汽车携25款车亮相

态度原创

时尚
教育
手机
亲子
军事航空

蛐蛐权志龙,成为权志龙

教育要闻

关于三角运算的一道证明题,怎么证明两边相等?

手机要闻

小米 REDMI K80 系列手机搭载汇顶超声波指纹方案

亲子要闻

萌娃望着水沟跃跃欲试,舅舅已经完美预判,娃:我被制裁了

军事要闻

涉嫌严重违纪 中央军委委员苗华被停职检查

无障碍浏览 进入关怀版