猜你喜欢
神经网络算法与实现 基于Java语言

神经网络算法与实现 基于Java语言

书籍作者:Fábio ISBN:9787115460936
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:1660
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介
人工神经网络是由众多连接权值可调的神经元连接而成,具有大规模并行处理、分布式信息存储、良好的自组织自学习能力等特点,能够完成模式识别、机器学习以及预测趋势等任务。
本书通过9章内容,并结合Java编程语言,由浅入深地介绍了神经网络算法的应用。书中涉及神经网络的构建、神经网络的结构、神经网络的学习、感知机、自组织映射等核心概念,并将天气预测、疾病诊断、客户特征聚类、模式识别、神经网络优化与自适应等经典案例囊括其中。本书在附录中详细地指导读者进行开发环境的配置,帮助读者更加顺利地进行程序开发。
本书非常适合对神经网络技术感兴趣的开发人员和业余读者阅读,读者无需具备Java编程知识,也无需提前了解神经网络的相关概念。本书将从零开始为读者进行由浅入深地讲解。
作者简介
Fábio M. Soares拥有帕拉联邦大学(Universidade Federal do Pará,UFPA)的计算机应用专业硕士学位,目前是该所大学的在读博士生。他从2004年开始就一直在设计神经网络解决方案,在电信、化学过程建模等多个领域开发了神经网络技术的应用,他的研究主题涉及数据驱动建模的监督学习。
他也是一名个体经营者,为巴西北部的一些中小型公司提供IT基础设施管理和数据库管理等服务。在过去,他曾为大公司工作,如Albras(世界上zui重要的铝冶炼厂之一)和Eletronorte(巴西的一个大型电源供应商)。他也有当讲师的经历,曾在***联邦农业大学(Federal Rural University)和卡斯塔尼亚尔的一个学院授课,两所学校都在帕拉州,所教的学科涉及编程和人工智能。
他出版了许多作品,其中许多都有英文版,所有作品都是关于针对某些问题的人工智能技术。他在众多权v会议上发表了一系列学术文章,如TMS(矿物金属和材料学会)、轻金属学会和智能数据工程、自动学习学会等学术会议。他还为Intech写过两章内容。
Alan M.F. Souza是来自***高级研究所(Instituto de Estudos Superiores da Amaz?nia,IESAM)的计算机工程师。他拥有软件项目管理的研究生学位以及帕拉联邦大学(Universidade Federal do Pará,UFPA)的工业过程(计算机应用)硕士学位。自2009年以来,他一直从事神经网络方面的工作,并从2006年开始与巴西的IT公司合作进行Java、PHP、SQL和其他编程语言的开发。他热衷于编程和计算智能。目前,他是***大学(Universidade da Amaz?nia,UNAMA)的教授和帕拉联邦大学的在读博士生。
编辑推荐
神经网络已成为从大量原始的,看似无关的数据中提取有用知识的强大技术。 Java语言是用于实现神经网络的zui合适的工具之一,也是现阶段非常流行的编程语言之一,包含多种有助于开发的API和包,具有“一次编写,随处运行”的可移植性。

本书完整地演示了使用Java开发神经网络的过程,既有非常基础的实例也有高级实例。首先,你将学习神经网络的基础知识、感知机及其特征。 然后,你将使用学到的概念来实现自组织映射网络。 此外,你还会了解一些应用,如天气预报、疾病诊断、客户特征分析和光学字符识别(OCR)等。 zui后,你将学习实时优化和自适应神经网络的方法。

首先,你将学习神经网络的基础知识和它们的学习过程。 然后我们关注感知机及其特征。 接下来,您将使用您学到的概念实现自组织映射。 此外,您将了解一些应用,如天气预报,疾病诊断,客户特征分析和光学字符识别(OCR)。 zui后,您将学习优化和适应实时神经网络的方法。

本书所有的示例都提供了说明性的源代码,这些源代码综合了面向对象编程(OOP)概念和神经网络特性,以帮助你更好的学习。

通过阅读本书,你讲能够:
掌握神经网络的知识及其用途;
运用常见实例开发神经网络;
探索和编码zui广泛使用的学习算法,让你的神经网络可以从大多数类型的数据中学习 知识;
发现神经网络的无监督学习过程的力量,提取隐藏在数据背后的内在知识;
应用实际示例(如天气预测和模式识别)中生成的代码;
了解如何选择zui合适的学习参数,以确保应用更高效;
选择数据集,将数据集切分为训练集、测试集和验证集,并探索验证策略;
了解如何改善和优化神经网络。
目录
第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–Marquardt 57
3.5 MLP实现 58
3.5.1 实战反向传播算法 61
3.5.2 探索代码 62
3.6 Levenberg–Marquardt实现 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