BP神经网络

来源:互联网 发布:java如何定位内存泄露 编辑:程序博客网 时间:2024/05/18 01:42
2017.10.9
BP神经网络
人工神经网络的一种,模拟人类大脑的神经元工作而成。神经网络是由大量的分析处理单元相互首位连接而成的处理系统,是对人脑思维的模拟和简化,反映了人脑在处理问题时的智能想法和处理问题之后的事件反思。
一、特点:思维,记忆,反馈,是先进的处理、模拟、预测信息的统计方法。
二、结构:输入层,隐层,输出层
     按照误差反向传播算法训练的多层前馈神经网络。
三、原理:无需事先确定输入输出之间映射关系的数学方程,仅通过自身的训练学习某种规则,在给定输入值时得到最接近期望输出值的结果。
四、实现核心:BP算法——按误差反向传播训练的多层前馈网络。
                   ————基本思想:梯度下降法
梯度下降法:利用梯度搜索技术,以期使网络的实际输出值和期望输出值的误差均方差最小。
五、过程:
1、信号的前向传播:计算误差的输出
    正向传播时,输入信号通过隐含层作用于输出节点,经过非线性变换,产生输出信号。若实际输出与期望输出不符,则转入误差的反向传播过程。
2、误差的反向传播:调整权值和阈值
    将输出误差通过隐含层向输入层逐层反传,并将误差分摊给各层所有单元,以从各层获得的误差信号作为调整各单元权值的依据,使调整后,误差沿着梯度方向下降。
3、经过反复学习训练,确定与误差最小相对应的网络参数(阈值/权值)。
六、参数确定
1、隐层数确定
理论推导证明:对于任意在闭区间内的连续函数,都可以用一个隐层的BP拓扑网络来逼近,可进行多维到多维的映射。
2、常用传递函数
sigmod
tannsig
logsig
purelin
七、例子:车牌识别系统
1、车牌图像预处理
(1)图像提取:平滑处理/去噪(中值滤波,低通/高通滤波),边缘增强,边缘检测(sobel算子),倾斜度矫正(Hough变换),灰度化(二值化),连通域,图像增强(直方图均衡,分段线性函数)
(2)字符分割:灰度信息,垂直投影
(3)字符识别:BP神经网络
2、BP网络字符识别系统
算法描述如 下:
(1) 初始化网络及学习参数, 如设置网络初始权矩阵、学习因子等。


(2) 提供训练模式,训练网络, 直到满足学习要求。


(3) 前向传播过程: 对给定训练模式输入,计算网络的输出模式, 并与期望模式比较, 若有误差 , 则执行 (4) ; 否则, 返回(2) 。


(4) 后向传播过程:a 、计算同一层单元的误差; 
                 b 、修正权值和阈值; 
                 c 、返回(2) 。 


原创粉丝点击