自1943年神经生物学家Me Culloch和青年数学家Pitts合作提出第一个人工神经元模型以来,神经网络经历了近70年的蓬勃发展,其类型之丰富、应用之广泛、影响之深远恐怕是初创者始料未及的。然而,从目前的文献资料来看,神经网络的效能远远未能实现最大化,人们对于各种神经网络的认识与应用也很不充分。因此,本书试图从两个方面来解决这一问题。
第一,尽可能全面、生动、形象地介绍各类神经网络。总体上来讲,神经网络分为三类,即前馈型、反馈型与自组织型。前馈型网络主要应用于拟合问题;反馈型网络主要应用于优化问题;自组织型网络主要应用于分类问题。但实际情况往往千差万别,如何根据实际情况使用神经网络需要进行深入研究,本书根据不同神经网络的特点,分析了各种具体实例下神经网络的使用方法,以达到抛砖引玉的效果。
第二,尽可能详细、严谨、直观地给出各种实例下神经网络的算法、源代码、Simulink方法与GUI方法。高效简洁的程序必须依赖高效简洁的算法。因此,本书一方面详细介绍常用神经网络的MATLAB函数,减少不必要的编程与公式推导;另一方面,重点推导了一些新型网络的MATLAB编程算法,最大限度地保证了程序的高效性、可读性、可移植性与可扩展性,读者再遇到相似问题时,只需修改程序中的若干参数即可,而无须再更改程序本身,省去了编程之苦。
基于以上两个方面,本书在介绍各类神经网络的基本原理、使用方法与MATLAB函数的同时,结合严谨的算法推导与通俗易懂的实例编程应用来说明各类神经网络解决问题的实际表现与编程技巧。各实例的内容简介如下。
实例1:主要介绍BP神经网络的基本原理、MATLAB函数,然后比较了BP神经网络拟合、多项式拟合与非线性拟合的基本理论、编程方法与实际表现。
实例2:由于高维输入容易造成“维数灾难”,该实例主要介绍通过主成分分析的方法实现神经网络的降维,减少计算规模,并利用该方法实现了对股票价格的预测。
实例3与实例4:由于BP神经网络常常存在多个局部极小值点,而常规的梯度下降法容易陷于这些区域“不能自拔”。因此,实例3与实例4分别利用遗传算法与粒子群算法具有全局寻优与跳出局部极值的能力,实现了BP神经网络权值学习的最优化,并列举了相应的实例作为旁证。
实例5:主要介绍了离散型Hopfield神经网络的工作原理、MATLAB函数、设计方法,利用该网络具有渐进稳定点的特点实现对交通标志的识别。
实例6:介绍了连续型号Hopfield神经网络的工作原理,重点推导了设计CHNN网络的方法、解决TSP问题的编程算法,并利用设计的CHNN网络与算法实现了旅游路线周线的规划。
实例7:主要介绍了感知器网络与线性网络的基本原理与MATLAB函数,并列举了相应的实例。
实例8:主要介绍了RBF神经网络的基本原理与MATLAB函数,根据太阳黑子预报的问题,比较了经典的ARMA预报方法、RBF网络与BP网络三者的实际表现。
实例9:介绍了GRNN网络的基本原理与统计学意义,特别介绍了UKF滤波方法,然后根据无源双地基雷达对飞机跟踪的问题比较了GRNN网络与UKF滤波方法的实际表现。
实例10:介绍了模糊逻辑理论、TS型模糊神经网络,重点推导了模糊神经网络的学习算法,并利用该网络实现了地基沉降量的预测。
实例11:主要介绍了概率神经网络的基本原理与MATLAB函数,并利用该网络将遥感图像按颜色分为了3类,效果显著。
实例12:介绍了小波理论与小波神经网络理论,重点推导了小波网络的学习算法,并利用该算法实现了电力负荷的预测。
实例13:由于神经网络PID控制是神经网络的重要应用,该实例介绍了PID控制的基本理论,并利用Hebb规则PID的自适应控制。
实例14:主要介绍了灰色理论与灰色神经网络的基本原理,重点推导了灰色网络的学习算法,并利用该网络实现了空调订单的预报。
实例15:主要介绍了混沌理论与Chebyshev神经网络的基本原理,重点推导了Chebyshev网络的学习算法,并利用该算法实现了字符串的异步加密,实现效果良好。
实例16:主要介绍了随机Hopfield神经网络检测器、CDMA通信模型与多用户检测器问题,然后利用随机Hopfield神经网络实现了最优CDMA多用户检测。
实例17:主要介绍了ELMAN神经网络的基本原理、MATLAB函数与RSSI无线定位技术,并运用ELMAN神经网络与RSSI技术初步实现了无线传感器的定位。
实例18:主要介绍了混沌通信的基本原理与混沌同步理论,利用混沌神经网络实现了LŰ混沌系统与Lorenz超混沌系统两种条件下的保密通信仿真。
实例19与实例20:主要介绍了Simulink方法及基于Simulink方法分别实现水反应器的神经网络控制与引信的神经网络去噪,并列举了相应的源代码。
实例21:主要介绍了SOM神经网络的基本原理与常用的聚类分析方法,给出了SOM网络与K均值聚类方法的MATLAB函数,并通过实例比较了两种方法的分类能力。
实例22:主要介绍了LVQ网络的基本原理、MATLAB函数及常用的图像边缘检测算法与MATLAB函数,并通过实例比较了LVQ网络与常用边缘检测方法对图像边缘的检测效果。
实例23:主要介绍了Kohonen神经网络的基本原理与学习算法,以及彩色图像智能分层方法,通过编程实现了Kohonen网络对彩色图像的智能分层。
实例24:主要介绍了Boltzman机的基本原理与模拟退火的基本理论,根据模拟退火初步解决了城市周游问题。
实例25:主要介绍了余弦基神经网络的基本理论和调制解调的基本原理,利用余弦基神经网络模拟椭圆滤波器,初步实现了信号的调制解调。
实例26与实例27:主要介绍了SVM分类器与回归方法的基本原理、工具箱函数及使用方法,并利用SVM分类器实现了DNA序列的分类,利用SVM回归方法实现了对上证指数开盘指数的回归分析。
实例28:主要介绍了量子神经网络的基本原理,重要推导了量子神经网络的学习算法,并利用该神经网络实现了对油气资源的评价与预测。
实例29:结合实例介绍了神经网络的数据管理工具箱、拟合工具箱,以及模式识别工具箱的图像界面及相应的使用方法。
实例30:设计了一种在理论上可以任意设置拓扑结构和无限扩展的BP神经网络,推导了该网络的算法,列举了该网络的源代码,通过实例验证了该算法的高效简洁性。
本书由杨杰、占君和张继传编著,在本书编写过程中,得到了贾东永博士的帮助,在此对他表示衷心的感谢。参与本书编写的还有高克臻、张云霞、许小荣、王冬、张银芳、周新国、陈作聪、苏静、张秀梅、张玉兰、李爽、王文婷,在此,对以上人员致以诚挚的谢意!
在本书的编写过程中参考了大量MATLAB相关书籍及MATLABsky论坛、研学论坛、MATLAB中文论坛、仿真论坛上的资源,在此,对相应作者一并表示感谢,同时对各位MATLAB的网友给予的启发和帮助表示感谢。
由于时间仓促,加之作者水平和经验有限,书中疏漏甚至错误在所难免,希望广大读者批评指正。
编著者