蚁群算法的改进神经网络程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
%蚁群算法的改进神经网络程序
%这是某个硕士论文中附带的程序,经过试用,完全不能用。
%蚁群算法优化神经网络
%参数值
%ant_amount,蚂蚁总数
%quanzhi_amount,权值总数
%xuanzhi_amount,可选值总数
%k,蚂蚁k
%i,权值j
%j,选值j
%tao,信息素矩阵
%zeng_tao,信息素增量
%NC,最大迭代
%rou,信息挥发度;
%Q,信息总量:为蚂蚁循环一周时释放在所经过的路径上的信息素总量%zuixiaowucha,最小误差
%shijiwucha实际误差
%conter迭代次数
%sum_tao,tao和
%p,信息素概率
%4个矩阵:
% iwb(i,j),权值矩阵(i*j)
% tao(i,j),信息素矩阵(i*j)
%mayi_xuanzhi(k,i),每只蚂蚁选的权值矩阵(k*i)
%mayi_xuanwei(k*i),每只蚂蚁选的权值位置矩阵(k*i)
%网络主程序
Clear;
yangben_yuanshi=[
7.8 111 701 129 2.8;
45 168 330 82 3.1;
58 103 251 51 6;
56 144 164 36 1.8;
82 161 406 79 8.9;
10 15 19.5 5 0;
18 135 208 59 0;
129 181 244 44 0;
12 23 98 9 0;
164 244 497 103 8.3;
16 237 470 92 0;
15 125 574 29 7;
49 41.6 124 25.1 15.7;
21 7.6 96.3 4.7 26.73;
65 26.1 41.6 10.1 57.8;
64 22 51.7 20.7 95.1;
29 7.52 14.8 5.5 5.4;
6.3
7.87 3.03 6.97 11.1;
413 6.8 4.6 40.4 8.15;
23.4 14.3 9.71 7.12 3.44;
15.2 2.4 4.5 4.8 27.2;
45 431 517 210 2;
65 150 54 45 0;
4 70.7 211 76 18.9;
22 12 6.3 4.6 7.4;
130.4 48.8 93.4 16.3 123.4;
198 54.3 107.1 6.4 148.8;
521.1 107 177.1 9.2 144.7;
217.5 40 51.8 4.9 67.5;
63 7.4 17 1.8 6.2;
54 7 8.6 7.4 5.4;
150 27 63 3.6 90;
162 109 201 11 183;
59 28 70 9 15;
201 36.1 32.3 6 47.2]; %训练样本初值
for i=1:35 % 训练样本归一化
yangben_guiyi(i,:)=0.1+0.8*(yangben_yuanshi(i,:)-min(yangben_yuanshi(i,:)))/(max(yangben_yuansh i(i,:))-min(yangben_yuanshi(i,:)));
end
yangben_shuchu=[
1 0 0 0 0;
1 0 0 0 0;
1 0 0 0 0;
1 0 0 0 0;
1 0 0 0 0;
1 0 0 0 0;
1 0 0 0 0;
1 0 0 0 0;
1 0 0 0 0;
1 0 0 0 0;
1 0 0 0 0;
1 0 0 0 0;
0 1 0 0 0;
0 1 0 0 0;
0 1 0 0 0;
0 1 0 0 0;
0 0 1 0 0;
0 0 1 0 0;
0 0 1 0 0;
0 0 1 0 0;
0 0 1 0 0;
0 0 0 1 0;
0 0 0 1 0;
0 0 0 1 0;
0 0 0 1 0;
0 0 0 0 1;
0 0 0 0 1;
0 0 0 0 1;
0 0 0 0 1;
0 0 0 0 1;
0 0 0 0 1;
0 0 0 0 1;
0 0 0 0 1;
0 0 0 0 1;
0 0 0 0 1]; % 训练样本故障输出值
yangben_guiyi=yangben_guiyi';
yangben_shuchu=yangben_shuchu';
net=newff(minmax(yangben_guiyi),[11,5],{'tansig','logsig'},'traingd');%生成原始神经网络XX=yangben_guiyi;
YY=yangben_shuchu;
P=XX;
T=YY;
R=size(P,1);
S2=size(T,1);
S1=11; %隐含层节点数
S=R*S1+S1*S2+S1+S2; %蚁群算法编码长度
% start 初始化
ant_amount=40; %蚂蚁总数
quanzhi_amount=S; %权值总数