自己动手写神经网络

自己动手写神经网络 pdf epub mobi txt 电子书 下载 2025

葛一鸣 著
图书标签:
  • 神经网络
  • 深度学习
  • 机器学习
  • Python
  • 编程
  • 算法
  • 人工智能
  • 数据科学
  • 计算机科学
  • 实践
想要找书就要到 静流书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 人民邮电出版社
ISBN:9787115462015
版次:1
商品编码:12169369
品牌:异步图书
包装:平装
开本:16开
出版时间:2017-09-01
用纸:胶版纸
页数:182
正文语种:中文

具体描述

编辑推荐

  AlphaGo战胜李世石,标志着新一轮人工智能的浪潮已经来袭。  而你是否已经做好迎接新的人工智能技术的准备?  《自己动手写神经网络》将带你一探作为AlphaGo基石的人工神经网络。  《自己动手写神经网络》不局限于纸上谈兵,我们用代码诠释一切。  《自己动手写神经网络》可能改变你对人工智能的态度。  深入讲解人工神经网络的工作原理,并且能够动手实践人工神经网络  书力求通俗易懂,使用尽可能简单的语言描述人工神经网络的原理与理论。  《自己动手写神经网络》力求以具体实现与应用为导向,除了理论介绍外,每一章节的应用和实践都有具体的实现详解。  全书使用Java作为主要语言,与Matlab等语言不同的是:Java语言是目前企业级软件开发zui为流行的语言,因此,使用Java实现的神经网络具备更强的系统集成能力与实践能力。由于Java语言本身通俗易懂,在基本语法上与C/C++类似,因此,本书同样适合没有Java基础的程序员。

内容简介

  《自己动手写神经网络》讲解通俗易懂,使用简单的语言描述人工神经网络的原理,并力求以具体实现与应用为导向,除了理论介绍外,每一章节的应用和实践都有具体的实例实现,让读者达到学以致用。《自己动手写神经网络》分为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
