| ²é¿´: 4395 | »Ø¸´: 5 | |||
С²¼¶¡121Òø³æ (СÓÐÃûÆø)
|
[½»Á÷]
psoÓÅ»¯Éñ¾ÍøÂ磨¾µä°¸Àýƪ£©ÂÛÎıر¸ ÒÑÓÐ5È˲ÎÓë
|
|
ÎÒÓÃpsoÓÅ»¯bpÉñ¾ÍøÂçÆäÖÐÐÞ¸Äʱ£¬³öÏÖÎÊÌâ²»ÖªµÀÔõôÐÞ¸ÄÊÊÓ¦¶ÈÖµº¯Êý£º function error = fun(x,inputnum,hiddennum,outputnum,net,inputn,outputn) %¸Ãº¯ÊýÓÃÀ´¼ÆËãÊÊÓ¦¶ÈÖµ %x input ¸öÌå %inputnum input ÊäÈë²ã½ÚµãÊý %outputnum input Òþº¬²ã½ÚµãÊý %net input ÍøÂç %inputn input ѵÁ·ÊäÈëÊý¾Ý %outputn input ѵÁ·Êä³öÊý¾Ý %error output ¸öÌåÊÊÓ¦¶ÈÖµ %ÌáÈ¡ w1=x(1:inputnum*hiddennum); B1=x(inputnum*hiddennum+1:inputnum*hiddennum+hiddennum); w2=x(inputnum*hiddennum+hiddennum+1:inputnum*hiddennum+hiddennum+hiddennum*outputnum); B2=x(inputnum*hiddennum+hiddennum+hiddennum*outputnum+1:inputnum*hiddennum+hiddennum+hiddennum*outputnum+outputnum); %ÍøÂç½ø»¯²ÎÊý net.trainParam.epochs=20; net.trainParam.lr=0.1; net.trainParam.goal=0.00001; net.trainParam.show=100; net.trainParam.showWindow=0; %ÍøÂçȨֵ¸³Öµ net.iw{1,1}=reshape(w1,hiddennum,inputnum); net.lw{2,1}=reshape(w2,outputnum,hiddennum); net.b{1}=reshape(B1,hiddennum,1); net.b{2}=reshape(B2,outputnum,1); %ÍøÂçѵÁ· net=train(net,inputn,outputn); an=sim(net,inputn); error=sum(abs(an-outputn)); Ö÷º¯Êý %½Úµã¸öÊý inputnum=20; hiddennum=60; outputnum=5; %¹¹½¨ÍøÂç net=newff(inputn,outputn,hiddennum); % ²ÎÊý³õʼ»¯ %Á£×ÓȺËã·¨ÖеÄÁ½¸ö²ÎÊý c1 = 1.49445; c2 = 1.49445; maxgen=100; % ½ø»¯´ÎÊý sizepop=30; %ÖÖȺ¹æÄ£ Vmax=1; Vmin=-1; popmax=5; popmin=-5; for i=1:sizepop pop(i, =5*rands(1,1565);V(i, =rands(1,21);fitness(i)=fun(pop(i, ,inputnum,hiddennum,outputnum,net,inputn,outputn);end % ¸öÌ弫ֵºÍȺÌ弫ֵ [bestfitness bestindex]=min(fitness); zbest=pop(bestindex, ; %È«¾Ö×î¼Ñgbest=pop; %¸öÌå×î¼Ñ fitnessgbest=fitness; %¸öÌå×î¼ÑÊÊÓ¦¶ÈÖµ fitnesszbest=bestfitness; %È«¾Ö×î¼ÑÊÊÓ¦¶ÈÖµ %% µü´úѰÓÅ for i=1:maxgen i; for j=1:sizepop %ËٶȸüРV(j, = V(j, + c1*rand*(gbest(j, - pop(j, ) + c2*rand*(zbest - pop(j, );V(j,find(V(j, >Vmax))=Vmax;V(j,find(V(j, <Vmin))=Vmin;%ÖÖȺ¸üРpop(j, =pop(j, +0.2*V(j, ;pop(j,find(pop(j, >popmax))=popmax;pop(j,find(pop(j, <popmin))=popmin;%×ÔÊÊÓ¦±äÒì pos=unidrnd(21); if rand>0.95 pop(j,pos)=5*rands(1,1); end %ÊÊÓ¦¶ÈÖµ fitness(j)=fun(pop(j, ,inputnum,hiddennum,outputnum,net,inputn,outputn);end for j=1:sizepop %¸öÌå×îÓŸüРif fitness(j) < fitnessgbest(j) gbest(j, = pop(j, ;fitnessgbest(j) = fitness(j); end %ȺÌå×îÓŸüРif fitness(j) < fitnesszbest zbest = pop(j, ;fitnesszbest = fitness(j); end end yy(i)=fitnesszbest; end %% ½á¹û·ÖÎö plot(yy) title(['ÊÊÓ¦¶ÈÇúÏß ' 'ÖÕÖ¹´úÊý£½' num2str(maxgen)]); xlabel('½ø»¯´úÊý');ylabel('ÊÊÓ¦¶È'); x=zbest; %% °Ñ×îÓųõʼ·§ÖµÈ¨Öµ¸³ÓèÍøÂçÔ¤²â % %ÓÃÒÅ´«Ëã·¨ÓÅ»¯µÄBPÍøÂç½øÐÐÖµÔ¤²â w1=x(1:inputnum*hiddennum); B1=x(inputnum*hiddennum+1:inputnum*hiddennum+hiddennum); w2=x(inputnum*hiddennum+hiddennum+1:inputnum*hiddennum+hiddennum+hiddennum*outputnum); B2=x(inputnum*hiddennum+hiddennum+hiddennum*outputnum+1:inputnum*hiddennum+hiddennum+hiddennum*outputnum+outputnum); net.iw{1,1}=reshape(w1,hiddennum,inputnum); net.lw{2,1}=reshape(w2,outputnum,hiddennum); net.b{1}=reshape(B1,hiddennum,1); net.b{2}=B2; net.trainParam.epochs=100; net.trainParam.lr=0.1; net.trainParam.goal=0.00001; ²»ÖªµÀÊÊÓ¦¶ÈÖµº¯ÊýÔõôÐÞ¸ÄÀÏÊdzöÏÖÎÊÌâ Error using fun (line 13) Not enough input arguments. |
» ²ÂÄãϲ»¶
306Çóµ÷¼Á
ÒѾÓÐ5È˻ظ´
284Çóµ÷¼Á
ÒѾÓÐ4È˻ظ´
ѰÕÒµ÷¼Á
ÒѾÓÐ4È˻ظ´
Ò»Ö¾Ô¸ÖÐÄÏ»¯Ñ§£¨0703£©×Ü·Ö337Çóµ÷¼Á
ÒѾÓÐ10È˻ظ´
324Çóµ÷¼Á
ÒѾÓÐ6È˻ظ´
Ò»Ö¾Ô¸ Î÷±±´óѧ £¬070300»¯Ñ§Ñ§Ë¶£¬×Ü·Ö287£¬Ë«·ÇÒ»±¾£¬Çóµ÷¼Á¡£
ÒѾÓÐ3È˻ظ´
289Çóµ÷¼Á
ÒѾÓÐ7È˻ظ´
319Çóµ÷¼Á
ÒѾÓÐ4È˻ظ´
298Çóµ÷¼ÁÒ»Ö¾Ô¸211
ÒѾÓÐ3È˻ظ´
Çóµ÷¼ÁÒ»Ö¾Ô¸º£´ó£¬0703»¯Ñ§Ñ§Ë¶304·Ö£¬Óдó´´ÏîÄ¿£¬Ëļ¶Òѹý
ÒѾÓÐ8È˻ظ´
2Â¥2016-03-11 20:35:29
1990d03z27x
гæ (СÓÐÃûÆø)
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ½ð±Ò: 1862.2
- É¢½ð: 30
- Ìû×Ó: 139
- ÔÚÏß: 71.3Сʱ
- ³æºÅ: 4840637
- ×¢²á: 2016-07-14
- רҵ: Ë®»·¾³ÓëÉú̬ˮÀû
¡ï
Сľ³æ: ½ð±Ò+0.5, ¸ø¸öºì°ü£¬Ð»Ð»»ØÌû
Сľ³æ: ½ð±Ò+0.5, ¸ø¸öºì°ü£¬Ð»Ð»»ØÌû
|
ÏëÇë½Ìһϣ¬Õâ¸öPSOÓÅ»¯BP³ÌÐò£¬Ôõôºó±ß³öÏÖÒÅ´«Ëã·¨ÓÅ»¯£¬ÊÇÁªºÏÓÅ»¯Ã´£¿ ·Ç³£¸Ðл |
3Â¥2016-09-05 18:09:17
Õűó1993
гæ (³õÈëÎÄ̳)
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- É¢½ð: 15
- Ìû×Ó: 9
- ÔÚÏß: 2.4Сʱ
- ³æºÅ: 6615684
- ×¢²á: 2017-05-26
¡ï
Сľ³æ: ½ð±Ò+0.5, ¸ø¸öºì°ü£¬Ð»Ð»»ØÌû
Сľ³æ: ½ð±Ò+0.5, ¸ø¸öºì°ü£¬Ð»Ð»»ØÌû
|
ÎÒÒ²ÊÇÓÃÕâ¸öËã·¨£¬¿ÉÒÔ¼ÓÒ»ÏÂ΢ÐÅ»òqqÂð ·¢×ÔСľ³æAndroid¿Í»§¶Ë |
4Â¥2018-08-03 10:48:25
Sherry-Ìð
гæ (³õÈëÎÄ̳)
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ½ð±Ò: 61
- É¢½ð: 5
- Ìû×Ó: 19
- ÔÚÏß: 1.9Сʱ
- ³æºÅ: 5923520
- ×¢²á: 2017-03-11
- רҵ: ½ÇĤ¼°ÑÛ±í¼²²¡
¡ï
Сľ³æ: ½ð±Ò+0.5, ¸ø¸öºì°ü£¬Ð»Ð»»ØÌû
Сľ³æ: ½ð±Ò+0.5, ¸ø¸öºì°ü£¬Ð»Ð»»ØÌû
|
ÎÒ×î½üÒ²ÔÚÕûÕâ¸öÄ£ÐÍ£¬²»ÖªµÀpsoÔõô´¦ÀíÓÅ»¯µÄbpÍøÂç ·¢×ÔСľ³æAndroid¿Í»§¶Ë |
5Â¥2018-11-05 14:57:25
wangwei0916
гæ (³õÈëÎÄ̳)
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ½ð±Ò: 56.3
- Ìû×Ó: 33
- ÔÚÏß: 23.2Сʱ
- ³æºÅ: 3018746
- ×¢²á: 2014-03-05
- רҵ: ½¨Öþѧ
¡ï
Сľ³æ: ½ð±Ò+0.5, ¸ø¸öºì°ü£¬Ð»Ð»»ØÌû
Сľ³æ: ½ð±Ò+0.5, ¸ø¸öºì°ü£¬Ð»Ð»»ØÌû
|
Æäʵ¾ÍÊÇÀûÓÃPSOÓÅ»¯BPÄ£Ð͵ÄȨֵ¼°ãÐÖµ£¬Ìá¸ßBPÄ£Ð;«¶È£¡³õʼֵÉ趨ºÜÓ°ÏìBPµÄ¾«¶È¡£¿ÉÒÔÈ¥¿´Ò»Ï¡¶MATLABÉñ¾ÍøÂç43¸ö°¸Àý·ÖÎö¡·Õâ±¾Ê飡 ·¢×ÔСľ³æIOS¿Í»§¶Ë |
6Â¥2018-11-09 15:09:01













=5*rands(1,1565);
»Ø¸´´ËÂ¥
40