神经网络设计(原书第2版)

更多详情

内容简介: 本书是一本易学易懂的神经网络教材,主要讨论网络结构、学习规则、训练技巧和工程应用,紧紧围绕“设计”这一视角组织材料和展开讲解,强调基本原理和训练方法,概念清晰,数学论述严谨,包含丰富的实例和练习,并配有课件和MATLAB演示程序。
本书要求读者具备线性代数、概率论和微分方程的基础知识,可作为高年级本科生或一年级研究生的神经网络导论课程教材,也可供有兴趣的读者自学或参考。

目录: 出版者的话
译者序
前言
第1章 引言1
1.1 目标1
1.2 历史1
1.3 应用3
1.4 生物学启示4
1.5 扩展阅读5
第2章 神经元模型及网络结构8
2.1 目标8
2.2 理论与例子8
2.2.1 记号8
2.2.2 神经元模型8
2.2.3 网络结构11
2.3 小结15
2.4 例题17
2.5 结束语18
2.6 习题18
第3章 一个说明性的实例20
3.1 目标20
3.2 理论与例子20
3.2.1 问题描述20
3.2.2 感知机21
3.2.3 Hamming网络23
3.2.4 Hopfield网络26
3.3 结束语27
3.4 习题28
第4章 感知机学习规则31
4.1 目标31
4.2 理论与例子31
4.2.1 学习规则31
4.2.2 感知机结构32
4.2.3 感知机的学习规则35
4.2.4 收敛性证明39
4.3 小结41
4.4 例题42
4.5 结束语48
4.6 扩展阅读49
4.7 习题49
第5章 信号与权值向量空间53
5.1 目标53
5.2 理论与例子53
5.2.1 线性向量空间53
5.2.2 线性无关54
5.2.3 生成空间55
5.2.4 内积56
5.2.5 范数56
5.2.6 正交性56
5.2.7 向量展开式58
5.3 小结60
5.4 例题61
5.5 结束语66
5.6 扩展阅读67
5.7 习题67
第6章 神经网络中的线性变换71
6.1 目标71
6.2 理论与例子71
6.2.1 线性变换71
6.2.2 矩阵表示72
6.2.3 基变换74
6.2.4 特征值与特征向量76
6.3 小结79
6.4 例题79
6.5 结束语85
6.6 扩展阅读85
6.7 习题86
第7章 有监督的Hebb学习90
7.1 目标90
7.2 理论与例子90
7.2.1 线性联想器91
7.2.2 Hebb规则91
7.2.3 伪逆规则93
7.2.4 应用95
7.2.5 Hebb学习的变形96
7.3 小结97
7.4 例题98
7.5 结束语105
7.6 扩展阅读105
7.7 习题106
第8章 性能曲面和最优点108
8.1 目标108
8.2 理论与例子108
8.2.1 泰勒级数108
8.2.2 方向导数110
8.2.3 极小点111
8.2.4 优化的必要条件113
8.2.5 二次函数114
8.3 小结119
8.4 例题120
8.5 结束语127
8.6 扩展阅读127
8.7 习题128
第9章 性能优化131
9.1 目标131
9.2 理论与例子131
9.2.1 最速下降法131
9.2.2 牛顿法136
9.2.3 共轭梯度法139
9.3 小结142
9.4 例题142
9.5 结束语150
9.6 扩展阅读150
9.7 习题151
第10章 Widrow-Hoff学习153
10.1 目标153
10.2 理论与例子153
10.2.1 ADALINE网络153
10.2.2 均方误差154
10.2.3 LMS算法156
10.2.4 收敛性分析157
10.2.5 自适应滤波器159
10.3 小结164
10.4 例题165
10.5 结束语174
10.6 扩展阅读174
10.7 习题175
第11章 反向传播179
11.1 目标179
11.2 理论与例子179
11.2.1 多层感知机179
11.2.2 反向传播算法182
11.2.3 例子186
11.2.4 批量训练和增量训练188
11.2.5 使用反向传播188
11.3 小结192
11.4 例题193
11.5 结束语201
11.6 扩展阅读201
11.7 习题202
第12章 反向传播算法的变形210
12.1 目标210
12.2 理论与例子210
12.2.1 反向传播算法的缺点210
12.2.2 反向传播算法的启发式改进215
12.2.3 数值优化技术218
12.3 小结226
12.4 例题228
12.5 结束语235
12.6 扩展阅读236
12.7 习题237
第13章 泛化241
13.1 目标241
13.2 理论与例子241
13.2.1 问题描述242
13.2.2 提升泛化能力的方法243
13.3 小结257
13.4 例题258
13.5 结束语265
13.6 扩展阅读265
13.7 习题266
第14章 动态网络270
14.1 目标270
14.2 理论与例子270
14.2.1 分层数字动态网络271
14.2.2 动态学习的基本原则273
14.2.3 动态反向传播276
14.3 小结288
14.4 例题290
14.5 结束语296
14.6 扩展阅读296
14.7 习题297
第15章 竞争网络302
15.1 目标302
15.2 理论与例子302
15.2.1 Hamming网络303
15.2.2 竞争层304
15.2.3 生物学中的竞争层307
15.2.4 自组织特征图308
15.2.5 学习向量量化310
15.3 小结314
15.4 例题315
15.5 结束语322
15.6 扩展阅读322
15.7 习题323
第16章 径向基网络329
16.1 目标329
16.2 理论与例子329
16.2.1 径向基网络329
16.2.2 训练RBF网络333
16.3 小结343
16.4 例题344
16.5 结束语347
16.6 扩展阅读347
16.7 习题348
第17章 实际训练问题352
17.1 目标352
17.2 理论与例子352
17.2.1 训练前的步骤353
17.2.2 网络训练359
17.2.3 训练结果分析362
17.3 结束语368
17.4 扩展阅读368
第18章 实例研究1:函数逼近370
18.1 目标370
18.2 理论与例子370
18.2.1 智能传感系统描述370
18.2.2 数据收集与预处理371
18.2.3 网络结构选择372
18.2.4 网络训练372
18.2.5 验证373
18.2.6 数据集374
18.3 结束语375
18.4 扩展阅读375
第19章 实例研究2:概率估计376
19.1 目标376
19.2 理论与例子376
19.2.1 CVD过程描述376
19.2.2 数据收集与预处理377
19.2.3 网络结构选择378
19.2.4 网络训练379
19.2.5 验证381
19.2.6 数据集382
19.3 结束语382
19.4 扩展阅读383
第20章 实例研究3:模式识别384
20.1 目标384
20.2 理论与例子384
20.2.1 心肌梗死识别问题描述384
20.2.2 数据收集与预处理384
20.2.3 网络结构选择387
20.2.4 网络训练387
20.2.5 验证388
20.2.6 数据集389
20.3 结束语390
20.4 扩展阅读390
第21章 实例研究4:聚类391
21.1 目标391
21.2 理论与例子391
21.2.1 森林覆盖问题描述391
21.2.2 数据收集与预处理392
21.2.3 网络结构选择392
21.2.4 网络训练393
21.2.5 验证394
21.2.6 数据集396
21.3 结束语396
21.4 扩展阅读396
第22章 实例研究5:预测398
22.1 目标398
22.2 理论与例子398
22.2.1 磁悬浮系统描述398
22.2.2 数据收集与预处理399
22.2.3 网络结构选择399
22.2.4 网络训练401
22.2.5 验证402
22.2.6 数据集404
22.3 结束语404
22.4 扩展阅读405
附录A 参考文献406
附录B 记号413
附录C 软件417
索引420

