描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787115460936
本书完整地演示了使用Java开发神经网络的过程,既有非常基础的实例也有高级实例。首先,你将学习神经网络的基础知识、感知机及其特征。 然后,你将使用学到的概念来实现自组织映射网络。 此外,你还会了解一些应用,如天气预报、疾病诊断、客户特征分析和光学字符识别(OCR)等。 zui后,你将学习实时优化和自适应神经网络的方法。
首先,你将学习神经网络的基础知识和它们的学习过程。 然后我们关注感知机及其特征。 接下来,您将使用您学到的概念实现自组织映射。 此外,您将了解一些应用,如天气预报,疾病诊断,客户特征分析和光学字符识别(OCR)。 zui后,您将学习优化和适应实时神经网络的方法。
本书所有的示例都提供了说明性的源代码,这些源代码综合了面向对象编程(OOP)概念和神经网络特性,以帮助你更好的学习。
通过阅读本书,你讲能够:
掌握神经网络的知识及其用途;
运用常见实例开发神经网络;
探索和编码zui广泛使用的学习算法,让你的神经网络可以从大多数类型的数据中学习 知识;
发现神经网络的无监督学习过程的力量,提取隐藏在数据背后的内在知识;
应用实际示例(如天气预测和模式识别)中生成的代码;
了解如何选择zui合适的学习参数,以确保应用更高效;
选择数据集,将数据集切分为训练集、测试集和验证集,并探索验证策略;
了解如何改善和优化神经网络。
本书通过9章内容,并结合Java编程语言,由浅入深地介绍了神经网络算法的应用。书中涉及神经网络的构建、神经网络的结构、神经网络的学习、感知机、自组织映射等核心概念,并将天气预测、疾病诊断、客户特征聚类、模式识别、神经网络优化与自适应等经典案例囊括其中。本书在附录中详细地指导读者进行开发环境的配置,帮助读者更加顺利地进行程序开发。
本书非常适合对神经网络技术感兴趣的开发人员和业余读者阅读,读者无需具备Java编程知识,也无需提前了解神经网络的相关概念。本书将从零开始为读者进行由浅入深地讲解。
第1章 初识神经网络 1
1.1 探索神经网络 1
1.2 为什么要用人工神经网络 2
1.3 神经网络的构造 3
1.3.1 基础元素——人工神经元 3
1.3.2 赋予神经元生命——
激活函数 4
1.3.3 基础值——权值 5
1.3.4 重要参数——偏置 5
1.3.5 神经网络组件——层 5
1.4 神经网络结构 6
1.4.1 单层神经网络 7
1.4.2 多层神经网络 7
1.4.3 前馈神经网络 8
1.4.4 反馈神经网络 8
1.5 从无知到有识——学习过程 8
1.6 实践神经网络 9
1.7 小结 15
第2章 神经网络是如何学习的 16
2.1 神经网络的学习能力 16
2.2 学习范式 17
2.2.1 监督学习 17
2.2.2 无监督学习 18
2.3 系统结构——学习算法 19
2.3.1 学习的两个阶段——训练
和测试 20
2.3.2 细节——学习参数 21
2.3.3 误差度量和代价函数 22
2.4 学习算法示例 22
2.4.1 感知机 22
2.4.2 Delta规则 23
2.5 神经网络学习过程的编码 23
2.5.1 参数学习实现 23
2.5.2 学习过程 24
2.5.3 类定义 26
2.6 两个实例 33
2.6.1 感知机(报警系统) 34
2.6.2 ADALINE(交通预测) 37
2.7 小结 42
第3章 运用感知机 43
3.1 学习感知机神经网络 43
3.1.1 感知机的应用和局限性 44
3.1.2 线性分离 44
3.1.3 经典XOR(异或)
例子 45
3.2 流行的多层感知机(MLP) 47
3.2.1 MLP属性 48
3.2.2 MLP权值 49
3.2.3 递归MLP 50
3.2.4 MLP在OOP范式中的
结构 50
3.3 有趣的MLP应用 51
3.3.1 使用MLP进行分类 51
3.3.2 用MLP进行回归 53
3.4 MLP的学习过程 54
3.4.1 简单但很强大的学习
算法——反向传播 55
3.4.2 复杂而有效的学习算法——
Levenberg?CMarquardt 57
3.5 MLP实现 58
3.5.1 实战反向传播算法 61
3.5.2 探索代码 62
3.6 Levenberg?CMarquardt实现 66
3.7 实际应用——新生入学 68
3.8 小结 71
第4章 自组织映射 72
4.1 神经网络无监督学习方式 72
4.2 无监督学习算法介绍 73
4.3 Kohonen 自组织映射 76
4.3.1 一维SOM 77
4.3.2 二维SOM 78
4.3.3 逐步实现自组织映射网络
学习 80
4.3.4 如何使用SOM 81
4.4 Kohonen算法编程 81
4.4.1 探索Kohonen类 84
4.4.2 Kohonen实现
(动物聚类) 86
4.5 小结 88
第5章 天气预测 89
5.1 针对预测问题的神经网络 89
5.2 无数据,无神经网络——
选择数据 91
5.2.1 了解问题——天气变量 92
5.2.2 选择输入输出变量 92
5.2.3 移除无关行为——
数据过滤 93
5.3 调整数值——数据预处理 94
5.4 Java实现天气预测 96
5.4.1 绘制图表 96
5.4.2 处理数据文件 97
5.4.3 构建天气预测神经网络 98
5.5 神经网络经验设计 101
5.5.1 选择训练和测试
数据集 101
5.5.2 设计实验 102
5.5.3 结果和模拟 103
5.6 小结 105
第6章 疾病诊断分类 106
6.1 什么是分类问题,以及如何应用
神经网络 106
6.2 激活函数的特殊类型——
逻辑回归 107
6.2.1 二分类VS多分类 109
6.2.2 比较预期结果与产生
结果——混淆矩阵 109
6.2.3 分类衡量——灵敏度和
特异性 110
6.3 应用神经网络进行分类 111
6.4 神经网络的疾病诊断 114
6.4.1 使用神经网络诊断
乳腺癌 114
6.4.2 应用神经网络进行早期糖
尿病诊断 118
6.5 小结 121
第7章 客户特征聚类 122
7.1 聚类任务 123
7.1.1 聚类分析 123
7.1.2 聚类评估和验证 124
7.1.3 外部验证 125
7.2 应用无监督学习 125
7.2.1 径向基函数神经网络 125
7.2.2 Kohonen 神经网络 126
7.2.3 数据类型 127
7.3 客户特征 128
7.4 Java实现 129
7.5 小结 135
第8章 模式识别(OCR案例) 136
8.1 什么是模式识别 136
8.1.1 定义大量数据中的
类别 137
8.1.2 如果未定义的类没有被
定义怎么办 138
8.1.3 外部验证 138
8.2 如何在模式识别中应用神经网络
算法 138
8.3 OCR问题 140
8.3.1 简化任务——数字
识别 140
8.3.2 数字表示的方法 140
8.4 开始编码 141
8.4.1 生成数据 141
8.4.2 构建神经网络 143
8.4.3 测试和重新设计——
试错 144
8.4.4 结果 145
8.5 小结 148
第9章 神经网络优化与自适应 149
9.1 神经网络实现中的常见问题 149
9.2 输入选择 150
9.2.1 数据相关性 150
9.2.2 降维 151
9.2.3 数据过滤 152
9.3 结构选择 152
9.4 在线再训练 154
9.4.1 随机在线学习 155
9.4.2 实现 156
9.4.3 应用 157
9.5 自适应神经网络 159
9.5.1 自适应共振理论 159
9.5.2 实现 160
9.6 小结 162
附录A NetBeans环境搭建 163
附录B Eclipse环境搭建 175
附录C 参考文献 186
评论
还没有评论。