matlab遗传算法优化神经网络权值教程 - 图文 下载本文

4.2nnToolKit函数库

?Gafitness

?功能遗传算法的适应值计算函数。?格式f = Gafitness(y)。?说明通过染色体个体计算染色体适应度,参数说明如下:(1) y 输入参数,染色体个体。(2) f 输出参数,染色体适应度。?Generatesample

?功能训练样本生成函数。?格式[ ] = Generatesample(path)。?说明在指定路径生成适合于训练的样本,参数说明如下:path 输入参数,指定路径,用于保存样本文件。?GetWBbyga

?功能获取遗传神经网络权值阈值参数函数。?格式[ W1, B1, W2, B2 ] = GetWBbyga(paraments)。?说明用遗传算法获取神经网络权值阈值参数,参数说明如下:paraments 输入参数,遗传算法的参数信息:[遗传代数最小适应值]。4.2nnToolKit函数库

?Segment

?功能图像分割函数。?格式[bw] = Segment(net,img)。?说明利用训练好的神经网络进行分割图像,参数说明如下:(1) net 输入参数,已经训练好的神经网络。(2) img 输入参数,要分割的图像。(3) bw 输出参数,分割后的二值图像。?Gabptrain

?功能结合遗传算法的神经网络训练函数。?格式[net] = Gabptrain(gaP,bpP,P,T)。?说明程序运行前需将ch3\\遗传算法工具箱加入到MATLAB的搜索路径中(方法:File?Set Path,增加目录到MATLAB的搜索路径,然后保存),函数参数说明如下:(1) gaP 输入参数,遗传算法的参数信息:[遗传代数最小适应值]。(2) bpP 输入参数,神经网络参数信息:[最大迭代次数最小误差]。(3) P 输入参数,样本数组。(4) T 输入参数,目标数组。(5) net 输出参数,训练好的网络结构。4.2nnToolKit函数库?例4-9 对ch4\\nnToolKit工具箱\\gabp文件夹中文件(data\\sample.mat)提供的样本数据,用结合遗传算法的神经网络进行训练。% 结合遗传算法的神经网络训练function [ net ] = gabptrain( gaP,bpP,P,T )%%%% 输入参数赋值开始 %%%%%%%%%%%%%%%%%%%%%%%% 方便调试程序用,程序调试时去掉这部分的注释gaP = [100 0.00001]; % gaP 为遗传算法的参数信息.[遗传代数 最小适应值]。bpP = [500 0.00001]; % bpP 为神经网络参数信息。[最大迭代次数 最小误差]generatesample('data\\sample.mat'); % 产生样本数组P和目标数组T%%%% 输入参数赋值结束 %%%%%%%%%%%%%%%%%%%%%%%%[W1, B1, W2, B2] = getWBbyga(gaP);net = initnet(W1, B1, W2, B2,bpP);net = train(net,P,T);4.2nnToolKit函数库

?Compbpandgabp

?功能传统BP和遗传BP训练示例程序。?格式retstr = Compbpandgabp()。?说明对于指定的样本数据,分别用传统BP算法和遗传BP算法进行训练,相比之下,用传统BP训练,可能收敛不到目标值,或者收敛步数太长,而用遗传BP算法进行训练,遗传算法寻找最优权值阈值会用一些时间,但比BP的训练还是快,在很短的时间内就能收敛到目标值。程序运行前需将ch3\\遗传算法工具箱加入到MATLAB的搜索路径中(方法:File?Set Path,增加目录到MATLAB的搜索路径,然后保存)。