实验五 BP 神经网络分类器
一、 实验目的
(1) 掌握基于随机梯度下降法的两层 sigmoid 神经元的 BP 算法。
(2) 掌握用 MATLAB 神经网络工具箱提供的函数设计 BP 网络。
(3) 检验分类器的有效性。
二、 相关知识
BP 网络是一种单向传播的多层前向网络,输入信号依次传过各隐层神经元,
然后传到输出神经元。BP 网络是一种映射表示方法,是对简单的非线性函数进
行复合,经过少数几次复合后,就可以实现复杂的函数拟合。
BP 网络的学习过程由正向和反向传播两部分组成。在正向传播过程中,从
输入层开始向后逐层计算输出,产生最终输出,并计算实际输出与目标输出间的
误差。在反向传播过程中,从输出层开始向前逐层传播误差信号,修正权值,再
经过正向传播过程,反复这两个过程,直到网络输出值和目标值之间的误差小于
给定精度要求。
三、 实验设计
1. 曲线拟合:创建 BP 神经网络
输 入 向 量 P = [ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 ] ;
P=[0,1,2,3,4,5,6,7,8,9,10];P=[0,1,2,3,4,5,6,7,8,9,10];
期 望 输 出 T = [ 0 , 1 , 2 , 3 , 4 , 3 , 2 , 1 , 2 , 3 , 4 ] ;
T=[0,1,2,3,4,3,2,1,2,3,4];T=[0,1,2,3,4,3,2,1,2,3,4];
在建立 BP 神经网络模型以及训练(即更新权重与偏置)Matlab 有自带的函
数,在实现 BP 神经网络算法的时候,我们直接调用这些函数就可以。