ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:894.72KB ,
资源ID:7330952      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-7330952.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(通信工程应用技术课程设计.docx)为本站会员(b****6)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

通信工程应用技术课程设计.docx

1、通信工程应用技术课程设计课程设计任务书学生姓名: XX 专业班级: XXXXX 指导教师: 苏杭 工作单位: 信息工程学院 题 目: 模式识别初始条件: 1、MATLAB 软件2、模式识别知识 要求完成的主要任务: 1、利用BP(Back-propagation)网络对于10个阿拉伯数字(用七段码表示)进行训练,将训练好的网络对于污染的数字进行识别。2、要求:学习BP算法;将数字用7维矢量表示;设计BP网络(7输入1输出);参考matlab神经网络工具箱时间安排:序号设计内容所用时间1根据任务,分析BP网络原理,确定实验方案2天2根据实验条件进行测试,并对结果进行分析7天3撰写课程设计报告1天

2、合 计2周 指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日摘 要 随着模式识别技术在当代高科技领域的发展,人工神经网络技术也有了突飞猛进的进步,并在各个领域有了广泛的应用,字符识别是模式识别理论的一个重要应用领域,是实现智能人机接口的重要途径。本文结合神经网络和字符识别做简单的讨论和研究。本文首先说明课题研究的目的和意义,简要介绍了神经网络理论的应用,然后分析了神经网络算法的基本原理,给出经典神经网络算法的具体实现方法,总结神经网络算法的特点,并给出神经网络算法的基本流程。采用Matlab软件编程实现BP神经网络算法,并且将神经网络算法应用于对数字的识别。设计了一个BP网络,

3、利用BP网络对于10个阿拉伯数字(用七段码表示)进行训练,将训练好的网络对于污染的数字进行识别。设计采用单隐层的BP网络,根据设计要求,可以确定样本为7维的输入向量。所以有7个神经元作为输入层。因为网络的输出数据只有一个,则输出层只有1个神经元。网络的训练函数是traingdm。关键词:神经网络,字符识别,BP 网络,学习AbstractWith the the development of pattern recognition technology in contemporaryhigh-tech fields, Artificial neural network technology h

4、as advanced by leaps andbounds of progress, In various fields and have a wide range of applications, Theoryof character recognition is an important pattern recognition applications, Intelligentman-machine interface is an important way. In this paper, character recognition neural network and simple d

5、iscussion and research.This paper first shows the purpose and significance of research, this paper briefly introduces the application of neural network theory. Then analyzes the basic principle of neural network algorithm, and gives the classical neural network algorithm is a concrete realization me

6、thod, summarizes the characteristics of the neural network algorithm, and gives the basic process of neural network algorithm. Using Matlab software programming to realize the BP neural network algorithm. And the neural network algorithm is applied to the digital identification. Design a BP network

7、(7 input and output). BP network for ten Arabic numerals (with seven segment code said) training, and will of the trained network digital identification for pollution. Design USES single hidden layer of BP network, according to the requirement of design, and the sample can be determined for 7 d inpu

8、t vector. So there are seven neurons as input layer. Because the network of output data is only one, the only one output layer neurons. Network training function is traingdm.Key words: neural network,character recognition,BP neural network ,learning1 绪论BP神经网络的介绍BP神经网络是目前人工神经网络模式中最具代表性,应用得最广泛的一种模型,具有

9、自学习、自组织、自适应和很强的非线性映射能力,可以以任意精度逼近任意连续函数.近年来,为了解决BP网络收敛速度慢,训练时间长等不足,提出了许多改进算法.然而,在针对实际问题的BP网络建模过程中,选择多少层网络,每层多少个神经元节点,选择何种传递函数等,均无可行的理论指导,只能通过大量的实验计算获得.MATLAB中的神经网络工具箱(Neural NetworkToolbox,简称NNbox),为解决这一问题提供了便利的条件.神经网络工具箱功能十分完善,提供了各种MATLAB函数,包括神经网络的建立、训练和仿真等函数,以及各种改进训练算法函数,用户可以很方便地进行神经网络的设计和仿真,也可以在MA

