《MATLAB神经网络原理与实例精解》结合科研和高校教学的相关课程,全面、系统、详细地介绍了MATLAB神经网络的原理及应用,并给出了大量典型的实例供读者参考。《MATLAB神经网络原理与实例精解》附带1张光盘,收录了《MATLAB神经网络原理与实例精解》重点内容的配套多媒体教学视频及书中涉及的实例源文件。这些资料可以大大方便读者高效、直观地学习《MATLAB神经网络原理与实例精解》内容。
《MATLAB神经网络原理与实例精解》首先简要介绍了MATLAB软件的使用和常用的内置函数,随后分门别类地介绍了BP网络、径向基网络、自组织网络、反馈网络等不同类型的神经网络,并在每章的最后给出了实例。在全书的最后,又以专门的一章收集了MATLAB神经网络在图像、工业、金融、体育等不同领域的具体应用,具有很高的理论和使用价值。全书内容详实、重点突出,从三个层次循序渐进地利用实例讲解网络原理和使用方法,降低了学习门槛,使看似神秘高深的神经网络算法更为简单易学。
《MATLAB神经网络原理与实例精解》适合学习神经网络的人员使用MATLAB方便地实现神经网络以解决实际问题,也适合神经网络或机器学习算法的研究者及MATLAB进阶学习者阅读。另外,《MATLAB神经网络原理与实例精解》可以作为高校相关课程的教材和教学参考书。
《MATLAB神经网络原理与实例精解》特点: ·提供“在线交流,有问必答”网络互动答疑服务 ·详解109个典型实例、7个综合案例和50多个神经网络工具箱函数 ·涵盖单层感知器、线性神经网络、BP神经网络、径向基网络、自组织神经网络、反馈神经网络、随机神经网络7种主要的网络类型 ·配超值DVD光盘,提供10小时配套教学视频、24.5小时MATLAB基础教学视频和《MATLAB神经网络原理与实例精解》源文件
人工神经网络是一种类似于人类神经系统的信息处理技术,可以视为一种功能强大、应用广泛的机器学习算法,广泛应用于实现分类、聚类、拟合、预测、压缩等功能,在高校研究和工程实践中均有应用。它模仿生物神经元的工作过程,建立起了一套用于处理计算问题的数学模型。神经网络的发展经历了兴起——低潮——复兴的过程,20世纪80年代后人工神经网络的发展十分迅速,其中应用最广的是BP神经网络。此外,还有径向基网络、自组织网络、反馈网络等其他神经网络形式,分别适用于不同的场合。
神经网络作为一种网络模型,它的具体使用必须依赖某种实现方式。部分反馈神经网络可以使用电子电路来实现,但更通用的实现方法是利用计算机编程语言。MATLAB就是一个非常好的选择,利用它可以方便地实现网络结构模型。MATLAB是美国MathWorks公司推出的科学计算软件,在科研和工程实践中获得了广泛的应用。MATLAB编程形式自由,可以方便地实现神经网络算法,且自带了神经网络工具箱,用户直接调用工具箱中的函数,即可使用神经网络模型解决实际问题。
目前国内有一些介绍MATLAB神经网络的书,但是随着MATLAB版本的更新,工具箱中函数不断变化,整体结构已经调整,市面上的书却没有跟上变化,与实际需求脱节。编写本书的目的,便是为了让读者了解神经网络的最新发展进程,并学会在最新的MATLAB版本中实现神经网络,并应用神经网络工具箱来解决实际问题。
本书是一本神经网络原理与实践相结合的书,涵盖了大部分主流的神经网络。它尽量以浅显易懂的语言讲解,让读者能理解神经网络的原理,并学会在MATLAB中实现神经网络。MATLAB版本逐年更新,神经网络工具箱中函数的结构安排已经改变,本书使用最新的MATLAB版本,使读者掌握应用工具箱解决实际问题的能力。本书讲解时附带了大量实例,对于简单的例子,本书除了使用工具箱函数外,还用手算的方式给出了自己的实现,便于读者理解神经网络的具体实现细节。
本书特色
1. 提供配套教学视频,高效、直观
为了便于读者高效、直观地学习本书中的内容,作者对每章的重点内容都特意制作了教学视频,这些视频和本书的实例源文件一起收录于配书光盘中。
2.软件版本较新,函数较新
MATLAB每年更新两次,神经网络工具箱也随之更新换代,许多旧的函数已经废弃不用,同时又有新的函数补充进来。已经出版的图书和网上的很多资料是旧版本的工具箱。本书基于MATLAB R2011b,介绍了新版本下的神经网络工具箱的使用方法。
3.内容全面,重点突出
神经网络根据结构的不同可以分为不同种类,本书内容涵盖从最简单的感知器到复杂的自组织竞争网络等类型的神经网络,对其原理进行了全面的介绍。在实际应用中,大部分场合使用的网络都是BP神经网络(多层感知器),而部分生僻的网络则在MATLAB中没有对应的工具箱函数。本书结合实用性,对常用的网络进行了重点讲解。
4.实例丰富,贴近实际
本书提供了大量的实例,每个例子都经过精挑细选,有很强的针对性。在实战篇中还提供了多个贴近工程实践的案例,便于读者了解实际应用。
5.循序渐进,先易后难,由浅入深
本书先介绍MATLAB编程基础,然后介绍神经网络及其工具箱函数。对每一种网络在三个层次上用实例讲解:介绍工具箱函数时用简单的实例,让读者了解函数的调用规则;在每章最后一节给出几个复杂一些的应用实例,并且用手算的方式给出网络内部的计算流程,让读者理解网络的运行规则;在本书的最后一章列举了若干个具体的应用案例,重点讲解如何对实际问题进行抽象,再选取恰当的神经网络解决该问题。
6.语言通俗,讲解详细,图文并茂
本书在讲解上力求详细,在原理分析上力求通俗易懂,且在一些简单的实例演示中,用纯MATLAB编程实现了部分简单的神经网络,有利于加深读者对神经网络的理解。为了增加可读性,本书给出了大量的代码及其实际运行生成的效果图。书中的代码力求完整,注释丰富,使读者一目了然。配书光盘中详细列出了书中的函数和脚本文件,方便读者运行、调试。
7.给出了大量的阅读和经验点拨
本书讲解时给出了大量需要读者注意的关键知识点和经验点拨,并在单独的模块中用不同的字体呈现出来,便于提醒读者注意,加深读者的印象。
8.提供“在线交流,有问必答”网络互动答疑服务
国内最大的MATLABandSimulink技术交流平台——MATLAB中文论坛(www.iLoveMatlab.cn)联合本书作者和编辑,一起为您提供与本书相关的问题解答和MATLAB技术支持服务,让您获得最佳的阅读体验。具体参与方式请详细阅读本书封底的说明。本书“有问必答”交流板块网址:www.iLoveMatlab.cn/forum-222-1.html。
本书主要内容
第1篇 入门篇(第1~第3章)
第1章 神经网络概述。主要介绍了神经网络的发展历程、神经网络的应用领域、网络模型原理及训练方式。
第2章 MATLAB快速入门。截至本书完稿,MATLAB的最新版本为MATLAB R2011b。这一章介绍了MATLAB的集成开发环境,使读者可以迅速上手。MATLAB语言简单易学,这一章从数据类型、流程控制、运算符、M文件编辑器等角度概述了MATLAB的特点。通过这一章的学习,读者可以利用MATLAB编写简单的程序。
第3章 MATLAB函数与神经网络工具箱。MATLAB具有丰富的内置函数。这一章给出了30个常用的函数的使用方法,并简要介绍了神经网络工具箱。
第2篇 原理篇(第4~第11章)
第4章 单层感知器。单层感知器是最简单的神经网络,尽管其功能可以通过其他复杂的网络实现,但依然有极佳的理论学习价值。
第5章 线性神经网络。线性神经网络又称Adaline,能解决线性可分的问题。对于线性不可分的问题,可使用其他网络模型,或者使用Adaline的变形形式。
第6章 BP神经网络。BP网络是神经网络理论中最精华的部分,也是实际应用中最常见的网络,它引入了误差反向传播算法,是一种多层前向网络。
第7章 径向基函数网络。径向基网络是一种三层前向网络,具有极强的非线性映射能力,且收敛速度明显快于BP神经网络。这一章包含普通的径向基网络和广义回归网络、概率神经网络。
第8章 自组织竞争神经网络。自组织神经网络往往使用无监督学习算法,用于解决聚类问题。其网络模型中包含竞争网络层,使用了竞争学习的学习方式。
第9章 反馈神经网络。反馈神经网络是与前向神经网络相对的一种网络形式,输出端的信息以反馈的形式返回到输入端构成输入的一部分。适用于联想记忆、数据预测等 场合。
第10章 随机神经网络。随机网络主要指Boltzmann机,其原理实际上与模拟退火算法相同。模拟退火算法是一种模拟退火过程的最优化算法,可用于求解函数极值。
第11章 用GUI设计神经网络。MATLAB提供了可视化神经网络工具nntool和nctool(分类聚类工具)、nftool(拟合工具)、nprtool(模式识别工具)、ntstool(时间序列工具)。
第3篇 实战篇(第12、第13章)
第12章 Simulink。Simulink是MATLAB软件提供的一个可视化仿真工具,用户可以在Simulink中通过简单的鼠标操作实现一个神经网络模型。
第13章 神经网络应用实例。这一章给出了7个具体的应用实例,涉及BP网络、径向基网络、反馈网络、概率神经网络、自组织神经网络,解决了图像、工业、金融、体育等领域的不同问题。
适合阅读本书的读者
* 神经网络的初学人员和提高者;
* 神经网络或机器学习算法的研究者;
* MATLAB进阶学习者;
* 高等学校相关课程的学生;
* MATLAB爱好者和研究人员。
本书作者
本书由陈明主笔编写。其他参与编写和资料整理的人员有武冬、郅晓娜、孙美芹、卫丽行、尹翠翠、蔡继文、陈晓宇、迟剑、邓薇、郭利魁、金贞姬、李敬才、李萍、刘敬、陈慧、刘艳飞、吕博、全哲、佘勇、宋学江、王浩、王康。
阅读本书的过程中,若发现本书有任何错漏或者对书中内容有任何疑问,您都可以通过电子邮件和我们取得联系。电子邮箱地址:bookservice2008@163.com。
编著者
陈明,毕业于天津大学信息与通信工程专业,获硕士学位。本科期间参加过全国电子设计大赛信息安全专题邀请赛,获三等奖。研究生阶段在天津大学信息学院图像中心学习,研究方向为图像处理、模式识别和视频编解码。由于学习和科研的需要开始接触MATLAB,用MATLAB解决过图像处理机器学习等领域的问题。对遗传算法和神经网络工具箱尤为熟悉,有丰富的MATLAB编程经验。编写过《MATLAB函数效率功能速查手册》一书。
第1篇 入门篇
第1章 神经网络概述(教学视频:10分钟)
1.1 人工神经网络简介
1.2 神经网络的特点及应用
1.2.1 神经网络的特点
1.2.2 神经网络的应用
1.3 人工神经网络的发展历史
1.4 神经网络模型
1.5 神经网络的学习方式
第2章 MATLAB快速入门(教学视频:48分钟)
2.1 MATLAB功能及历史
2.1.1 MATLAB的功能和特点
2.1.2 MATLAB发展历史
2.2 MATLAB R2011b集成开发环境
2.2.1 MATLAB的安装
2.2.2 MATLAB集成开发环境
2.2.3 搜索路径设定
2.3 MATLAB语言基础
2.3.1 标识符与数组
2.3.2 数据类型
2.3.3 运算符
2.3.4 流程控制
2.3.5 M文件
第3章 MATLAB函数与神经网络工具箱(教学视频:62分钟)
3.1 MATLAB常用命令
3.2 矩阵生成和基本运算
3.2.1 zeros生成全零矩阵
3.2.2 0nes生成全1矩阵
3.2.3 magic生成魔方矩阵
3.2.4 eye生成单位矩阵
3.2.5 rand生成均匀分布随机数
3.2.6 randn生成正态分布随机数
3.2.7 linspace产生线性等分向量
3.2.8 logspace产生对数等分向量
3.2.9 randperm生成随机整数排列
3.2.10 randi生成整数随机数
3.2.11 range向量的最大/最小值之差
3.2.12 minmax求最大/最小值
3.2.13 min/max/mean求最大/最小值
3.2.14 size/length/numel/ndims矩阵维度相关
3.2.15 sum/prod求和或积
3.2.16 var/std求方差与标准差
3.2.17 diag生成对角矩阵
3.2.18 repmat矩阵复制和平铺
3.2.19 reshape矩阵变维
3.2.20 inv/pinv矩阵求逆/求伪逆
3.2.21 rank/det求矩阵的秩/行列式
3.2.22 eig矩阵的特征值分解
3.2.23 svd矩阵的奇异值分解
3.2.24 trace求矩阵的迹
3.2.25 norm求向量或矩阵的范数
3.3 数学函数
3.3.1 abs求绝对值
3.3.2 exp/log指数函数/对数函数
3.3.3 log10/log2常用对数/以2为底的对数
3.3.4 fix/roun~ceil/floor取整函数
3.3.5 mod/rem取模数/余数
3.4 图形相关函数
3.4.1 plot绘制二维图像
3.4.2 坐标轴设置函数
3.4.3 subplot同一窗口分区绘图
3.4.4 figure/hold创建窗口/图形保持
3.4.5 semilogx/semilogy单对数坐标图
3.4.6 contour/clabel曲面等高线/等高线标签
3.4.7 gcf/gca/gco返回当前图形/坐标/对象句柄
3.4.8 mesh绘制三维网格图
3.5 神经网络工具箱
3.5.1 工具箱函数基本介绍
3.5.2 神经网络对象与属性
第2篇 原理篇
第3篇 实战篇