BP算法过程
(1)初始化
对权值矩阵W、V赋随机数,将样本模式计数器p和训练次数计数器q置为1,误差E置0,学习率η设为0~1内的小数,网络训练后达到的精度设为一个正的小数。
(2)输入训练样本对,计算各层输出用当前样本对X,d序列赋值
(3)计算网络输出误差设共有P对训练样本,网络对于不同的样本具有不同的误差:
采用均方根误差作为总误差:
(4)计算各层误差信号
(5)调整各层权值
(6)检查是否对所有样本完成一次轮训
若p<,P,计数器p、增1,返回步骤(2),否则转步骤(7)。
(7)检查网络总误差是否达到精度要求
BP神经网络设计与训练
1.BP神经网络的设计方法
按照BP神经网络设计方法选用两层BP网络。采用newff函数来建立BP网络。其输入节点数为16×16=256,隐层传输函数为Sigmoid函数。假设用一个输出节点表示10个数字,则输出层传输函数为pureline,隐层节点数为,取25。
2.神经网络仿真程序设计
构造训练样本集,并构成训练所需的输入向量p和目标向量t.通过画图工具获得数字。本例构造了新宋体12号、8号字体各10个,黑体12号、8号各10个,及宋体加粗18号字体。
3.神经网络测试。
由于图像处理的复杂性,对于不同噪声的污染选择不同的方法,选择没有噪声的数字进行测试。选择训练样本中的任意数据进行测试,结构非常正确。选择生成的新宋体8号大小的数字进行测试。结果正确,选择其他类型的字体进行测试,则结果不是完全正确。