没有良好数学基础,应该怎样学习人工智能?

人工智能(Artificial Intelligence,AI)是一个覆盖许多下级学科的宽泛领域,本系列图书涵盖了当中的部分特定主题,而本书则是系列书的第1卷。接下来几小节将会对本系列图书和本卷一一进行介绍。

系列书介绍

本系列图书将向读者介绍人工智能领域的各种热门主题。由于人工智能是一个庞大而繁杂的领域,并且其涵盖的内容与日俱增,任何一本书都只可能专注于特定领域,因此本书也无意成为一本巨细靡遗的人工智能教程。

本系列图书以一种数学上易于理解的方式讲授人工智能相关概念,这也是本系列图书英文书名中“for Human”的含义。此外:

  • 本系列图书假定读者精通至少一门编程语言;
  • 本系列图书假定读者对大学代数课程有基本的了解;
  • 本系列图书将使用微积分、线性代数、微分方程与统计学中的相关概念和公式;
  • 但是在解释上述第3点的相关内容时,本系列图书并不会假定读者对上述内容十分熟练;
  • 所有概念都不仅有数学公式,还附有编程实例和伪代码。

本系列图书的目标读者是精通至少一门编程语言的程序员,且书中示例均已改写为多种编程语言的形式。

编程语言

人工智能算法 卷1 基础算法中只是给出了伪代码,而具体示例代码则以Java、C#、R、C/C++和Python等语言形式提供,此外还有社区支持维护的Scala语言版本。社区成员们正在努力将示例代码转换为更多其他的编程语言,说不定当你拿到本书的时候,也有了你最喜爱的编程语言的代码示例版本。访问本书的GitHub开源仓库可以获取更多信息,同时我们也鼓励社区协作来帮我们完成代码改写和移植工作。如果你也希望加入协作,我们将不胜感激。更多相关流程信息可以参见本书附录A。

系列书出版计划

本系列图书的写作计划:

  • 卷0:AI数学入门;
  • 卷1:基础算法;
  • 卷2:自然启发算法;
  • 卷3:神经网络;
  • 卷4:支持向量机;
  • 卷5:概率学习。

卷1~卷5将会依次出版;而卷0则会作为“提前计划好的前传”,在本系列图书的出版接近尾声之际完成。卷1~卷5卷会讲解必要的数学概念,卷0则会专注于对这些概念进行回顾,并在此基础上进行一定的拓展。

卷0既可以是阅读本系列书的开端,也可以作为系列图书的总结;卷1的阅读顺序最好在后续几卷之前;卷2的部分内容对读者理解卷3的内容又有所助益。图1展示了我们建议的合理的阅读顺序。

人工智能算法 卷1 基础算法

杰弗瑞·希顿(Jeffery Heaton) 著,李尔超 译

  • AI算法入门教程书籍,人人都能读懂的人工智能书
  • 全彩印刷,实例讲解易于理解的人工智能基础算法
  • 多种语言版本示例代码、丰富的在线资源,方便动手实战与拓展学习

本系列图书的每一卷均可独立阅读,也可作为系列图书整体阅读。但需要注意的是,卷1中列出了后续各卷所使用的各种基本算法,并且这些算法本身既是基础,也不失实用性。

 

图1 卷目阅读流程

基本算法介绍

欲建高楼,必重基础。本书会讲授诸如维度法、距离度量算法、聚类算法、误差计算、爬山算法、线性回归和离散学习这样的人工智能算法。这些算法对应于数据中特定模式的处理和识别,同时也是像亚马逊(Amazon)和网飞(Netflix)这类网站中,各种推荐系统背后的逻辑。

这些算法不仅是后续各卷所介绍的算法的基础,其本身也大有用处。在本书中,这些算法的讲解均附以可操作性强的数值计算示例。

卷1内容结构

第1章“AI入门”,介绍了本书或系列图书其他各卷中会用到的部分人工智能相关的基本概念。大多数人工智能算法是接受一个输入数组,从而产生一个输出数组——人工智能所能解决的问题通常被归为此类模型。而在算法模型内部,还需要有额外的数组来存储长短期记忆。算法的训练实际上就是通过调整长期记忆的值来产生对应于给定输入的预期输出的一个过程。

第2章“数据归一化”,描述了大多数人工智能算法对原始数据的预处理流程。数据需要以一个输入数组的形式传递给算法,但实践中获取到的数据并不一定都是数值型的,也有一些是类别信息,比如颜色、形状、性别、物种抑或其他一些非数值型的描述性特征。此外,就算是现成的数值型数据,也必须在一定范围内归一化,并且通常是归一化到 (-1, 1) 区间。

第3章“距离度量”,展示了我们比较数据的方法,说起来这种比较方法其实跟在地图上标识出两点间的距离十分相像。人工智能通常以数值数组的形式处理数据,包括输入数据、输出数据、长期记忆、短期记忆和其他很多数据都是如此,这些数组很多时候也被称作“向量”。我们可以像计算两点间距离一样,计算出两个数据之间的差异(二维和三维的点可以分别看作长度为二和三的向量)。当然,在人工智能领域,我们经常要处理的是更高维空间中的数据。

