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

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

系列书介绍

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

本系列图书以一种数学上易于理解的方式讲授人工智能相关概念,这也是本系列图书英文书名中“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