《自己动手写神经网络》(Java实现)葛一鸣【扫描版_PDF电子书_推荐】
书名:自己动手写神经网络 作者:葛一鸣 出版社:人民邮电出版社 译者:无 出版日期:2017-9 页数:182 ISBN:9787115462015 |
0.0 豆瓣短评 |
全网资源sm.nayona.cn |
内容简介:
《自己动手写神经网络》讲解通俗易懂,使用简单的语言描述人工神经网络的原理,并力求以具体实现与应用为导向,除了理论介绍外,每一章节的应用和实践都有具体的实例实现,让读者达到学以致用。《自己动手写神经网络》分为11章,主要内容为:简单的人工神经网络模型和理论应用;介绍了一个基于Java的人工神经网络框架Neuroph;介绍了基于Neuroph开发一个简单的人工神经网络系统—感知机;介绍了ADALINE网络以及使用Neuroph实现ADALINE神经网络;介绍了BP神经网络的基本原理和具体实现;介绍了BP神经网络的具体实践应用;介绍了Hopfield网络的原理、实践和应用;介绍了双向联想网络BAM的原理、实践和应用;介绍了竞争学习网络,特别是SOM网络以及相关算法与实现;介绍了PCA方法以及与PCA方法等价的PCA神经网络。 《自己动手写神经网络》适合以下类型的读者:对神经网络感兴趣,期望可以初步了解神经网络原理的读者;有一定编程经验,期望学习和掌握神经网络的程序员;期望对神经网络进行实际应用的工程人员;任何一名神经网络爱好者。
作者简介:
葛一鸣,浙江工业大学硕士,国家认证系统分析师,Oracle OCP。长期从事Java软件开发工作,对Java技术、人工智能、神经网络、数据挖掘等技术有浓厚兴趣。 现着有《自己动手写神经网络》《Java程序性能优化》《实战Java虚拟机》《实战Java高并发程序设计》。
目 录:
第1章 人工神经网络概述 1
1.1 人工智能与神经网络简史 1
1.1.1 人工智能的诞生:1943~1956年 2
1.1.2 黄金发展期:1956~1974年 3
1.1.3 第一次低谷期:1974~1980年 4
1.1.4 繁荣期:1980~1987年 5
1.1.5 第二次低谷期:1987~1993年 5
1.1.6 再次崛起:1993年至今 6
1.2 生物学研究对神经网络的影响 6
1.3 大数据对人工智能的影响 8
1.4 计算机硬件发展对人工智能的影响 9
1.5 计算机软件发展对人工智能的影响 9
1.6 人工智能的广泛应用 10
第2章 人工神经元模型与感知机 12
2.1 人工神经元组成要素 12
2.1.1 人工神经元的基本结构 12
2.1.2 传输函数类型 13
2.2 感知机 15
2.2.1 使用感知机识别水果 15
2.2.2 让感知机记忆逻辑与 17
2.2.3 感知机的学习算法 18
2.3 总结 20
第3章 神经网络框架Neuroph介绍 21
3.1 Neuroph是什么 21
3.2 Neuroph系统的构成 22
3.3 Neuroph Studio的功能展示 22
3.3.1 使用Neuroph Studio构造感知机处理逻辑与 23
3.3.2 使用Neuroph Studio进行动物分类实验 28
3.4 Neuroph Library架构分析 34
3.4.1 Neuroph Library核心架构 35
3.4.2 Neuron神经元 35
3.4.3 Layer层 36
3.4.4 NeuralNetwork神经网络 37
3.4.5 LearningRule学习算法 37
3.4.6 DataSet和DataSetRow 38
3.5 Neuroph开发环境搭建 38
3.5.1 基础平台——Java介绍以及安装 39
3.5.2 包管理工具——Maven安装 39
3.5.3 开发工具——Eclipse安装 40
3.6 总结 41
第4章 使用Java实现感知机及其应用 42
4.1 第一个Neuroph程序——使用感知机记忆逻辑与 42
4.1.1 创建感知机网络 42
4.1.2 理解输入神经元InputNeuron 45
4.1.3 理解贝叶斯神经元BiasNeuron 45
4.1.4 step传输函数是如何实现的 46
4.2 让感知机理解坐标系统 47
4.2.1 感知机网络的设计 47
4.2.2 感知机网络的实现 47
4.3 感知机学习算法与Java实现 49
4.3.1 感知机学习规则的实现 50
4.3.2 一个自学习的感知机实现——SimplePerceptron 51
4.3.3 小试牛刀——SimplePerceptron学习逻辑与 52
4.3.4 训练何时停止 53
4.4 再看坐标点位置识别 55
4.5 感知机的极限——异或问题 57
4.6 总结 58
第5章 ADALINE网络及其应用 59
5.1 ADALINE网络与LMS算法 59
5.2 ADALINE网络的Java实现 60
5.3 使用ADALINE网络识别数字 62
5.3.1 印刷体数字识别问题概述 62
5.3.2 代码实现 63
5.3.3 加入噪点后再尝试 66
5.4 总结 67
第6章 多层感知机和BP学习算法 68
6.1 多层感知机的结构与简单实现 68
6.1.1 多层感知机结构的提出 68
6.1.2 定义多层感知机处理异或问题 69
6.1.3 多层感知机的简单实现 71
6.2 多层感知机学习算法——BP学习算法 74
6.2.1 BP学习算法理论介绍 74
6.2.2 BP学习算法与BP神经网络的实现 77
6.3 BP神经网络细节优化 84
6.3.1 随机化权值的方式 84
6.3.2 Sigmoid函数导数的探讨 86
6.4 带着算法重回异或问题 87
6.5 总结 89
第7章 BP神经网络的案例 90
7.1 奇偶性判别问题 90
7.1.1 问题描述 90
7.1.2 代码实现 90
7.2 函数逼近 94
7.2.1 问题描述 94
7.2.2 代码实现 94
7.3 动物分类 99
7.3.1 问题描述 99
7.3.2 问题分析 100
7.3.3 代码实现 102
7.4 简单的语音识别 104
7.4.1 问题描述 104
7.4.2 代码实现 104
7.5 MNIST手写体识别 106
7.5.1 问题描述 106
7.5.2 问题分析 108
7.5.3 代码实现 108
7.6 总结 112
第8章 Hopfield神经网络 113
8.1 Hopfield神经网络的结构和原理 113
8.1.1 Hopfield网络的结构 113
8.1.2 网络吸引子 114
8.1.3 网络权值的设计 115
8.2 网络的存储容量 117
8.3 Hopfield神经网络的Java实现 118
8.3.1 Hopfield网络构造函数 118
8.3.2 Hopfield网络的神经及其特点 119
8.3.3 Hopfield网络学习算法 120
8.4 Hopfield网络还原带有噪点的字符 121
8.5 Hopfield网络的自联想案例 123
8.6 总结 126
第9章 BAM双向联想记忆网络 127
9.1 BAM网络的结构与原理 127
9.2 BAM网络的学习算法 128
9.3 使用Java实现BAM网络 129
9.3.1 BAM网络的静态结构 129
9.3.2 BAM网络学习算法 130
9.3.3 BAM网络的运行 131
9.4 BAM网络的应用 133
9.4.1 场景描述——人名与电话 133
9.4.2 数据编码设计 134
9.4.3 具体实现 136
9.5 总结 140
第10章 竞争学习网络 141
10.1 竞争学习的基本原理 141
10.1.1 向量的相似性 142
10.1.2 竞争学习规则 143
10.2 自组织映射网络SOM的原理 144
10.2.1 SOM网络的生物学意义 144
10.2.2 SOM网络的结构 144
10.2.3 SOM网络的运行原理 145
10.2.4 有关初始化权重的问题 146
10.3 SOM网络的Java实现 147
10.3.1 SOM网络拓扑结构的实现 147
10.3.2 SOM网络的初始权值设置 150
10.3.3 Kohonen算法的实现 153
10.4 SOM网络的应用 157
10.4.1 使用SOM网络进行动物聚类 158
10.4.2 使用SOM网络进行城市聚类 161
10.5 总结 164
第11章 PCA神经网络 165
11.1 PCA方法概述 165
11.1.1 PCA方法数学背景 166
11.1.2 PCA计算示例 167
11.2 PCA神经网络学习算法 170
11.2.1 Oja算法 170
11.2.2 Sanger算法 171
11.3 基于Neuroph实现PCA网络 172
11.3.1 Oja算法的实现 172
11.3.2 Sanger算法的实现 177
11.4 使用PCA网络预处理MNIST手写体数据集 178
11.5 总结 181
浏览器不支持脚本!
有需要联系v;zhanxzhanx
摘要:《自己动手写神经网络》(Java实现)葛一鸣【扫描版_PDF电子书_推荐】_计算机类 是一本关于神经网络的实现的书籍。本文将从四个方面对该书进行详细阐述。首先介绍了该书的特点和背景,然后讨论了书中对神经网络的基本原理的介绍。接着分析了书中的实现方法和步骤,并给出了实例演示。最后对全文进行总结归纳,总结了该书的优点和不足之处。
1、特点和背景
《自己动手写神经网络》(Java实现)葛一鸣【扫描版_PDF电子书_推荐】_计算机类 是一本介绍神经网络实现的实用书籍。作者葛一鸣是一位计算机领域的专家,对神经网络有深入的研究和实践经验。该书主要针对Java语言实现神经网络的方法和技巧进行了详细的介绍。
该书的背景是神经网络在计算机领域中的应用越来越广泛。神经网络是一种模拟人脑神经系统工作原理的计算模型,具有自学习和适应性强的特点。在机器学习、图像识别、自然语言处理等领域都有广泛的应用。
该书的特点是注重实践,通过实例演示的方式帮助读者理解神经网络的基本原理和实现方法。同时,该书使用Java语言进行实现,具有跨平台的特点,适用于不同的应用场景。
2、基本原理
该书首先介绍了神经网络的基本原理,包括神经元模型、网络拓扑结构、激活函数等。通过对神经元的抽象和模拟,实现了神经网络的信息传递和学习过程。
在神经网络的学习过程中,该书详细介绍了反向传播算法和梯度下降法等常用的训练方法。通过调整神经网络的权重和偏置,使得神经网络能够对输入数据进行准确的预测和分类。
同时,该书还介绍了一些常见的优化技巧和调参方法,如正则化、批量归一化等,以提高神经网络的性能和泛化能力。
3、实现方法和步骤
该书通过实例演示的方式,详细介绍了实现神经网络的方法和步骤。首先,介绍了如何构建神经网络的输入层、隐藏层和输出层,并确定每层的神经元数量。
然后,介绍了如何初始化神经网络的权重和偏置,并定义损失函数和优化器。接着,详细介绍了神经网络的前向传播和反向传播过程,并讨论了参数更新的方法。
最后,通过实例演示了如何使用神经网络进行模式识别和分类任务。通过输入训练数据和目标标签,训练神经网络并进行预测。通过调整神经网络的结构和参数,提高预测的准确率。
4、总结归纳
《自己动手写神经网络》(Java实现)葛一鸣【扫描版_PDF电子书_推荐】_计算机类 是一本实用的关于神经网络实现的书籍。该书通过介绍神经网络的基本原理、实现方法和步骤,帮助读者理解和掌握神经网络的原理和应用。
该书的优点在于注重实践,通过实例演示的方式将抽象的概念具象化,使得读者更容易理解神经网络的原理和实现方法。同时,该书使用Java语言进行实现,具有跨平台的特点,适用于不同的应用场景。
然而,该书的缺点是对一些高级的神经网络模型和算法没有进行详细介绍,对于一些复杂的应用场景可能不够深入。此外,由于是Java实现,对于其他编程语言的读者可能不够友好。
总的来说,该书是一本适合初学者的入门书籍,对于想要了解和实践神经网络的读者来说是一本不错的选择。
本文由nayona.cn整理
![](https://nayona.cn/1.jpg)