10、TLAB源文件的基础上进行适当修改,形成自己的工具包以满足实际需要。1.2 神经网络理论的应用神经网络理论的应用取得了令人瞩目的发展,特别是在人工智能、自动控制、计算机科学、信息处理、机器人、模式识别、CAD/CAM等方面都有重大的应用实例。下面列出一些主要应用领域:(1)模式识别和图像处理。印刷体和手写字符识别、语音识别、签字识别、指纹识别、人体病理分析、目标检测与识别、图像压缩和图像复制等。(2)控制和优化。化工过程控制、机器人运动控制、家电控制、半导体生产中掺杂控制、石油精炼优化控制和超大规模集成电路布线设计等。(3)预报和智能信息管理。股票市场预测、地震预报、有价证券管理、借贷风险分析

11、、IC卡管理和交通管理。(4)通信。自适应均衡、回波抵消、路由选择和ATM网络中的呼叫接纳识别和控制。(5)空间科学。空间交汇对接控制、导航信息智能管理、飞行器制导和飞行程序优化管理等。2 BP神经网络2.1神经网络的定义简介神经网络是由多个神经元组成的广泛互连的神经网络, 能够模拟生物神经系统真实世界及物体之间所做出的交互反应. 人工神经网络处理信息是通过信息样本对神经网络的训练, 使其具有人的大脑的记忆, 辨识能力, 完成名种信息处理功能. 它不需要任何先验公式, 就能从已有数据中自动地归纳规则, 获得这些数据的内在规律, 具有良好的自学习, 自适应, 联想记忆, 并行处理和非线性形转换的

12、能力, 特别适合于因果关系复杂的非确定性推理, 判断, 识别和分类等问题. 对于任意一组随机的, 正态的数据, 都可以利用人工神经网络算法进行统计分析, 做出拟合和预测. 基于误差反向传播(Back propagation)算法的多层前馈网络(Multiple-layer feedforward network, 简记为BP网络), 是目前应用最成功和广泛的人工神经网络.2.2 BP网络的特点(1)输入和输出是并行的模拟量;(2)网络的输入输出关系是各层连接的权因子决定,没有固定的算法;(3)权因子通过学习信号调节。学习越多,网络越聪明;(4)隐含层越多,网络输出精度越高,且个别权因子的损坏不

13、会对网络输出产生大的影响,只有当希望对网络的输出进行限制,如限制在0和1之间,那么在输出层应当包含S型激活函数。在一般情况下,均是在隐含层采用S型激活函数,而输出层采用线性激活函数。2.3 BP模型的基本原理BP网络是一种有教师的学习网络,它首先要以一定的学习准则学习,然后才能工作,下面简要描述一下它的学习方法。以BP网络对手写A、B两个字母的识别为例进行说明:规定当“A”输入网络时,应该输出“1”,而当“B”输入网络时,应该输出“0”,所以BP网络的学习准则应该是:如果BP网络做出错误的判决,则通过网络权值的调整,使得BP网络减少下次再出错的可能性。首先,给BP网络的各连接权值赋予(0,1)

14、区间内的随机值,将“A”所对应的图像模式输入给BP网络,BP网络将收到的输入模式加权求和、与门限比较、再进行非线性运算,得到BP网络的输出。在此情况下,BP网络输出为“0”和“1”的概率各为百分之五十。也就是说完全随机的。这时如果输出为“1”(结果正确),则使连接权值增大,以便使BP网络是再次遇到“A”模式输入时,仍然能够做出正确的判断。如果输出为“0”(即结果正确),则把BP网络连接权值朝着减小综合输入加权值的方向调整,其目的在于使BP网络是再次遇到“A”模式输入时,减小犯同样错误的可能性。如此操作调整,当给BP网络轮番输入若干个手写字母“A”、“B”后,经过BP网络按以上学习方法进行若干次

15、学习后,BP网络判断的正确率将大大提高。这说明BP网络对这两个模式的学习已经取得了巨大成功。它已经将这两个模式分布的记忆在BP网络的各个连接权值上。当BP网络再次遇到其中任何一个模式时,能够做出迅速、准确的判断和识别。一般说来,BP网络中所含的神经元个数越多,则它能记忆、判断、识别的模式也就越多。简言之,它的中心细想就是调整权值,以便使网络总误差最小。也就是采用梯度搜索技术,以期使网络的实际输出值与期望输出值的误差均方值为最小。多层网络运用BP 学习算法时,实际上包含了正向和反向传播两个阶段。在正向传播过程中,输入信息从输入层经隐含层逐层处理,并传向输出层,每一层神经元的状态只影响下一层神经元