译者序: 多年前,因要给研究生讲授神经网络这门课,我选择了本书第1版作为教材。当时神经网络的书五花八门,要从众多书中选择一本合适的教材并非易事。最终选择这本书的一个重要原因是:本书是难得的数学上比较严谨、完整的神经网络教科书。我们曾用本书为多届研究生讲授神经网络,许多学生反映该书易学易懂。
本书内容涵盖了神经网络领域的许多基础理论。除了严谨的数学论述外,本书另一个重要特点是从神经网络设计的角度阐述方法,使得学生能够快速理解神经网络的本质。书中提供了大量的例题解析、课后练习等。此外,书中还叙述了一些神经网络的相关历史,读来有趣。
感谢机械工业出版社邀请我们翻译本书第2版。和第1版相比,第2版增加了不少新的内容。同时,第1版优秀的中译本也为我们翻译第2版提供了非常有价值的参考。在此,我们要向第1版的译者致以深深的感谢!
参加本书翻译的人员有四川大学章毅、陈媛媛、贺喆南、郭际香、于佳丽、彭玺、陈盈科、张海仙、罗川、吕建成、张蕾、彭德中、桑永胜、陈杰、屈鸿、毛华,以及实验室许多在读博士生如高振涛、戚晓峰等。本书内容较多,翻译时间仓促,难免有不足之处,恳请读者批评指正!
译者
2017年12月于成都

