基于BP网络多层感知机的字母识别
摘要:本次实验主要使用了BP神经网络方法对给定的英文字母A-Z进行识别,并对应输出0-25表示识别成功。考虑的干扰因素的存在,在实验中分别测试了隐藏16%和33%样本数据的效果,使得网络具有一定的容错能力。本次实验程序的编写主要使用了C语言。 关键词:BP神经网络;模式识别;C语言
一、实验目的
1. 了解BP神经网络的原理与实现方法。 2. 了解BP神经网络各种优化算法的特点。 3. 通过实验分析BP网络的识别和容错性能。 4. 熟悉C语言编程的基本方法。
二、实验工具与方法 1.BP网络简介
20世纪80年代中期,学者Rumelhart、McClelland和他们的同事提出了多层前馈网络MFNN(MutltilayerFeedforward Neural Networks)的反向传播学习算法,简称BP网络(Back Propagation Network)学习算法。BP网络是对非线性可微分函数进行权值训练的多层前向网络。在人工神经网络的实际应用中,80%~90%的模型都采用BP网络或其变化形式。 BP网络主要作用于以下几个方面:
(1)函数逼近:用输入矢量和相应的输出矢量训练一个网络来逼近一个函数。 (2)模式识别:用一个特定的输出矢量将它与输入矢量联系起来。 (3)分类:把输入矢量以所定义的合适的方式进行分类。 (4)数据压缩:减少输出矢量的维数以便于数据传输或存储。
2.BP算法实现具体步骤
BP神经网络是一种多层前馈神经网络,该网络的主要特点是信号前向传递,误差反向传播。在前向传递中,输入信号从输入层经隐含层逐层处理,直至输出层。每一层的神经元状态只影响下一层神经元状态。如果输出层得不到期望输出,则转入反向传播,根据预测误差调整网络权值和阈值,从而使BP神经网络预测输出不断逼近期望输出。BP神