16、的状态。如果在输出层不能得到期望输出,则转入反向传播,反向传播时,把误差信号按原来正向传播的通路反向传回,并对每个隐层的各个神经元的权系数进行修改,以望误差信号趋向最小。2.4 BP神经网络的基本算法设第K层的第j个神经元的输入总和为,输出总和为,K-1层的第i个神经元与第K层的第j个神经元的连接权值为,则有以下公式: (2.3.1) (2.3.2)对于给定的任一输入模式,若网络的第K层的第j个神经元的输入误差为,则使权值沿着误差的负梯度方向变化,即有以下公式: (2.3.3)式中的是权值调整因子。这个算法的学习过程,由正向传播和反向传播组成,正向传播过程,输入模式从输入层,经隐单元层逐层处理

17、,并传向输出层,每一层神经元的状态只影响下一层神经元的状态。如果在输出层不能得到期望的输出,则转入反向传播,将误差信号沿着原来的连接通路返回,通过修改各神经元的权值,使得误差信号最小。 具体的,其调整规则为对于每一样本p 的输入模式对的二次型误差函数为: (2.3.4) 则系统对所有N 个训练样本的总误差函数为: (2.3.5) 式中, N 为模式样本对数; L 为网络输出节点数。一般来说,基于Jp 还是基于J 来完成加权系数空间的梯度搜索会获得不同的结果。在Rumelhart 等人的学习加权的规则中,学习过程按使误差函数Jp减小最快的方向调整加权系数直到获得满意的加权系数集为止。这里的加权系

18、数的修正时顺序操作的,网络对各模式对一个一个地顺序输入并不断进行学习,类似于生物神经网络的处理过程,但不是真正的梯度搜索过程。如果学习过程按使误差函数J 减小最快的方向调整加权系数,采用类似的推导过程可得输出层和隐含层的任意神经元k 和i 在所有样本作用时的加权系数增量公式为: (2.3.6) (2.3.7)根据式(2.3.6)和(2.3.7)所得权值的修正是在所有样本输入后,计算完总的误差后进行的,这种修正称为批处理学习或称为离线学习。批处理修正可保证其总误差J 向减少的方向变化,在样本多的时候,它比在线学习的收敛速度快。2.5 BP神经网络算法的基本步骤BP算法的基本步骤如下:1、选取学习

19、算子,一个小的正数;2、网络权值初始化,即将较小随机数赋给权值;3、取得训练样本及对应的教师;4、计算由输入层到隐含层的每个神经元的加权和;5、计算由隐含层到输入层的每个神经元的加权和,(4、5两步是正向传播过程);6、将输出层和教师进行比较,求得误差。如果误差不满足要求,就根据此误差权值;7、重复3到6,直到网络收敛。经过学习大量的样本,记录调整后的权值,使用此权值数据对新的样本进行识别并计算识别率。 3 BP网络的设计3.1网络的层数理论上已证明:具有偏差和至少一个S型隐含层加上一个线性输出层的网络,能够逼近任何有理数。增加层数可以更进一步的降低误差,提高精度,但同时也使网络复杂化,从而增

20、加了网络权值的训练时间。而误差精度的提高实际上也可以通过增加神经元数目来获得,其训练效果也比增加层数更容易观察和调整。所以一般情况下,应优先考虑增加隐含层中的神经元数。3.2 隐含层的神经元数网络训练精度的提高,可以通过采用一个隐含层,而增加神经元数目的方法来获得。这在结构实现上,要比增加隐含层数要简单得多。那么究竟选取多少隐含层节点才合适?这在理论上并没有一个明确的规定。在具体设计时,比较实际的做法是通过对不同神经元数进行训练对比,然后适当地加上一点余量。3.3 初始权值的选取由于系统是非线性的,初始值对于学习是否达到局部最小、是否能够收敛及训练时间的长短关系很大。如果初始值太大,使得加权后

