基本信息
- 原书名:Neural Network Programming with Java, Second Edition
- 作者: (巴西)法比奥·M.索尔斯(Fabio M. Soares) (巴西)艾伦·M. F.索萨(Alan M. F. Souza)
- 译者: 王彩霞 夏妍
- 丛书名: 智能系统与技术丛书
- 出版社:机械工业出版社
- ISBN:9787111600121
- 上架时间:2018-12-17
- 出版日期:2018 年6月
- 开本:16开
- 版次:1-1
- 所属分类:计算机 > 软件与程序设计 > JAVA(J#) > Java

内容简介
作译者
Fabio M. Soares目前是位于巴西北部的帕拉联邦大学(UFPA)的博士研究生。他几乎对所有领域的技术都充满热情,2004年起开始设计神经网络解决方案,此后将该技术应用于电信、工业过程控制和建模、水力发电、财务应用、零售客户分析等多个领域。他的研究课题涉及针对数据驱动模型的监督学习。2017年以来,他主要在铝冶炼和铁镍合金方面进行化学过程建模及控制的研究,同时也作为计算机编程和人工智能课程的讲师,从事教学工作。作为一名活跃的研究者,他已经在诸多会议和期刊上发表了数篇论文,参与4本书的编写。
Alan M. F. Souza是IESAM(Instituto de Estudos Superiores da Amazonia)的一名IT工程师,他拥有帕拉联邦大学软件项目管理专业的研究生学历和工业过程专业(应用计算)的硕士学位。2009年以来,他一直从事神经网络相关工作,并且自2006年起,他和巴西IT公司共同致力于Java、PHP、SQL及其他编程语言的相关研发工作。他非常热爱编程和计算智能。目前他是UNAMA的教授,同时也是UFPA的博士研究生。
审校者简介
Charles Griffiths是一名对技术、医学、经济学和营养学感兴趣的软件工程师和大学教授。他在GitHub和Unity Asset Store上都发布过源码。
无论走到哪里,都很感谢那些指引我前进的朋友,感谢他们一直以来对我的支持和信任。
目录
作者和审校者简介
前言
第1章 神经网络入门 1
1.1 探索神经网络 1
1.2 人工神经网络 2
1.2.1 神经网络是如何组织的 3
1.2.2 基本元素—人工神经元 3
1.2.3 赋予神经元生命—激活函数 4
1.2.4 可变参数—权重 5
1.2.5 额外参数—偏置 6
1.2.6 由部分到整体—层 6
1.2.7 神经网络体系结构 7
1.2.8 单层网络 7
1.2.9 多层网络 8
1.2.10 前馈网络 8
1.2.11 反馈网络 8
1.3 从无知到认知—学习过程 9
1.4 开始编程—神经网络实践 10
1.5 神经元类 12
译者序
神经网络(Neural Network)是人工智能领域最重要的基础模型之一,也是目前非常热门的研究方向—深度学习的核心。作为一门重要的机器学习技术,其已经广泛应用于自动驾驶、机器翻译、语音识别、图像识别等许多前沿领域。而当前人工智能领域的诸多应用平台(如智能客服等)都基于Java服务框架开发,因此,通过Java实现机器学习算法对于业务平台实现真正的智能化非常重要。
遗憾的是,现有的书籍要么只阐述机器学习方面的算法理论,要么只阐述Java理论,缺少基于工程性语言的机器学习算法实现,由此带来的问题是智能化应用产品的落地和实现过程的复杂化。
作为一本集神经网络理论、神经网络Java实现及优秀案例于一体的书,本书以一种简单易懂、循序渐进的方式介绍神经网络。本书由10章构成。首先系统、全面地阐述了神经网络的相关概念、知识点及特征。然后重点介绍了神经网络学习过程的细节,如何用Java实现神经网络特性及设计神经网络架构,如何优化调整神经网络参数等。最后介绍了一些经典案例。结合Java实现神经网络架构是本书的一个主要特色。这是一本基于Java语言阐述神经网络架构特性、设计实现过程又包含经典实践案例的优秀书籍。
本书的读者对象如下:1)神经网络初学者,本书全面阐述了神经网络的相关概念、知识点以及神经网络架构的创建过程;2)有Java背景且对智能化方向感兴趣的软件开发者,本书介绍了如何基于Java实现神经网络核心算法;3)智能化软件开发人员,本书提供了基于神经网络Java实现的诸多案例,为解决实践中的问题提供了很好的借鉴。本书不需要读者有深厚的数学基础,但是懂一些机器学习基础知识更有助于理解本书。
参与本书翻译工作的人员主要有:百度研发工程师王彩霞和蔚来汽车研发工程师夏妍。非常感谢百度地图刘懿的牵线引荐,让我能有机会和机械工业出版社合作。衷心感谢刘懿、百度美国大数据实验室的杨涛、百度推荐技术平台部的尚斌及网易产品经理马庆提出的修改建议。也非常感谢清华大学公派加州大学伯克利分校博士顾维玺、机械工业出版社张梦玲编辑的无私帮助。
限于水平,对中文语言的表达及内容的理解难免存在不当之处,在此敬请读者批评指正。本人十分荣幸能有机会成为本书的译者,认真阅读本书也一定会使你受益匪浅。
王彩霞
2018年5月于厦门
前言
本书的主要挑战是学习并掌握业界最新的内容。虽然神经网络这个名字可能看起来很奇怪,甚至可能误认为它是关于神经学的,但是我们通过把重点放在你决定购买这本书的原因上来简化这些细微差别。我们打算建立一个框架,告诉你神经网络其实很简单,很容易理解,你不需要有足够的先验知识,就完全可以理解本书提到的概念。
因此,我们希望你充分掌握本书的内容,在面对棘手问题时,能始终以初学者的态度运用神经网络的功能来解决。本书对提到的每个概念都用简单的语言进行解释,但理解它也需要一定的技术背景。本书的目的是让你了解智能应用可以通过简单语言编写。
各章概览
第1章主要介绍神经网络的概念,解释基本神经元结构(单层感知机、学习机),以及激活函数、权重和学习算法。此外,该章还演示了用Java创建基本神经网络的整个过程。
第2章主要介绍神经网络学习过程的细节,解释几个有用的概念,如训练、测试和验证,演示如何实现训练和验证算法、如何进行误差评估。
第3章主要讨论感知机和监督学习的特性,展示这类神经网络的训练算法,以及如何用Java实现这些特性。
第4章主要介绍无监督学习和自组织映射,即Kohonen神经网络在分类和聚类问题中的应用。
第5章主要阐述如何用神经网络解决天气预报的问题,你会看到来自不同地区、不同时间的历史天气数据记录,并学习如何在神经网络训练之前对数据进行预处理。
第6章主要介绍分类问题,这属于监督学习的范畴。运用患者的数据构建基于神经网络的专家系统,专家系统能够根据患者的症状给出诊断结果。
第7章讨论如何应用无监督学习算法和神经网络实现聚类,进而实现客户画像聚类。
第8章主要介绍另一种涉及神经网络的常见任务:光学字符识别(OCR)。OCR非常有用,它显示了神经网络强大的学习能力。
第9章主要介绍神经网络优化的相关技术,如输入选择,切分训练数据集、验证数据集和测试数据集的较优方法,以及数据过滤和隐含神经元个数的选择。
第10章主要介绍神经网络领域的新技术动态,启发你理解并设计出适用于更复杂问题的新策略。
附录内容为在线内容,可以通过以下链接下载:https://www.packtpub.com/sites/default/files/downloads/Neural_Network_Programming_with_Java_SecondEdition_Appendices.pdf。附录内容主要涉及搭建Netbeans开发环境的详细步骤,搭建Eclipse开发环境的详细步骤。
阅读准备
需要Netbeans(www.netbeans.org)或者Eclipse(www.eclipse.org)软件,两者都是免费的,可以从官方网站下载。
本书读者对象
本书适合以下Java开发者:想知道如何运用神经网络的功能开发更智能的应用。同时本书适用于那些处理大量复杂数据并希望在日常应用中有更高效率的人士。本书的读者最好具有一些统计计算的基础知识。
下载示例代码
媒体评论
本书集神经网络理论、神经网络Java实现及优秀案例于一体,以一种简单易懂、循序渐进的方式介绍神经网络。
本书内容
·系统、全面地阐述了神经网络的相关概念、知识点以及神经网络架构的创建过程。
·重点介绍了神经网络学习过程的细节,如何用Java实现神经网络特性及设计神经网络架构,如何优化调整神经网络参数等。
·提供了基于神经网络Java实现的诸多案例,为解决实践中的问题提供了很好的借鉴。