Java人工神经网络构建pdf下载pdf下载

Java人工神经网络构建百度网盘pdf下载

作者:
简介:本篇主要提供Java人工神经网络构建pdf下载
出版社:机械工业出版社自营官方旗舰店
出版时间:2021-02
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

内容简介

  《Java人工神经网络构建》使用Java开发神经网络应用程序。在学习了神经网络处理所涉及的规则之后,你将可以手工处理一个神经网络示例。该书涵盖了前向传播和反向传播的内在机理,有助于读者理解神经网络处理的主要原理。还教你如何准备用于神经网络开发的数据,并为许多非传统的神经网络处理任务提出各种数据准备方法。
  书中讨论的下一个大主题是使用Java进行神经网络处理。你将使用Encog Java框架,并了解如何使用Encog进行快速开发,从而创建大规模的神经网络应用程序。
  该书还讨论传统的神经网络过程无法逼近复杂的非连续函数问题,并介绍解决这一问题的微批次方法。该书包括大量的示例、图表和屏幕截图,逐步讲解各种方法,帮助你快速轻松地掌握概念。
  《Java人工神经网络构建》主要内容:
  ●为许多不同的任务准备数据
  ●执行一些不寻常的神经网络任务
  ●创建一个处理非连续函数的神经网络
  ●选择和改进开发的模型

作者简介

  Igor Livshin在两家大型保险公司(Continental Insurance和伊利诺伊州的Blue Cross & Blue Shield)担任高级J2EE架构师多年,开发大型企业应用程序。他在2003年出版了他的第一本书WebStudio Application Developer 5.0。他目前在Dev Technologies公司担任高级架构师,专注于开发神经网络应用程序。Igor拥有Institute of Technology in Odessa的计算机科学硕士学位。

内页插图

目录

前言
第1章 关于神经网络的学习
1.1 生物神经元与人工神经元
1.2 激活函数
1.3 本章小结

第2章 神经网络处理的内在机理
2.1 逼近函数
2.2 网络架构
2.3 前向传递计算
2.4 输入记录1
2.5 输入记录2
2.6 输入记录3
2.7 输入记录4
2.8 反向传播过程计算
2.9 函数导数与函数发散
2.10 最常用的函数导数
2.11 本章小结

第3章 人工神经网络处理
3.1 示例1:单点函数的手动逼近
3.2 构建神经网络
3.3 前向传递计算
3.3.1 隐藏层
3.3.2 输出层
3.4 反向传递计算
3.4.1 计算输出层神经元的权值调整
3.4.2 计算隐藏层神经元的权值调整
3.5 更新网络偏差
3.6 回到前向传递
3.6.1 隐藏层
3.6.2 输出层
3.7 网络计算的矩阵形式
3.8 深入调查
3.9 小批次与随机梯度
3.10 本章小结

第4章 配置开发环境
4.1 在Windows计算机上安装Java 11环境
4.2 安装NetBeans IDE
4.3 安装Encog Java框架
4.4 安装XChart包
4.5 本章小结

第5章 使用Java Encog框架开发神经网络
5.1 示例2:使用Java环境进行函数逼近
5.2 网络架构
5.3 规范化输人数据集
5.4 构建规范化两个数据集的Java程序
5.5 构建神经网络处理程序
5.6 程序代码
5.7 调试和执行程序
5.8 训练方法的处理结果
5.9 测试网络
5.10 测试结果
5.11 深入调查
5.12 本章小结

第6章 训练范围外的神经网络预测
6.1 示例3a:逼近训练范围以外的周期函数
6.1.1 示例3a的网络架构
6.1.2 示例3a的程序代码
6.1.3 测试网络
6.2 示例3b:逼近训练范围以外的周期函数的正确方法
6.2.1 准备训练数据
6.2.2 示例3b的网络架构
6.2.3 示例3b的程序代码
6.2.4 示例3b的训练结果
6.2.5 示例3b的测试结果
6.3 本章小结

第7章 复杂周期函数的处理
7.1 示例4:复杂周期函数的逼近
7.2 数据准备
7.3 反映数据中的函数拓扑
7.4 程序代码
7.5 训练网络
7.6 测试网络
7.7 深入调查
7.8 本章小结

第8章 非连续函数的处理
8.1 示例5:非连续函数的逼近
8.2 程序代码
8.3 训练效果不理想
8.4 用微批次方法逼近非连续函数
8.5 微批次处理程序代码
8.5.1 getChart()方法的程序代码
8.5.2 训练方法的代码片段1
8.5.3 训练方法的代码片段2
8.6 微批次方法的训练结果
8.7 测试处理逻辑
8.8 微批次方法的测试结果
8.9 深入调查
8.10 本章小结

