作业帮 > 综合 > 作业

基因算法 人工神经元网络 matlab

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/29 15:50:13
基因算法 人工神经元网络 matlab
这是一个基因算法在人工神经元网络中的应用的matlab程序,那位仁兄能告诉我这个程序是计算了个什么?还有程序框图怎么画啊!
clear
Popsize=40;
P_mutation=0.1;
P_cross=0.6;
real chrom;
real currentbest_value;
m=25; %权值和阈值的初始化范围
chrom=2*m.*rand(Popsize,21)-m; % 产生初始种群
temchrom=zeros(size(chrom));
p=[0 0 0 0 1 1 1 1;0 0 1 1 0 0 1 1;1 0 1 0 1 0 1 0]; %输入值
aim=[0 1 1 0 1 0 0 1]'; % 输出值
ecope=100;
currentbest=zeros(ecope,21);
currentbest_value=zeros(ecope,1);
fitness_gene=fitness(chrom,p,aim); %计算的染色体均方误差 fitness=8/sum(error.^2)
[c_value c_order]=max(fitness_gene);
for k=1:ecope
%保留当前最好染色体
[c_value c_order]=max(fitness_gene);
currentbest(k,:)=chrom(c_order,:);
currentbest_value(k)=c_value;
%
fit=cumsum(fitness_gene)/sum(fitness_gene);
N=Popsize;
s=select(fit,N);
temchrom=chrom(s,:);
%交叉
P=rand(1,N);
prob=find(P
你给出了遗传算法的MATLAB程序(Genetic Agorithm),最好别叫它为基因算法,这不是标准翻译.
程序里有遗传算法完整的过程(选择、交叉、变异、计算适应度值,目标就是要fitness=8/sum(error.^2)最大,那么sum(error.^2)也就是均方误差最小,这也实现了训练的目的.
看来这个程序只是用遗传算法代替了传统的误差反射传播算法,以均方误差最小作为收敛条件.这不是真正的遗传算法和人工神经网络相结合.有一种模式是用遗传算法来调整网络的连接权值.