《深度学习实战:从零构建你的第一个神经网络》 一、本书定位与特色 这本书并非那些空泛的理论堆砌,也不是仅仅罗列几个框架的API。它是一本面向希望真正理解深度学习核心机制,并能动手实践的工程师、学生和爱好者而编写的入门级实战指南。我们坚信,理解一个系统的最佳方式莫过于亲手构建它。《深度学习实战:从零构建你的第一个神经网络》将带领读者一步一步地拆解神经网络的构成,从最基础的数学原理出发,到最终构建并训练一个能够解决实际问题的神经网络模型。 本书最大的特色在于其“从零构建”的理念。我们将避开直接使用高级框架(如TensorFlow, PyTorch)提供的便捷函数,而是采用更底层的编程语言(如Python配合NumPy库)来实现神经网络的每一个关键组件。这样做的好处是: 深刻理解原理: 当你亲手编写矩阵乘法、激活函数、损失函数、反向传播算法时,你才能真正理解它们是如何运作的,而不仅仅是调用一个函数。 掌握调试技巧: 在“从零构建”的过程中,你会遇到各种各样的问题,学会如何定位和修复bug,这对于成为一个合格的深度学习工程师至关重要。 为框架学习打下坚实基础: 一旦你理解了底层的实现原理,再学习高级框架时,你会更容易理解框架的抽象和设计思路,从而更高效地掌握它们。 培养独立解决问题的能力: 即使在未来工作中需要使用成熟的框架,但当遇到框架难以解决的特殊情况或需要定制化模型时,本书提供的基础知识将是你宝贵的财富。 二、目标读者 对深度学习充满好奇,但又畏惧其复杂性的初学者: 我们会从最基本的概念讲起,用通俗易懂的语言解释复杂的数学原理。 具备一定编程基础(Python)但缺乏机器学习/深度学习实践经验的开发者: 本书将引导你如何将编程技能应用于深度学习领域。 希望深入理解神经网络工作原理,而非仅仅停留在API调用的学生: 理论与实践相结合,让你知其然更知其所以然。 想为未来深入研究深度学习打下坚实基础的研究人员或工程师: 本书将为你提供一个牢固的起点。 三、内容概览 本书的内容设计循序渐进,从最基础的数学概念过渡到复杂的模型构建。 第一部分:神经网络的基石——从数学到概念 第一章:你好,神经网络! 简要介绍人工智能、机器学习和深度学习的关系。 神经网络的灵感来源:生物神经元。 为什么深度学习如此强大?(数据、算力、算法的进步)。 本书的学习路径和学习方法。 第二章:数学预备知识——深度学习的语言 线性代数核心概念: 向量、矩阵、张量及其运算(点乘、矩阵乘法)。我们将通过NumPy示例来直观展示这些操作。 微积分基础: 导数、偏导数、链式法则。这是理解模型如何学习的关键。 概率论初步: 概率分布、期望、方差。为理解损失函数和模型评估打下基础。 (我们将尽量用图示和简洁的语言解释,避免过于枯燥的数学推导,重点在于理解概念如何服务于神经网络。) 第三章:第一个神经元——感知机(Perceptron) 感知机的结构:输入、权重、偏置、激活函数。 激活函数的概念与作用:Sigmoid, ReLU等。 感知机的学习过程:如何根据数据调整权重和偏置。 感知机的局限性:为何它无法解决XOR问题。 第四章:连接起来——多层感知机(MLP) 构建更复杂的神经网络:隐藏层。 前向传播(Forward Propagation):数据如何通过网络层层传递,最终得到预测结果。 理解层与层之间的连接以及信息流。 第二部分:构建与训练——动手实现你的第一个神经网络 第五章:损失函数——衡量预测的好坏 什么是损失函数?它扮演的角色。 常见的损失函数:均方误差(MSE)、交叉熵损失(Cross-Entropy Loss)。 不同损失函数适用于不同任务的场景。 第六章:优化器——学习的引擎 梯度下降(Gradient Descent)的基本原理。 学习率(Learning Rate)的重要性及其影响。 更高级的优化算法简介(例如,Adam, SGD with Momentum),为后续学习框架打下基础。 第七章:反向传播算法——误差的传递与权重更新 这是本书的核心章节之一。我们将详细讲解反向传播的数学原理。 链式法则在反向传播中的应用。 计算损失函数相对于每个权重的梯度。 从零实现反向传播: 通过代码逐步展示如何计算并应用梯度。 第八章:构建你的第一个神经网络(实践) 使用NumPy从零实现一个简单的全连接神经网络。 代码结构设计:包括网络层、激活函数、损失函数、优化器等模块。 数据集准备: 使用经典的、易于理解的数据集(如MNIST手写数字识别的简化版,或Iris鸢尾花分类)。 模型训练过程: 迭代训练、损失函数的变化、准确率的提升。 超参数调优初步: 学习率、迭代次数、网络结构等的影响。 第三部分:进阶与扩展——深入理解更复杂的模型 第九章:防止过拟合——让模型更鲁棒 什么是过拟合(Overfitting)和欠拟合(Underfitting)? 正则化技术:L1, L2正则化,Dropout。 早停法(Early Stopping)。 第十章:数据预处理与特征工程——为模型准备好“食物” 数据清洗与处理:缺失值、异常值。 特征缩放(Feature Scaling):标准化(Standardization)、归一化(Normalization)。 独热编码(One-Hot Encoding)等。 第十一章:分类与回归任务的深入 针对二分类和多分类问题的模型设计和损失函数选择。 回归任务的模型结构和评估指标。 第十二章:神经网络的“前驱”——线性回归与逻辑回归的再审视 从更基础的模型(线性回归、逻辑回归)出发,回顾神经网络的演进。 理解逻辑回归如何看作一个单层神经网络。 第四部分:实践中的深度学习 第十三章:卷积神经网络(CNN)入门(概念与基本组件) CNN的出现背景与优势:处理图像数据。 卷积层(Convolutional Layer):卷积核、步长、填充。 池化层(Pooling Layer)。 概念性实现: 解释其工作原理,不直接实现复杂CNN架构。 第十四章:循环神经网络(RNN)入门(概念与基本组件) RNN的出现背景与优势:处理序列数据。 循环结构:隐藏状态的传递。 概念性实现: 解释其工作原理,不直接实现复杂RNN架构。 第十五章:迈向更广阔的天地 深度学习的更多应用领域:自然语言处理、计算机视觉、推荐系统等。 高级框架(TensorFlow, PyTorch)的介绍与学习建议。 如何持续学习和跟进深度学习的发展。 四、本书的“从零构建”实践方法 本书的实践部分将极度强调“从零开始”。我们不会直接导入`tensorflow.keras.layers`或者`torch.nn.Module`来创建层。相反,我们将: 使用NumPy构建矩阵运算: 实现前向传播中的线性变换。 手动实现激活函数: 如Sigmoid、ReLU的Python函数。 亲自编写损失函数: 如MSE、Cross-Entropy的Python函数。 详细推导并实现反向传播算法: 这将是全书的重点和难点,但我们通过清晰的步骤和代码示例来攻克它。 自定义优化器(例如,简单的梯度下降): 通过代码来更新权重。 这样做,是为了让读者“看到”每一个计算步骤,理解其背后的数学逻辑,而不是仅仅调用一个黑盒函数。当你掌握了这些基础,再去学习TensorFlow或PyTorch时,你会发现它们的API设计是多么有逻辑,并且能理解它们为什么这样设计。 五、学习本书的建议 1. 动手实践是关键: 跟着书中的代码,亲手敲一遍,运行一遍,修改参数,观察结果。 2. 理解比记忆更重要: 不要死记硬背公式,理解数学公式背后的含义和作用。 3. 遇到问题,勇敢提问(或调试): 遇到bug是学习过程中最宝贵的财富,学会如何定位和解决问题。 4. 循序渐进,不要跳读: 本书内容是层层递进的,确保理解了前面的内容再进行后续学习。 5. 善用图示和可视化: 本书会用大量图示来解释概念,帮助你直观理解。 《深度学习实战:从零构建你的第一个神经网络》不仅仅是一本书,它更是一个训练营,一个让你从深度学习的“消费者”转变为“创造者”的起点。让我们一起开启这段激动人心的深度学习探索之旅吧!