第9章 具有复杂拓扑的连续函数的处理
9.1 示例5a:使用传统的网络过程逼近具有复杂拓扑的连续函数
9.1.1 示例5a的网络架构
9.1.2 示例5a的程序代码
9.1.3 示例5a的训练处理结果
9.2 用微批次方法逼近具有复杂拓扑的连续函数
9.3 示例5b:螺旋函数的逼近
9.3.1 示例5b的网络架构
9.3.2 示例5b的程序代码
9.4 用微批次方法逼近同一函数
9.5 本章小结
……
第10章 用神经网络对对象进行分类
第11章 选择正确模型的重要性
第12章 三维空间中的函数逼近处理

前言/序言

  人工智能是计算机科学中快速发展的一个领域。自计算机发明以来,我们观察到一个有趣的现象。对人类来说比较困难的任务(如繁重的计算、搜索、记忆大量数据等)计算机很容易完成,而人类自然能够快速完成的任务(如识别部分覆盖的物体、智力、推理、创造、发明、理解语音、科学研究等)对计算机来说又是困难的。
  人工智能作为一门学科诞生于20世纪50年代,最初由于缺乏反向传播和自动化的训练手段而失败。在20世纪80年代,它因为无法形成自己的内部表示而再次失败,后来通过深度学习和更强大的计算机解决了这个问题。
  在第二次失败后,一种新的非线性网络架构被开发出来,计算机计算能力的巨大提高最终促成了20世纪90年代人工智能的巨大成功,人工智能逐渐能够解决许多工业级的问题,如图像识别、语音识别、自然语言处理、模式识别、预测、分类、自动驾驶汽车、机器人自动化等。
  人工智能的巨大成功最近引发了各种各样的无端猜测,你会发现关于机器人匹敌和超越人类智慧的讨论。然而,目前人工智能还是一套聪明的数学和处理方法,让计算机从它们处理的数据中学习,并应用这些知识来完成许多重要的任务。很多属于人类的东西,比如智力、情感、创造、感觉、推理等,人工智能仍然无法很好地处理。
  不过,人工智能正在迅速改变。近年来,计算机已经变得非常擅长下棋,以至于可以可靠地击败人类对手。这一点也不奇怪,因为它们的创造者使程序学会了人类在国际象棋上积累了数百年的经验。现在,机器在全球计算机国际象棋锦标赛上互相竞争,角逐冠军。其中一个名为Stockfish 8的最佳棋类程序在2016年赢得了全球计算机国际象棋冠军。
  2017年,谷歌开发了一个名为AlphaZero的国际象棋程序,在2017年全球计算机国际象棋锦标赛中击败了Stockfish 8程序。令人惊奇的是,没有人像在其他象棋程序开发过程中所做的那样去教AlphaZero学习象棋策略。相反,它利用最新的机器学习原理,通过对抗自己来自学象棋。这个程序只花了四个小时学习国际象棋策略(同时与自己对抗),就打败了Stockfish 8。自主学习是人工智能的新里程碑。
  人工智能有许多分支。本书致力于其中一个分支:神经网络。神经网络使计算机能够从观测数据中学习并基于这些知识做出预测。具体来说,本书介绍神经网络的训练以及将神经网络用于函数逼近、预测和分类。本书内容
  这本实用的操作手册涵盖开发神经网络应用程序的许多方面。它从零开始解释神经网络是如何工作的,然后以训练一个小神经网络为例,手动进行所有的计算。本书涵盖前向传播和反向传播的内在机理,有助于读者理解神经网络处理的主要原理。本书还教你如何准备用于神经网络开发的数据,并为许多非传统的神经网络处理任务提出各种数据准备方法。
  书中讨论的另一个大主题是使用Java进行神经网络处理。大多数有关人工智能的书籍使用Python作为开发语言。然而,Java是使用最广泛的编程语言。它比Python快,并且允许你在一台计算机上开发项目,并在许多不同的支持Java环境的计算机上运行它们。此外,当人工智能处理成为企业应用程序的一部分时,没有其他语言可以与Java竞争。
  本书使用了一个名为Encog的Java框架,并展示了使用它开发大规模神经网络应用程序的所有细节。本书还讨论了传统的神经网络过程难以逼近复杂的非连续函数以及具有复杂拓扑的连续函数的问题,并介绍了解决这一问题的微批次方法。
  本书包括大量的示例、图表和屏幕截图,循序渐进地讲解各种方法,以提升读者的学习体验。书中讨论的每个主题都有相应的实际开发示例和许多提示。
  本书中的所有示例都是面向Windows 7/10平台开发的,开发语言为Java,可以在任何支持Java的环境下运行。本书中描述的所有Java工具都是免费使用的,可以从Internet上下载。本书读者对象
  本书是为那些有兴趣在Java环境中学习神经网络编程的专业开发人员编写的,同时也适合经验丰富的人工智能开发人员阅读——他们会发现与开发更复杂的神经网络应用程序有关的更前沿的主题和技巧。本书还包括我的最新研究——非连续函数和具有复杂拓扑的连续函数的神经网络逼近。致谢
  感谢Apress及其优秀的编辑团队,以及技术评审者,感谢他们为本书的出版所做的贡献。