资源描述:
《[小学教育]在matlab6x中构建bp》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、在Matlab6.x中构建BP网络BP网络建立BP训练算法选取训练数据的前期处理提高BP网络泛化能力检验BP网络的方法一.BP网络建立1.网络的输入输出数据结构(m维输入n维输出)a.只有一个样本时Input=[P1,P2,…,Pm]’mby1列向量Output=[O1,O2,…,On]‘nby1列向量b.有s个样本的时候输入Input是mbys矩阵每个列向量为一个输入向量.输出Output是nbys矩阵每个列向量为一个输出.2.网络结构(一般3层网络够用)输入层单元数:m输出层单元数:n隐层单元数h确定原则:在满足训练精度的情
2、况下越少越好,以防止过拟合情况.3.网络权值(weight)与阈值(bias)数据结构输入层与隐层之间连接权矩阵W1是mbyh矩阵其中W1第i行表示第i个输入单元与隐层单元间的连接权隐层与输出层之间连接权矩阵W2是nbyh矩阵其中第j行表示第j个输出单元与隐层单元间连接权.4.各层传递函数选择:输入层隐层输出层a.输入层:起着将输入传递到各隐层单元因此没有传递函数b.隐层:能够拟合非线性函数的关键,应该是个单调非减函数,Matlab中提供三种传递函数longsig((0,1)),tansig((-1,1))和purelinc.输
3、出层:可以采用logsig与tansig,或者purelin.(最好purelin:1.小样本2.无需归一划)5.最简便的构建方法newff(三层为例)net=newff(PR,[S1S2S3],{TF2TF3},BTF,BLF,PF)PR:mby2矩阵第i行表示第i维输入的取值范围.Si:第i层单元个数TFi:i层传递函数default='tansig‘BTF:网络训练函数default='trainlm'BLF:权值/阈值学习函数default='learngdm‘此时网络权值以及偏置项已经采用Nguyen-Widrowla
4、yerinitializationmethod初始化完毕.PF:性能函数default=‘mse‘均方误差和为什么BTF与BLF不同:BTF:得到dWi,dBiBLF:更新Wi,Bi6.关于得到的网络net的问题a.是个object,所含内容b.net.iw,net.lw,net.b是cell型数据c.训练算法及参数:net.trainParam.二.各种训练方法比较:1.LM算法的一些注意事项:TRAINLM由于速度很快所以是默认的算法,但是很消耗内存.原因:储存一个sbym的Jacobi矩阵,当样本数目s很大的时候导致耗费内
5、存过多.解决方案:BogdanM.Wilamowski的AnAlgorithmforFastConvergenceinTrainingNeuralNetworksLevenberg–Marquadt算法主要解决非线性最小二乘问题.使用trainlm时如果有“out-of-memory”错误提示的时候应采用如下步骤:(1)通过设置net.trainParam.mem_reduc来减少对内存的需求.设置mem_reduc为2,再重新训练一次.如果仍然出现内存不足的情况增加mem_reduc的值,由于asignificantcompu
6、tationaloverheadisassociatedwithcomputingtheJacobianinsub-matrices但是运行时间也会随之增加.参数意义如下:Ifmem_reducissetto1,thenthefullJacobianisomputed,andnomemoryreductionisachieved.Ifmem_reducissetto2,thenonlyhalfoftheJacobianwillbecomputedatonetime.Thissaveshalfofthememoryusedbyth
7、ecalculationofthefullJacobian.(2)UseTRAINBFG,whichisslowerbutmorememoryefficientthanTRAINLM.(3)UseTRAINRPwhichisslowerbutmorememoryefficientthanTRAINBFG.AcronymAlgorithmtrainlmLevenberg-MarquardttrainbfgBFGSQuasi-NewtontrainrpResilientBackpropagationtrainscgScaledCon
8、jugateGradienttraincgbConjugateGradientwithPowell/BealeRestartstraincgfFletcher-PowellConjugateGradienttraincgpPolak-RibiéreConjuga