第4章“随机数生成”,讲解了人工智能算法中随机数的生成和使用。本章由关于均匀随机数和正态随机数的讨论切入——出现这种不同的根源在于有的时候算法要求随机数具有等可能性,而有的时候又需要它们服从某种既定的分布。此外本章还讨论了生成随机数的方法。

第5章“K均值聚类算法”,详述了将数据按相似度分类的方法。K均值算法本身可以用来将数据按共性分组,同时也可以被用于组成更复杂的算法——比如遗传算法就利用K均值算法对种群按特征归类,各路网商也利用聚类算法划分顾客,依照同类型顾客的消费习惯调整销售策略。

第6章“误差计算”,演示了评估人工智能算法效果的方法。误差计算的过程由一个用以评估算法最终效果的评分函数执行,其结果决定了算法的效果。一类常用的评分函数只需要给定输入向量和预期输出向量,也就是所谓的“训练数据”,算法的效果则是由实际输出与预期输出间的差异决定的。

第7章“迈向机器学习”,概述了可以从数据中学习特征来优化结果的简单机器学习算法。大多数人工智能算法是用权值向量将输入向量转化为期望的输出向量,这些权值向量构成了算法的长期记忆,“训练”就是一个调整长期记忆以产生预期输出的过程。本章会演示几个具有学习能力的简单模型的构建方法,也会介绍一些简单但却行之有效的训练算法,能够调整这种长期记忆(权重向量)并优化输出结果,简单随机漫步和爬山算法正是其中之二。

第8章“优化训练”,在前面章节的基础上进行了一定的拓展,介绍了像模拟退火算法和Nelder-Mead法[2]这样用来快速优化人工智能模型权重的算法。本章还说明了如何通过一定的调整,将这些优化算法应用于之前提到过的部分模型。

第9章“离散优化”,解释了如何优化非数值型的类别型数据。并非所有优化问题都是数值型的,还有离散型和类别型问题,比如背包问题和旅行商问题。本章将说明模拟退火算法可以用于处理这两个问题,并且该算法既适用于连续的数值型问题,也适用于离散的类别型问题。

第10章“线性回归”,讲解了如何用线性和非线性方程来学习趋势并做出预测。本章将介绍简单线性回归,并演示如何用它来拟合数据为线性模型。此外还将介绍可以拟合非线性数据的广义线性模型(General Linear Model,GLM)。

目录结构:

第 1 章 AI 入门 1
1.1 与人类大脑的联系 2
1.2 对问题建模 6
1.3 对输入/ 输出建模 11
1.4 理解训练过程 21
1.5 本章小结 23

第 2 章 数据归一化 25
2.1 计量尺度 25
2.2 观测值归一化 29
2.3 其他归一化方法 38
2.4 本章小结 45

第3 章 距离度量 47
3.1 理解向量 47
3.2 计算向量距离 49
3.3 光学字符识别 54
3.4 本章小结 57

第4 章 随机数生成 59
4.1 伪随机数生成算法的概念 60
4.2 随机数分布类型 61
4.3 轮盘模拟法 64
4.4 伪随机数生成算法 65
4.5 用蒙特卡洛方法估算PI 值 72
4.6 本章小结 74

第5 章 K 均值聚类算法 75
5.1 理解训练集 77
5.2 理解K 均值算法 80
5.3 K 均值算法的初始化 84
5.4 本章小结 90

第6 章 误差计算 91
6.1 方差和误差 92
6.2 均方根误差 93
6.3 均方误差 93
6.4 误差计算方法的比较 94
6.5 本章小结 96

第7 章 迈向机器学习 97
7.1 多项式系数 99
7.2 训练入门 101
7.3 径向基函数网络 103
7.4 本章小结 115

第8 章 优化训练 117
8.1 爬山算法 117
8.2 模拟退火算法 121
8.3 Nelder-Mead 算法 128
8.4 Nelder-Mead 算法的终止条件 133
8.5 本章小结 134

第9 章 离散优化 135
9.1 旅行商问题 135
9.2 环形旅行商问题 138
9.3 背包问题 139
9.4 本章小结 143

第 10 章 线性回归 144
10.1 线性回归 144
10.2 广义线性模型 152
10.3 本章小结 155

附录A 示例代码使用说明 157
A.1 “读懂人工智能”系列书简介 157
A.2 保持更新 157
A.3 获取示例代码 158
A.4 示例代码的内容 159
A.5 如何为项目做贡献 163
参考资料 164

发布了475 篇原创文章 · 获赞 275 · 访问量 85万+
展开阅读全文

没有更多推荐了,返回首页

分享到微信朋友圈

×

扫一扫,手机浏览