用户评价

评分

我选择《自己动手写神经网络》这本书,是希望能够突破当前在人工智能学习中的瓶颈。我曾尝试过阅读一些关于深度学习的资料,但往往因为理论的晦涩难懂和缺乏实践指导而感到沮丧。我希望这本书能够提供一种全新的学习视角,让我不再仅仅是被动地接受知识,而是能够主动地参与到神经网络的构建过程中。我期待书中能够讲解如何从最基础的数学概念入手,逐步理解神经网络的构成要素,比如神经元、层、激活函数等。更重要的是,我希望能够看到如何在实际编程中实现这些概念,例如使用Python和NumPy等基础工具,逐步搭建一个简单的神经网络模型。我渴望理解反向传播算法的数学原理,并希望通过代码示例来直观地感受梯度下降的过程。同时,我也希望书中能够介绍一些经典的神经网络模型,并引导我思考这些模型的设计思路和适用场景。总而言之,我希望通过这本书,能够真正掌握“如何写”神经网络,并具备独立思考和解决问题的能力。这本书,是我希望能够成为一名能够创造AI的工程师的起点。

评分

我选择购买这本书,很大程度上是被其“自己动手”这个关键词所吸引。在如今这个AI技术爆炸的时代,理论知识固然重要,但缺乏实践的理论就像空中楼阁,难以落地。我希望这本书能够提供一套完整的“从零开始”的学习路径,不仅仅是讲解概念,更重要的是引导读者亲自去实现。我期待书中能够提供一些经典的神经网络架构,比如多层感知机(MLP)、卷积神经网络(CNN)和循环神经网络(RNN),并且深入剖析它们的结构和工作原理。更令我兴奋的是,我希望书中的每一个章节都伴随着相应的代码实现,最好是能够提供完整的项目示例,让读者能够跟随教程,亲手搭建并训练这些模型。例如,在讲解CNN时,我希望能够看到如何使用Python和NumPy从头开始构建一个简单的CNN,然后逐步引入更高级的库和框架。我希望书中能够详细解释梯度下降的原理,并展示如何在代码中实现反向传播算法,这是理解神经网络训练过程的关键。我坚信,通过不断的实践和试错,我才能真正掌握神经网络的精髓,并具备解决实际问题的能力。这本书,是我希望成为一名合格AI工程师的敲门砖。

