《第28章基于BP的数据分类ppt课件》由会员分享,可在线阅读,更多相关《第28章基于BP的数据分类ppt课件(16页珍藏版)》请在金锄头文库上搜索。
1、第二十八章,MATLAB优化算法案例分析与应用,第28章 基于BP的数据分类,第二十八章,MATLAB优化算法案例分析与应用,28.1 BP神经网络基本原理,人工神经网络(artificial neural network,ANN)是模仿生物神经网络功能的一种经验模型。生物神经元受到传入的刺激,其反应又从输出端传到相联的其它神经元,输入和输出之间的变换关系一般是非线性的。神经网络是由若干简单(通常是自适应的)元件及其层次组织,以大规模并行连接方式构造而成的网络,按照生物神经网络类似的方式处理输入的信息。模仿生物神经网络而建立的人工神经网络,对输入信号有功能强大的反应和处理能力。,人脑大约由10
2、12个神经元组成,神经元互相连接成神经网络。神经元是大脑处理信息的基本单元,以细胞体为主体,由许多向周围延伸的不规则树枝状纤维构成的神经细胞,其形状很像一棵枯树的枝干。它主要由细胞体、树突、轴突和突触组成。如图28.1所示。,第二十八章,MATLAB优化算法案例分析与应用,28.1 BP神经网络基本原理,图28-1 生物神经元,第二十八章,MATLAB优化算法案例分析与应用,28.1 BP神经网络基本原理,BP(Back Propagation)神经网络是一种神经网络学习算法。其由输入层、中间层、输出层组成的阶层型神经网络,中间层可扩展为多层。相邻层之间各神经元进行全连接,而每层各神经元之间无
3、连接,网络按有教师示教的方式进行学习,当一对学习模式提供给网络后,各神经元获得网络的输入响应产生连接权值(Weight)。然后按减小希望输出与实际输出误差的方向,从输出层经各中间层逐层修正各连接权,回到输入层。此过程反复交替进行,直至网络的全局误差趋向给定的极小值,即完成学习的过程。,第二十八章,MATLAB优化算法案例分析与应用,28.2 BP神经网络算法步骤,BP算法是一种有监督式的学习算法,其主要思想是:输入学习样本,使用反向传播算法对网络的权值和偏差进行反复的调整训练,使输出的向量与期望向量尽可能地接近,当网络输出层的误差平方和小于指定的误差时训练完成,保存网络的权值和偏差。 具体步骤
4、如下: (1)初始化,随机给定各连接权及阀值; (2)由给定的输入输出模式对计算隐层、输出层各单元输出; (3)计算新的连接权及阀值; (4)选取下一个输入模式对返回第2步反复训练直到网络设输出误差达到要求结束训练。,第二十八章,MATLAB优化算法案例分析与应用,28.2 BP神经网络算法步骤,传统的BP算法,实质上是把一组样本输入/输出问题转化为一个非线性优化问题,并通过负梯度下降算法,利用迭代运算求解权值问题的一种学习方法,但其收敛速度慢且容易陷入局部极小,为此一般应用中常采用高斯消元法进行BP网络的学习和训练,即: 对给定的样本模式对,随机选定一组自由权,作为输出层和隐含层之间固定权值
5、,通过传递函数计算隐层的实际输出,再将输出层与隐层间的权值作为待求量,直接将目标输出作为等式的右边建立方程组来求解。 具体步骤如下: (1)随机给定隐层和输入层间神经元的初始权值。 (2)由给定的样本输入计算出隐层的实际输出。 (3)计算输出层与隐层间的权值。以输出层的第r个神经元为对象,由给定的输出目标值作为等式的多项式值建立方程。 (4)重复第三步就可以求出输出层m个神经元的权值,以求的输出层的权矩阵加上随机固定的隐层与输入层的权值就等于神经网络最后训练的权矩阵。,第二十八章,MATLAB优化算法案例分析与应用,28.3 BP网络的语音信号识别,语音特征信号识别是语音识别研究领域中的一个重
6、要方面,一般采用模式匹配的原理解决。语音识别的运算过程为:首先,待识别语音转化为电信号后输入识别系统,经过预处理后用数学方法提取语音特征信号,提取出的语音特征信号可以看成该段语音的模式。然后将该段语音模型同已知参考模式相比较,获得最佳匹配的参考模式为该段语音的识.洲结果。语音识别流程如图28-2所示。,图28-2 语音识别流程图,BP神经网络构.建根据系统输人输出数据特点确定BP神经网络的结构,由丁语音特征输入信号有24维,待分类的语音信号共有4类,所以BP神经网络的结构为24-25-4,即输人层有24个节点,隐含层有25个节点,输出层有4个节点。,第二十八章,MATLAB优化算法案例分析与应
7、用,28.3 BP网络的语音信号识别,% 网络预测输出 x=inputn(:,i); % 隐含层输出 for j=1:1:midnum I(j)=inputn(:,i)*w1(j,:)+b1(j); Iout(j)=1/(1+exp(-I(j); end % 输出层输出 yn=w2*Iout+b2; % 权值阀值修正 %计算误差 e=output_train(:,i)-yn; E(ii)=E(ii)+sum(abs(e); %计算权值变化率 dw2=e*Iout; db2=e;,第二十八章,MATLAB优化算法案例分析与应用,28.3 BP网络的语音信号识别,图28-3 预测信号,第二十八章,
8、MATLAB优化算法案例分析与应用,28.3 BP网络的语音信号识别,图28-4 误差信号,第二十八章,MATLAB优化算法案例分析与应用,28.4 BP网络的蝴蝶花分类预测,算法步骤: Step 1,初始化数据,设定各层节点数、学习效率等值; Step 2,输入层FA输入样品,计算出隐层FB活动; b(ki)=logsig(a*V(:,ki)+Pi(ki) Step 3,计算出输出层FC活动; c(kj)=logsig(b*W(:,kj)+Tau(kj) Step 4,网络输出和期望输出相比较,计算出输出层FC的错误; d=c.*(1-c).*(ck-c) Step 5,反传,计算出隐层FB
9、的错误; e=b.*(1-b).*(d*W) Step 6,修改FC层和FB之间的权值wij; DeltaW(ki,kj)=Alpha*b(ki)*d(kj)+Gamma*DeltaWOld(ki,kj) W=W+DeltaW Step 7,修改FA层和FB之间的权值vhj; DeltaV(kh,ki)=Beta*a(kh)*e(ki) V=V+DeltaV Step 8,修改偏差。,第二十八章,MATLAB优化算法案例分析与应用,28.4 BP网络的蝴蝶花分类预测,% calculate the hidden nodes activation for ki=1:i b(ki)=logsig(
10、a*V(:,ki)+Pi(ki); end; % calculate the output nodes activation for kj=1:j c(kj)=logsig(b*W(:,kj)+Tau(kj); end; % calculate error in output Layer FC d=c.*(1-c).*(ck-c); % calculate error in hidden layer FB e=b.*(1-b).*(d*W); % adjust weights Wij between FB and FC for ki=1:i for kj=1:j DeltaW(ki,kj)=A
11、lpha*b(ki)*d(kj)+Gamma*DeltaWOld(ki,kj); end end; W=W+DeltaW;,第二十八章,MATLAB优化算法案例分析与应用,28.4 BP网络的蝴蝶花分类预测,图28-5 误差图,第二十八章,MATLAB优化算法案例分析与应用,28.4 BP网络的蝴蝶花分类预测,图28-6 预测值和期望值,第二十八章,MATLAB优化算法案例分析与应用,28.4 BP网络的蝴蝶花分类预测,图28-15 误差图,h=4,i=100,j=3,Alpha=0.99,Beta=0.99,第二十八章,MATLAB优化算法案例分析与应用,28.4 BP网络的蝴蝶花分类预测,图28-16 预测值和期望值,h=4,i=100,j=3,Alpha=0.99,Beta=0.99,