《推荐2.4BP神经网络与BP网络设计》由会员分享,可在线阅读,更多相关《推荐2.4BP神经网络与BP网络设计(25页珍藏版)》请在金锄头文库上搜索。
1、图像处理教研室图像处理教研室图像处理教研室图像处理教研室2.4 BP2.4 BP神经网络模型与学习算法神经网络模型与学习算法1图像处理教研室图像处理教研室图像处理教研室图像处理教研室p三层三层BPBP网络网络2图像处理教研室图像处理教研室图像处理教研室图像处理教研室3图像处理教研室图像处理教研室图像处理教研室图像处理教研室2.4.2 BP2.4.2 BP网络的标准学习算法网络的标准学习算法p学习的过程:学习的过程:神经网络在外界输入样本的刺激下不断改变网神经网络在外界输入样本的刺激下不断改变网络的连接权值乃至拓扑结构,以使网络的输出络的连接权值乃至拓扑结构,以使网络的输出不断地接近期望的输出。
2、不断地接近期望的输出。p学习的本质:学习的本质:对可变权值的动态调整对可变权值的动态调整p学习规则:学习规则:权值调整规则,即在学习过程中网络中各神经权值调整规则,即在学习过程中网络中各神经元的连接权变化所依据的一定的调整规则。元的连接权变化所依据的一定的调整规则。pBPBP算法是一种学习规则算法是一种学习规则4BPBP算法的基本思想算法的基本思想p学习的类型:有导师学习学习的类型:有导师学习p核心思想:核心思想:将输出误差将输出误差以某种形式以某种形式通过隐层向输入层逐层反传通过隐层向输入层逐层反传p学习的过程:学习的过程:信号的正向传播信号的正向传播 误差的反向传播误差的反向传播将误差分摊
3、给各层的所有将误差分摊给各层的所有单元各层单元的误单元各层单元的误差信号差信号修正各单元权修正各单元权值值5BPBP算法的学习过程算法的学习过程p正向传播:正向传播:输入样本输入层各隐层输出层输入样本输入层各隐层输出层p判断是否转入反向传播阶段:判断是否转入反向传播阶段:若输出层的实际输出与期望的输出(教师信号)不若输出层的实际输出与期望的输出(教师信号)不符符p误差反传误差反传误差以某种形式在各层表示修正各层单元误差以某种形式在各层表示修正各层单元的权值的权值p网络输出的误差减少到可接受的程度网络输出的误差减少到可接受的程度进行到预先设定的学习次数为止进行到预先设定的学习次数为止6图像处理教
4、研室图像处理教研室图像处理教研室图像处理教研室BP算法的具体实现算法的具体实现(1)网络初始化;网络初始化; (4)利用网络期望输出向量,网络的实际输出,计算误差函数对输出层的各神利用网络期望输出向量,网络的实际输出,计算误差函数对输出层的各神经元的偏导数经元的偏导数 (5)利用隐含层到输出层的连接权值、输出层的和隐含层的输出计算误差函数对隐含层各神经元的偏导数: (6)利用输出层各神经元的和隐含层各神经元的输出来修正连接权值和阈值利用输出层各神经元的和隐含层各神经元的输出来修正连接权值和阈值 (7)使用隐含层各神经元的和输入层各神经元的输入修正连接权和阈值使用隐含层各神经元的和输入层各神经元
5、的输入修正连接权和阈值(8)计算全局误差)计算全局误差 (9)判断网络误差是否满足要求)判断网络误差是否满足要求 当或学习次数大于设定的最大次数,则当或学习次数大于设定的最大次数,则结束算法。否则,随机选取下一个学习样本及对应的期望输出,返回到结束算法。否则,随机选取下一个学习样本及对应的期望输出,返回到3),进入下一轮学习过程。),进入下一轮学习过程。 (2)随机选取第个输入样本及对应的期望输出随机选取第个输入样本及对应的期望输出 (3)计算隐含层各神经元的输入,然后用和激活函数计算计算隐含层各神经元的输入,然后用和激活函数计算隐含层各神经元的输出隐含层各神经元的输出 7图像处理教研室图像处
6、理教研室图像处理教研室图像处理教研室BP网的主要能力网的主要能力(1)非线性映射能力非线性映射能力 BP网能学习和存贮大量输入网能学习和存贮大量输入-输出模式映射关系,输出模式映射关系,而无需事先了解描述这种映射关系的数学方程。而无需事先了解描述这种映射关系的数学方程。只要能提供足够多的样本模式对供只要能提供足够多的样本模式对供BP网络进行网络进行学习训练,它便能完成由学习训练,它便能完成由n维输入空间到维输入空间到m维输维输出空间的非线性映射。出空间的非线性映射。8图像处理教研室图像处理教研室图像处理教研室图像处理教研室BP网的主要能力网的主要能力(2)泛化能力泛化能力 当向网络输入训练时未
7、曾见过的非样本数据当向网络输入训练时未曾见过的非样本数据时,网络也能完成由输入空间向输出空间的正确时,网络也能完成由输入空间向输出空间的正确映射。这种能力称为多层前馈网的泛化能力。映射。这种能力称为多层前馈网的泛化能力。(3)容错能力容错能力 输入样本中带有较大的误差甚至个别错误对网输入样本中带有较大的误差甚至个别错误对网络的输入输出规律影响很小。络的输入输出规律影响很小。9图像处理教研室图像处理教研室图像处理教研室图像处理教研室总结总结pBPBP神经网络模型神经网络模型pBPBP算法的实现算法的实现基本思想基本思想推导过程推导过程实现实现pBPBP学习算法的功能学习算法的功能10图像处理教研
8、室图像处理教研室图像处理教研室图像处理教研室补充: BP网络设计基础p一一 、训练样本集的准备、训练样本集的准备1.1.输入输出量的选择输入输出量的选择2.2.输入量的提取与表示输入量的提取与表示3.3.输出量的表示输出量的表示p二、输入输出数据的归一化二、输入输出数据的归一化p三、网络训练与测试三、网络训练与测试11图像处理教研室图像处理教研室图像处理教研室图像处理教研室1 输出量的选择p 输出量输出量: :代表系统要实现的功能目标代表系统要实现的功能目标系统的性能指标系统的性能指标分类问题的类别归属分类问题的类别归属非线性函数的函数值非线性函数的函数值一一 、训训练练样样本本集集的的准准备
9、备12图像处理教研室图像处理教研室图像处理教研室图像处理教研室输入量的选择p输入量选择的两条基本原则必须选择那些对输出影响大且能够检测必须选择那些对输出影响大且能够检测或提取的变量或提取的变量各输入变量之间互不相关或相关性很小各输入变量之间互不相关或相关性很小一一 、训训练练样样本本集集的的准准备备13图像处理教研室图像处理教研室图像处理教研室图像处理教研室输入输出量的性质输入输出量的性质p从输入、输出量的性质来看,可分为两类:一从输入、输出量的性质来看,可分为两类:一类是数值变量,一类是语言变量。类是数值变量,一类是语言变量。数值变量数值变量的值是数值确定的连续量或离散量。的值是数值确定的连
10、续量或离散量。语言变量语言变量是用自然语言表示的概念,其是用自然语言表示的概念,其“语语言值言值”是用自然语言表示的事物的各种属性。是用自然语言表示的事物的各种属性。当选用语言变量作为网络的输入或输出变量时,当选用语言变量作为网络的输入或输出变量时,需将其语言值转换为离散的数值量。需将其语言值转换为离散的数值量。一一 、训训练练样样本本集集的的准准备备14图像处理教研室图像处理教研室图像处理教研室图像处理教研室2. 输入量的提取与表示XC=(111100111)T XI=(111100111)T XT=(111100111)T(1)文字符号输入文字符号输入一一 、训训练练样样本本集集的的准准备
11、备15图像处理教研室图像处理教研室图像处理教研室图像处理教研室(2)曲线输入)曲线输入p=1,2,P一一 、训训练练样样本本集集的的准准备备16图像处理教研室图像处理教研室图像处理教研室图像处理教研室(3)(3)函数自变量输入函数自变量输入一般有几个输入量就设几个分量,一般有几个输入量就设几个分量,1 1个输入个输入分量对应分量对应1 1个输入层节点。个输入层节点。(4)(4)图象输入图象输入在这类应用中,一般先根据识别的具体目的在这类应用中,一般先根据识别的具体目的从图象中提取一些有用的特征参数,再根据从图象中提取一些有用的特征参数,再根据这些参数对输入的贡献进行筛选,这种特征这些参数对输入
12、的贡献进行筛选,这种特征提取属于图象处理的范畴。提取属于图象处理的范畴。一一 、训训练练样样本本集集的的准准备备17图像处理教研室图像处理教研室图像处理教研室图像处理教研室3. 输出量的表示(1)“n中取中取1”表示法表示法 “n中取中取1”是令输出向量的分量数等于类别数,输入样本被判是令输出向量的分量数等于类别数,输入样本被判为哪一类,对应的输出分量取为哪一类,对应的输出分量取1,其余,其余 n-1 个分量全取个分量全取0。例如,。例如,用用0001、0010、0100和和1000可分别表示优、良、中、差可分别表示优、良、中、差4个类别。个类别。(2)“n-1”表示法表示法 如果用如果用n-
13、1个全为个全为0的输出向量表示某个类别,则可以节省一个的输出向量表示某个类别,则可以节省一个输出节点。例如,用输出节点。例如,用000、001、010和和100也可表示优、良、中、差也可表示优、良、中、差4个类别。个类别。(3)数值表示法数值表示法 对于渐进式的分类,可以将语言值转化为二值之间的数值表示。对于渐进式的分类,可以将语言值转化为二值之间的数值表示。数值的选择要注意保持由小到大的渐进关系,并要根据实际意义拉数值的选择要注意保持由小到大的渐进关系,并要根据实际意义拉开距离。开距离。一一 、训训练练样样本本集集的的准准备备18图像处理教研室图像处理教研室图像处理教研室图像处理教研室二、输
14、入输出数据的归一化二、输入输出数据的归一化 归一化也称为或标准化,是指通过变换处理将网归一化也称为或标准化,是指通过变换处理将网络的输入、输出数据限制在络的输入、输出数据限制在0,1或或-1,1区间内。区间内。 进行归一化的主要原因:进行归一化的主要原因: 归一化的方法:归一化的方法:19图像处理教研室图像处理教研室图像处理教研室图像处理教研室进行归一化的主要原因:p网络的各个输入数据常常具有不同的网络的各个输入数据常常具有不同的物理意义和不物理意义和不同的量纲同的量纲,归一化给各输入分量以同等重要的地位;,归一化给各输入分量以同等重要的地位;pBPBP网的神经元均采用网的神经元均采用Sigm
15、oidSigmoid转移函数,变换后可防转移函数,变换后可防止因净输入的绝对值过大而使神经元输出止因净输入的绝对值过大而使神经元输出饱和饱和,继而,继而使权值调整进入误差曲面的平坦区;使权值调整进入误差曲面的平坦区;pSigmoidSigmoid转移函数的输出在转移函数的输出在0101或或-11-11之间。之间。教师信教师信号号如不进行归一化处理,势必使数值大的输出分量如不进行归一化处理,势必使数值大的输出分量绝绝对误差对误差大,数值小的输出分量绝对误差小。大,数值小的输出分量绝对误差小。二二、输输入入输输出出数数据据的的归归一一化化20图像处理教研室图像处理教研室图像处理教研室图像处理教研室
16、归一化的方法:将输入输出数据变换为将输入输出数据变换为0,1区间的值常用以下变换式区间的值常用以下变换式其中,xI代表输入或输出数据,xmin代表数据变化的最小值,xman代表数据的最大值。将输入输出数据变换为将输入输出数据变换为-1,1区间的值常用以下变换式区间的值常用以下变换式其中,xmid代表数据变化范围的中间值。二二、输输入入输输出出数数据据的的归归一一化化21图像处理教研室图像处理教研室图像处理教研室图像处理教研室三、网络训练与测试 网络的性能好坏主要看其是否具有很好的泛化能网络的性能好坏主要看其是否具有很好的泛化能力,对泛化能力的测试不能用训练集的数据进行,而要力,对泛化能力的测试不能用训练集的数据进行,而要用训练集以外的测试数据来进行检验。用训练集以外的测试数据来进行检验。三三、网网络络训训练练与与测测试试22图像处理教研室图像处理教研室图像处理教研室图像处理教研室 在隐节点数一定的情况下,为获得好的泛化能力,在隐节点数一定的情况下,为获得好的泛化能力,存在着一个最佳训练次数。存在着一个最佳训练次数。三三、网网络络训训练练与与测测试试23图像处理教研室图像处理教研室图像处理教研室图像处理教研室BPBP网络的网络的MATLABMATLAB实现实现p例例2-32-324