BP算法实现字母识别.docx

BP算法实现字母识别 - - - - - -精品可编辑word学习资料 gW7Y3L3I7Y5 — — hS2T7X4Q1D9 — — lV3D7L2W6V10 基于 BP 网络多层感知机的字母识别 摘要:本次试验主要使用了 BP 神经网络方法对给定的英文字母 A-Z 进展识别,并对应输出0-25 表示识别胜利;考虑的干扰因素的存在,在试验中分别测试了隐匿 16%和 33%样本数据的成效,使得网络具有肯定的容错才能;本次试验程序的编写主要使用了 C 语言; 关键词: BP神经网络;模式识别; C 语言 精品word学习资料可编辑 名师归纳总结——欢迎下载 |精. |品. |可. |编. |辑. |学. |习. |资. |料. * | * | * | * | |欢. |迎. |下. |载.  一、试验目的 明白 BP神经网络的原理与实现方法; 明白 BP神经网络各种优化算法的特点; 通过试验分析 BP 网络的识别和容错性能; 熟识 C语言编程的根本方法; 二、试验工具与方法 BP 网络简介 20 世纪 80 岁月中期,学者 Rumelhart 、McClelland 和他们的同事提出了多层前馈网络MFNN(MutltilayerFeedforward Neural Networks) 的反向传播学习算法,简称 BP 网络(Back Propagation Network) 学习算法; BP 网络是对非线性可微分函数进展权值训练的 多层前向网络;在人工神经网络的实际应用中, 80%~ 90%的模型都采纳 BP 网络或其变化形式; BP网络主要作用于以下几个方面: 函数靠近:用输入矢量和相应的输出矢量训练一个网络来靠近一个函数; 模式识别:用一个特定的输出矢量将它与输入矢量联系起来; 分类:把输入矢量以所定义的相宜的方式进展分类; 数据压缩:削减输出矢量的维数以便于数据传输或储备; BP 神经网络是一种多层前馈神经网络 , 该网络的主要特点是信号前向传递 , 误差反向传播;在前向传递中 , 输入信号从输入层经隐含层逐层处理 , 直至输出层; 每一层的神经元状态只影响下一层神经元状态; 假如输出层得不到期望输出 , 如此转入反向传播 , 依据猜测误差调 精品word学习资料可编辑 名师归纳总结——欢迎下载 整网络权值和阈值 , 从而使 BP 神经网络猜测输出不断靠近期望输出; BP 神经网络的拓扑结 构如图 1 所示; P1 w1 w2 T1 精品word学习资料可编辑 名师归纳总结——欢迎下载 |精. |品. |可. |编. |辑. |学. |习. |资. |料. * | * | * | * | |欢. |迎. |下. |载. P2 ; ; ; ; ; ; Tm Pn 输入层 隐匿层 输出层图 1 BP 神经网络拓扑结构图 图 1 中 P1,P2,??, Pn 是 BP 神经网络的输入值, T1 ,T2 ,?? Tm 是 BP 神经的猜测值, w1 和 w2 为 BP 神经网络权值;从图 1 可以看出, BP 神经网络可以看成一个非线性函数,网络输入值和猜测值分别为该函数的自变量和因变量; 当输入节点数为 n,输出节点数为 m 时,BP 神经网络就表达了从 n 个自变量到 m 个因变量的函数映射关系; BP 神经网络猜测前第一要训练网络 ,通过训练使网络具有联想记忆和猜测才能; BP 神经网络的训练过程包括以下几个步骤; 步骤 1: 网络初始化; 依据系统输入输出序列 〔p,t〕确定网络输入层节点数 n,隐含层节点数 x, 输出层节点数 m;初始化输入层、 隐含层和输出层神经元之间的连接权值 w、偏值 b 和学习速度 a,仍需要挑选相宜的鼓励函数;一般而言,初试权值和偏值是随机产生的较小实数; 步骤 2: 一轮学习完毕时,初始化各层前向输出值和各层敏锐性,主要完成置 0 工作; 步骤 3: 前向传播运算;依据公式, a0=p0,an=fn(wn*a n-1+bn)运算网络最终输出值 an,更新实际误差 e; 步骤 4: 精品word学习资料可编辑 名师归纳总结——欢迎下载 敏锐性 敏锐性运算;依据公式,第一逆推出 sn,然后依次反向运算出 sn-1-s1; 步骤 5: 权值、偏值更新;依据步骤 4 所得各层敏锐性更新权值 w 和对应偏值 b; 步骤 6: 一轮迭代完毕后,验证平均误差: e 是否满意误差要求 E,假如满意要求,如此训练学 习完成; 假如不满意误差要求, 就返回步骤 2 进展下一轮迭代, 如此反复直到满意误差要求 或者达到最大迭代次数,最终训练学习完成; 三、试验内容 1.网络的设计与试验前的预处理工作 网络的设计: 网络的挑选如图 2 所示: |品. |可. |编. |辑. |学. |习. |资. |料

文档评论(0)

1亿VIP精品文档

相关文档