评分

这本书的封面设计非常吸引人,简约而不失专业感,封面上“自己动手写神经网络”几个大字,仿佛在向我发出挑战,又像是在承诺一条通往深度学习核心的捷径。我一直对人工智能领域充满好奇,特别是神经网络,但市面上很多书籍要么过于理论化,让人望而却步,要么过于碎片化,难以形成完整的知识体系。这本书的出现,让我看到了一个可能性的曙光。我期待它能够用一种循序渐进、实操性强的方式,带领我从零开始,一步一步构建起自己的神经网络。我希望书中能够详细讲解神经网络的各个组成部分,比如神经元的工作原理、激活函数的作用、损失函数的设计以及反向传播算法的细节。更重要的是,我希望能够看到大量的代码示例,最好是使用当下流行的深度学习框架,如TensorFlow或PyTorch。通过实际动手编码,才能真正理解每一个概念是如何在代码中实现的,才能在解决实际问题的过程中深化理解。我想象着,当我在代码中一步步实现一个简单的神经网络,并成功地让它完成一个分类任务时,那种成就感一定非同寻常。这本书,就是我踏入这个激动人心领域的起点。

评分

这本书的出现,仿佛为我打开了一扇通往人工智能神秘领域的大门。作为一名对机器学习充满热情但又苦于无从下手的初学者,我一直渴望找到一本能够系统性地引导我学习神经网络的书籍。我希望这本书不仅仅是提供一些现成的代码模板,而是能够让我从最基础的概念开始,逐步构建起对神经网络的理解。我期待书中能够从最简单的感知机模型讲起,然后逐步过渡到更复杂的深度神经网络。我希望能够清晰地理解神经元的工作原理,以及多层连接如何形成强大的学习能力。同时,我也非常关注模型的训练过程,特别是反向传播算法的细节。我希望这本书能够用图文并茂的方式,或者清晰的代码注释,来解释梯度计算和权重更新的整个流程,让我能够真正理解模型是如何通过迭代优化来逼近最优解的。此外,我也希望书中能够涉及一些常用的神经网络架构,比如卷积神经网络(CNN)和循环神经网络(RNN),并解释它们在图像识别和自然语言处理等领域的应用。这本书,是我希望能够扎实掌握神经网络核心技术的路线图。

评分

阅读本书的最大期待,是能够获得一种“知其然,更知其所以然”的学习体验。市面上有很多关于神经网络的书籍,但很多只是停留在“如何使用”的层面,即如何调用某个函数库来搭建模型。而我更想深入了解的是“为什么”模型会这样设计,“为什么”反向传播能够工作,以及“为什么”某些参数的调整会带来如此显著的变化。我希望这本书能够像一位耐心细致的导师,用通俗易懂的语言,抽丝剥茧地讲解神经网络的数学原理和算法细节。例如,在讲解激活函数时,我希望作者能够详细阐述不同激活函数的优缺点,以及它们在特定场景下的适用性。在讲解损失函数时,我希望能看到对不同损失函数(如交叉熵、均方误差)的深入分析,以及它们是如何衡量模型预测与真实值之间的差距的。最重要的是,我渴望理解反向传播算法的数学推导过程,并希望书中能通过清晰的图示和代码示例,来帮助我理解这个核心的训练机制。这本书,是我希望能够真正理解深度学习底层逻辑的指南。

评分

京东购书,618领券购书,买了够看1年的书!购书,必须是京东,必须领券!!

评分

经典图书,纸张非常好,插图是彩色的。

评分

好好学习,天天向上???!

评分

送货速度快,非常方便,书很不错

评分

经典图书,学习人工智能必备

评分

京东买东西都挺不错的,趁着活动囤一大堆

评分

书质量很好,还没看,京东物流一如既往的好。

评分

不错,质量很好,很满意,值得购买

评分

还没有看,希望还可以的吧……

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.coffeedeals.club All Rights Reserved. 静流书站 版权所有