21、的输入和n落在了S型激活函数的饱和区,从而导致其导数f(n)非常小,而在计算权值修正公式中,因为,当f(n)时,则有。这使得,从而使得调节过程几乎停顿下来。所以一般总是希望经过初始加权后的每个神经元的输出值都接近于零,这样可以保证每个神经元的权值都能够在它们的S型激活函数变化最大之处进行调节。所以,一般取初始权值在(-1,1)之间的随机数。3.4 学习速率学习速率决定每一次循环训练中所产生的权值变化量。大的学习速率可能导致系统的不稳定;但小的学习速率导致较长的训练时间,可能收敛很慢,不过能保证网络的误差值不跳出误差表面的低谷而最终趋于最小误差值。所以在一般情况下,倾向于选取较小的学习速率以保证

22、系统的稳定性。学习速率的选取范围在0.01-0.8之间。NBP学习算法的流程图:图3-1 BP学习算法的流程图4 MATLAB 神经网络部分4.1 MATLAB的BP神经网络及其函数介绍MATLAB 神经网络工具箱提供了丰富的演示实例,用MATLAB 语言构造了典型的神经网络的激活函数,编写了各种网络设计与训练的子程序。网络的设计者可以根据自己的需要调用工具箱中有关BP神经网络设计的训练程序。MATLAB 神经网络工具箱提供了许多进行神经网络设计和分析的工具函数,这给用户带来了极大的方便,即使不了解算法的本质,也可以直接应用功能丰富的函数来实现自己的目的。有关这些工具函数的使用可以通过help

23、 命令得到。4.2 BP神经网络中几种重要函数及其功能(1)BP 神经网络初始化函数initff()在设计一个BP 网络时,只要已知网络的输入网络的取值范围、各层的神经元的个数及传输函数,就可以利用初始化函数initff()对BP 神经网络网络进行初始化。函数initff()可最多对三层神经网络进行初始化即可得到每层的权值和偏值。其调用格式为 W1,B1,W2,B2=initff(Xr,S1,Tf1,S2,Tf2)W1,B1,W2,B2=initff(Xr,S1,Tf1,S2,Tf2,S3,Tf3)式中,Xr 为一个向量矩阵,它决定了输入向量的最小值和最大值的取值范围;S,Si 为各层神经元的

24、个数;Tf,Tfi 为各层的传输函数;W 和Wi 为初始化后各层权值矩阵;B 和Bi 为初始化后各层的偏值向量。另外,输出层神经元的个数S 或Si 可以用对应的向量T来代替,此时输出神经元数根据T 中的行数来设置。(2)利用BP 算法训练前后网络函数trainbp()BP 神经网络学习规则为调整网络的权值和偏值使网络误差的平方和为最小。这是通过在梯度下降方向上不断地调整网络的权值和偏值来达到的。该函数的调用格式为W1,B1,W2,B2,te,tr=trainbp(w1,b1,Tf1w2,b2,Tf2,X,T,tp)式中,w 和W(及wi 和Wi)分别为训练前后的权值矩阵;b 和B(及bi 和B

25、i)分别为训练前后的偏值向量;te 为实际训练次数;tr 为网络训练误差平方和的行向量;Tf 和Tfi为传输函数;X 为输入向量;T 为目标向量;tp=disp_frep max_epoch err_goal lr是训练控制参数,其作用是设定如何进行训练,其中tp1)显示间隔次数,默认值为25;2)显示最大循环次数,默认值为100;3)为目标误差平方和,默认值为0.02;(3)用快速BP 算法训练前向网络函数trainbpx( )使用动量因子时,BP 算法可找到更好的解,而自适应学习率也可以使训练时间大大缩短。该函数的调用格式为W1,B1,W2,B2,te,tr=trainbpx(w1,b1,

26、Tf1,w2,b2,Tf2,X,T,tp)式中,w 和W(及wi 和Wi)分别为训练前后的权值矩阵;b 和B(及bi 和Bi)分别为训练前后的偏值向量;te 为实际训练次数;tr 为网络训练误差平方和的行向量;Tf 和Tfi 为传输函数;X 为输入向量;T 为目标向量;tp 是训练控制参数,其作用是设定如何训练。(4)BP网络学习规则函数learnbp( ) BP 神经网络学习规则为调整网络的权值和偏值使网络误差的平方和达到最小。这是通过在梯度下降法最陡方向上不断地调整网络的权值和偏值来达到的,计算网络输出层的误差矢量导数,然后反馈回网络,直到每个隐含层的误差导数都达到要求,这可根据函数del