前言: 本书介绍基本的神经网络结构和学习规则,重点阐述网络的数学分析、训练方法,以及网络在非线性回归、模式识别、信号处理、数据挖掘和控制系统等领域实际工程问题中的应用。
我们尽最大努力以清晰和一致的方式安排本书内容,以期本书易懂易用。书中使用了许多例子来解释每个讨论的主题。在书的最后几章,我们提供了一些学习实例,以展示神经网络在实际应用中可能遇到的问题。
由于本书是关于神经网络设计的,因此在内容的选择上依据了两个原则。首先,我们希望提供最有用且实际的神经网络结构、学习规则和训练技巧。其次,我们希望本书能够自成体系,并且章节间的过渡自然流畅。为了实现这个目的,我们将有关应用数学的各种介绍材料和章节放在了需要用到这些材料的特定主题之前。简言之,一些内容的选择是因为它们对神经网络的实际应用有重要作用,而另一些内容的选择则是由于它们对解释神经网络的运行机制有重要意义。
我们省略了许多本可以包含的内容。例如,我们没有把本书写成一个涵盖所有已知神经网络结构和学习规则的目录或纲要,而是集中精力介绍基础概念。其次,我们没有讨论神经网络的实现技术,如VLSI、光学器件和并行计算机等。再有,我们没有提供神经网络的生物学和心理学方面的基础知识。虽然这些内容都是重要的,不过,我们希望重点讨论那些我们认为对神经网络设计最有用的内容,并进行深入阐释。
本书可作为高年级本科生或一年级研究生一个学期的神经网络导论课程教材(也适合短期课程、自学或参考)。读者需要具有一定的线性代数、概率论和微分方程的基础知识。
书中每章按如下方式分节:目标、理论与例子、小结、例题、结束语、扩展阅读和习题。理论与例子是每章的主要部分,包含基本思想的发展以及例子解析。小结部分提供一个方便的列表,包含重要方程和概念,以易于工程参考。每章将大约1/3的篇幅用在例题部分,为所有关键的概念提供详细的例题解析。
下页的框图说明了各章之间的依赖关系。
第1~6章涵盖后面所有章节需要的基本概念。第1章是本书的引言,简要介绍神经网络的历史背景和一些生物学基础。第2章描述基本的神经网络结构,这一章引入的记号体系将贯穿全书。第3章给出一个简单的模式识别问题,并展示该问题可以分别由三类不同的神经网络来解决。这三类网络是本书后面的网络类型的代表。此外,这里的模式识别问题也提供了本书解决问题的一般思路。
本书主要专注于训练神经网络完成各种任务的方法。在第4章中,我们介绍学习算法并给出第一个实际算法:感知机学习规则。感知机网络虽然有其本质的局限性,但却具有重要的历史意义,并且可作为一个有用的工具来引入后面章节中强大神经网络的关键概念。
本书的主要目的之一是阐述神经网络的工作原理。为此,我们将神经网络的内容和一些重要的辅助材料组织在一起。例如,在第5、6章中提供了线性代数的相关材料,这是理解神经网络所需的核心数学知识。这两章讨论的概念将广泛用于本书后面章节。
第7章和第15章阐述主要受生物学和心理学启发的神经网络及其学习规则。它们分为两类:联想网络和竞争网络。联想网络安排在第7章,而竞争网络安排在第15章。
第8~14章以及第16章论述一类称为性能学习的方法,该方法用于训练网络以优化其性能。第8、9章介绍性能学习的基本概念。第10~13章中将这些概念用于逐步强大和复杂的前馈神经网络。第14章将这些概念用于动态神经网络。在第16章中,这些概念则被用于径向基神经网络,这类网络也用到了来自竞争学习的概念。
第17~22章和前面的章节不同。前面的章节主要关注每种网络的基础理论和相应的学习规则,要点是理解核心概念。在第17~22章中,我们讨论神经网络在实际应用中的具体问题。第17章阐述许多实际的训练技巧,第18~22章给出一系列实例研究,这些实例包括将神经网络用于函数逼近、概率估计、模式识别、聚类和预测。
软件
MATLAB软件并非是使用本书所必需的,上机练习可以用任何编程语言来完成。另外,本书提供的神经网络设计演示(Neural Network Design Demonstrations)程序虽然有助于理解书中内容,但非关键所在。
不过,我们还是采用MATLAB软件包来提供本书的辅助材料。该软件使用广泛,而且由于它的矩阵/向量表示法和图形化显示,为神经网络实验提供了方便的环境。我们用两种不同的方法使用MATLAB。第一种,我们为读者准备了一些用MATLAB去完成的练习。神经网络的一些重要特性仅在大型问题中才能体现出来,这需要大量计算,不适合手工演算。利用MATLAB可以快速实现神经网络算法,也可以方便地测试大型问题。(如果没有MATLAB软件,可以使用任何其他编程语言来完成这些练习。)
第二种使用MATLAB的方法是利用Neural Network Design Demonstrations软件,你可以从网站hagan.okstate.edu/nnd.html下载它。这些交互式的演示程序解释了每章中的重要概念。把这个软件加载到你计算机的MATLAB目录下之后(或者放在MATLAB路径上),就可在MATLAB提示符下通过输入nnd命令进行调用。所有的演示程序都可以方便地由一个主菜单访问。
这些演示需要2010a或更高版本的MATLAB,也可使用MATLAB学生版。附录C给出了关于这个演示软件的具体信息。
课件
为了帮助使用本书的教师,我们为本书配备了一套课件。每章的课件(PPT格式或者PDF格式)可以从网站hagan.okstate.edu/nnd.html下载。
关于本书软件和课件:本书网站由作者维护,网站上提供的英文电子书版本比中文版多5章,因此软件和课件中涉及的章号与中文版章号不完全对应。例如,书中第15章的MATLAB实验用到的是网站上第16章的演示程序。有需要的读者请及时关注网站更新,根据实际内容灵活使用相关资源。——编辑注
致谢
我们对审稿人致以深切的感谢!他们花费了大量时间审阅本书全部或部分书稿,并测试了本书软件的各个版本。我们要特别感谢Canterbury大学的John Andreae教授、AT&T的Dan Foresee、Oklahoma州立大学的Carl Latino博士、MCI的Jack Hagan、SRI的Gerry Andeen博士以及Idaho大学的Joan Miller和Margie Jenks。来自Oklahoma州立大学ECEN 5733、Canterbury大学ENEL 621、法国国立应用科学学院INSA 0506和Colorado大学ECE 5120课程班的研究生也提出了许多建设性意见,他们阅读了本书初稿,测试了软件,并在过去几年中提出了许多建议以进一步改进本书。我们还要感谢为本书提供过许多建议的匿名审稿人。
感谢Peter Gough博士邀请我们加入位于新西兰Christchurch的Canterbury大学电气电子工程系,感谢Andre Titli博士邀请我们加入位于法国Toulouse的法国国家科学研究中心的系统分析与体系结构实验室。Oklahoma州立大学的学术休假和Idaho大学的一年假期给了我们写作本书的时间。感谢Texas Instruments、Halliburton、Cummins、Amgen以及NSF对我们在神经网络研究上的资助。感谢The Mathworks许可我们使用Neural Network Toolbox中的材料。