اطلاعیه

Collapse
No announcement yet.

مشکل در آموزش آنلاین شبکه های عصبی

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مشکل در آموزش آنلاین شبکه های عصبی

    با سلام . می خواهم با استفاده از matlab یک شبکه عصبی را به صورت آنلاین آموزش دهم و مشکل overfitting را در آن بررسی کنم. برنامه به این صورت است که ابتدا تابعی تعریف شده به نام z(m)و می خواهیم ای تابع در بازه ی [0.20] شبکه overfitt شود . یعنی 1000نقطه در این بازه و 100 نقطه در بازه [20,100] آموزش ببیند . لطفآ در قسمت adapt کردن شبکه به من کمک کنین . سورس برنامه به صورت زیر است.
    لینک دانلود برنامه ==> http://www.justupit.com/get.php?id=7aa6a870e4984d1d55db648670119cec


    m=[0:1:100];
    j=[0:1:100];
    x1=[0:1:25];
    y1=[0:1:25];
    x2=[25:1:100];
    y2=[25:1:100];
    x=[x1,x2];
    y=[y1,y2];
    in=[];
    m=0;
    z(1)=1000;
    for i=2:length(x)
    for j=1: length(y)
    m=m+1;
    in=[in;x(i) y(j)];

    %z(m)=10*sec(y(j))+700*exp(-x(i)^2)+y(j)^2+10*(x(i)+5)^2-y(j)^2;

    if y(j)<=20
    z(m)=10*sec(y(j))+700*exp(-x(i)^2)+y(j)^2+10*(x(i)+5)^2-y(j)^2;
    % z(m)=z(m)/4;

    % if y(j)>10
    % z(m)=z(m)+50*cos(x(i))^3+1000*(log(x(i)+y(j))+y(j) ^3)-(90000*(x(i)^2+y(j)^2));
    %elseif y(j)>20
    % z(m)=1/z(m)*cos(x(i));

    elseif y(j)>20

    z(m)=sqrt(x(i)+y(i))*10000;

    end

    z2(i,j)=z(m);

    end
    end
    in=in';

    %nn=newff([0 100; 0 100],[10 1],{'tansig'},'traingd';
    nn=newff([0 100; 0 100],[10 1]);
    nn=init(nn);
    for i=1:100

    nn=adapt(nn,in(:,i),z(i));

    % nn=adapt(nn,in(:,j),z(j));
    %nn=train(nn,in(:,i),z(i));

    end
    outnn=sim(nn,in);
    %e=outnn-z;
    %se=sum(abs(e));
    figure(1);
لطفا صبر کنید...
X