27、tatan()、deltalin()、和deltalog()计算。根据BP 准则,每一层的权值矩阵w 利用本层的误差导数矢量和输入向量来更新。该函数的调用格式为 dW,dB=learnbp(X,delta,lr)。式中,X 为本层的输入向量;delta 为误差导数矢量;lr 为学习速率;dW 为权值修正阵;dB 为偏值修正向量。最新版本的神经网络工具箱几乎涵盖了所有的神经网络的基本常用模型,如感知器和BP网络等。对于各种不同的网络模型,神经网络工具箱集成了多种学习算法,为用户提供了极大的方便。Matlab R2010a神经网络工具箱中包含了许多用于BP网络分析与设计的函数,BP网络的常用函数如

28、表4.1所示。表4.1 BP网络的常用函数表函数类型函数名称函数用途 前向网络创建函数newcf创建级联前向网络Newff创建前向BP网络传递函数logsigS型的对数函数tansigS型的正切函数purelin纯线性函数学习函数learngd基于梯度下降法的学习函数learngdm梯度下降动量学习函数性能函数 mse均方误差函数msereg均方误差规范化函数 显示函数plotperf绘制网络的性能plotes绘制一个单独神经元的误差曲面plotep绘制权值和阈值在误差曲面上的位置errsurf计算单个神经元的误差曲面5 程序设计及仿真结果5.1 程序设计(1)首先创建一个两层网络。先用理想的

29、输入信号对网络进行训练,直到平方和误差足够小。接下来,用理想信号和带有噪声的信号对网络进行训练。在输入带有误差的向量时,要输入两倍重复的无误差信号,这样做的目的是为了保证网络的稳定性。(2)对无噪声信号的训练。使用原始标准的信号对网络进行训练,当训练时间达到1000个时间单位或者是网络平方和误差小于0.01时停止网络的训练。(3)对含有噪声信号的训练。用标准的数字向量和加噪声的信号向量分别训练网络,设置噪声信号平均值分别为0.1和0.2。(4)再次对无噪声信号进行训练。为了保证网络总是能够正确地对理想输入进行分类,我们需要再一次用无噪声的理想信号对网络进行训练(5)对污染数字进行识别。5.2

30、仿真结果5.2.1 网络测试对于训练好的网络进行仿真:在命令框输入A = sim(net,P) ,对网络进行测试。测试结果如下:图5-1 网络测试结果5.2.2测量网络容错性共分10个噪声级别,在每个噪声级别上分别利用100个噪声信号进行试验图5-2 网络容错性结果(噪声0.5)由上图可以看出经过噪声训练的网络其误差明显小于未经噪声训练的网络,说明,对神经网络进行噪声训练是很有必要的,这样可以增强网络的去噪性能,对网络性能的提高有很大的帮助。5.2.3 对污染的数字进行识别以噪声水平为0.5的噪声信号对数字进行污染,并分别利用含噪声和不含噪声的数字样本进行训练的网络对其进行识别。图5-3 对污

31、染的数字识别(噪声0.5 traingdx函数)从上图中可以看出,经过含噪声训练的网络对数字的识别效果更好,错了2个,而未含噪声训练的网络对数字的识别错了6个。5.2.4 改变噪声水平对仿真的影响分别以噪声水平为0.1和0.3的噪声信号对数字进行污染,并分别利用含噪声和不含噪声的数字样本进行训练的网络对其进行识别。图5-4 网络容错性结果(噪声0.1)图5-5 网络容错性结果(噪声0.3)对比以上两图以及图5-2,可知在一定范围内随着噪声的增大,仿真的误差越来越大,明了BP神经网络的局限性。再观察对污染的数字识别效果:图5-6对污染的数字识别(噪声0.1) 。图5-7 对污染的数字识别(噪声0.3)对比以上两图及图5-3,明显知经过噪声训练的网络的仿真结果优于未经过噪声训练的网络,但是在噪声为0.3时两种网络均能识别,说明bp神经网络自身有一定的去噪能力。6 心得体会本次课程设计主要任务是完成BP神经网络的设计,对我来说这个题目还是很有挑战性的,因为自己对MATLAB中有关BP神经网络的设计知识了解较少,但正是这种有挑战性的题目才能提高自己的能力,才有研究价值,入手这

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2