亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? nnd12m.m

?? Martin T.Hagan等著,戴葵等譯,神經網絡設計,機械工業出版社,一書的所有例程
?? M
字號:
function nnd12m(cmd,arg1)
%NND12M Marquardt backpropagation demonstration.
%
%	This demonstration requires the Neural Network Toolbox.

% First Version, 8-31-95.

%==================================================================

% CONSTANTS
me = 'nnd12m';
max_t = 0.5;
w_max = 10;
p_max = 2;
circle_size = 6;

% FLAGS
change_func = 0;

% DEFAULTS
if nargin == 0, cmd = ''; else cmd = lower(cmd); end

% FIND WINDOW IF IT EXISTS
fig = nnfgflag(me);
if length(get(fig,'children')) == 0, fig = 0; end
  
% GET WINDOW DATA IF IT EXISTS
if fig
  H = get(fig,'userdata');
  fig_axis = H(1);            % window axis
  desc_text = H(2);           % handle to first line of text sequence
  mu_bar = H(3);              % mu slider bar
  mu_text = H(4);             % mu text
  nu_bar = H(5);              % nu slider bar
  nu_text = H(6);             % nu text
  cont_axis = H(7);           % error contour axis
  cont_ptr = H(8);            % pointer to error contour handles
  radios = H(9:11);          % radio buttons
  option_ptr = H(12);         % index of active radio
  path_ptr = H(13);           % pointer to training path handles
end

%==================================================================
% Activate the window.
%
% ME() or ME('')
%==================================================================

if strcmp(cmd,'')
  if fig
    figure(fig)
    set(fig,'visible','on')
  else
    feval(me,'init')
  end

%==================================================================
% Close the window.
%
% ME() or ME('')
%==================================================================

elseif strcmp(cmd,'close') & (fig)
  delete(fig)

%==================================================================
% Initialize the window.
%
% ME('init')
%==================================================================

elseif strcmp(cmd,'init') & (~fig)

  % CHECK FOR NNT
  if ~nntexist(me), return, end

  % CONSTANTS
  W1 = [10; 10];
  b1 = [-5;5];
  W2 = [1 1];
  b2 = [-1];
  P = -2:0.1:2;
  T = logsig(W2*logsig(W1*P,b1),b2);

  % NEW DEMO FIGURE
  fig = nndemof2(me,'DESIGN','Marquardt Backpropagation','','Chapter 12');
  set(fig, ...
    'windowbuttondownfcn',nncallbk(me,'down'), ...
    'BackingStore','off',...
    'nextplot','add');
  H = get(fig,'userdata');
  fig_axis = H(1);
  desc_text = H(2);

  % ICON
  nndicon(12,458,363,'shadow')

  % MU SLIDER BAR
  mu = 0.01;
  x = 20;
  y = 60;
  text(x,y,'Initial MU:',...
    'color',nndkblue,...
    'fontw','bold',...
    'fontsize',12,...
    'horizontalalignment','left')
  mu_text = text(x+160,y,num2str(mu),...
    'color',nndkblue,...
    'fontw','bold',...
    'fontsize',12,...
    'horizontalalignment','right');
  text(x,y-38,'0.01',...
    'color',nndkblue,...
    'fontw','bold',...
    'fontsize',12,...
    'horizontalalignment','left')
  text(x+160,y-38,'0.10',...
    'color',nndkblue,...
    'fontw','bold',...
    'fontsize',12,...
    'horizontalalignment','right');
  mu_bar = uicontrol(...
    'units','points',...
    'position',[x y-25 160 16],...
    'style','slider',...
    'backg',nnltgray,...
    'callback',[me '(''mu'')'],...
    'min',0.01,...
    'max',0.10,...
    'value',mu);

  % NU SLIDER BAR
  nu = 5;
  x = 200;
  y = 60;
  text(x,y,'Constant NU:',...
    'color',nndkblue,...
    'fontw','bold',...
    'fontsize',12,...
    'horizontalalignment','left')
  nu_text = text(x+160,y,num2str(nu),...
    'color',nndkblue,...
    'fontw','bold',...
    'fontsize',12,...
    'horizontalalignment','right');
  text(x,y-38,'1.0',...
    'color',nndkblue,...
    'fontw','bold',...
    'fontsize',12,...
    'horizontalalignment','left')
  text(x+160,y-38,'10.0',...
    'color',nndkblue,...
    'fontw','bold',...
    'fontsize',12,...
    'horizontalalignment','right');
  nu_bar = uicontrol(...
    'units','points',...
    'position',[x y-25 160 16],...
    'style','slider',...
    'backg',nnltgray,...
    'callback',[me '(''nu'')'],...
    'min',1,...
    'max',10,...
    'value',nu);

  % RADIO BUTTONS
  option = 1;
  radio1 = uicontrol(...
    'units','points',...
    'position',[20 80 130 20],...
    'style','radio',...
    'string','W1(1,1), W2(1,1)',...
    'back',nnltgray,...
    'callback',[me '(''radio'',1)'],...
    'value',1);
  radio2 = uicontrol(...
    'units','points',...
    'position',[155 80 115 20],...
    'style','radio',...
    'string','W1(1,1), b1(1)',...
    'back',nnltgray,...
    'callback',[me '(''radio'',2)']);
  radio3 = uicontrol(...
    'units','points',...
    'position',[270 80 105 20],...
    'style','radio',...
    'string','b1(1), b1(2)',...
    'back',nnltgray,...
    'callback',[me '(''radio'',3)']);

  % ERROR SURFACE
  load nndbp1

  cont_axis = nnsfo('a2','',v1,v2,'');
  set(cont_axis, ...
    'units','points',...
    'position',[90 140 200 200],...
    'color',nnltyell,...
    'xlim',range1,...
    'ylim',range2,...
    'colororder',[0 0 0])
  [dummy,cont_h] = contour(x2,y2,E2,levels);
  set(cont_h,'erasemode','none');
  plot3(range1([1 2 2 1 1]),range2([1 1 2 2 1]),1000*ones(1,5),...
    'color',nndkblue);
  cont_h2 = plot(optx,opty,'+','color',nnred);
  cont_h = [cont_h; cont_h2];
  view(2)

  % BUTTONS
  uicontrol(...
    'units','points',...
    'position',[400 110 60 20],...
    'string','Contents',...
    'callback','nndtoc')
  uicontrol(...
    'units','points',...
    'position',[400 75 60 20],...
    'string','Close',...
    'callback',[me '(''close'')'])

  % DATA POINTERS
  dummy = 0;
  cont_ptr = uicontrol('visible','off','userdata',cont_h);
  option_ptr = uicontrol('visible','off','userdata',option);
  path_ptr = uicontrol('visible','off','userdata',[]);

  % SAVE WINDOW DATA AND LOCK
  H = [fig_axis desc_text mu_bar mu_text nu_bar nu_text cont_axis cont_ptr ...
       radio1 radio2 radio3 option_ptr path_ptr];
  set(fig,'userdata',H,'nextplot','new')

  % INSTRUCTION TEXT
  feval(me,'instr');

  % LOCK WINDOW
  set(fig,'nextplot','new','color',nnltgray);

  nnchkfs;

%==================================================================
% Display the instructions.
%
% ME('instr')
%==================================================================

elseif strcmp(cmd,'instr') & (fig)
  nnsettxt(desc_text,...
    'Use the radio buttons',...
    'to select the network',...
    'parameters to train',...
    'with backpropagation.',...
    '',...
    'The corresponding',...
    'contour plot is',...
    'shown to the left.',...
    '',...
    'Click in the contour',...
    'graph to start the',...
    'Marquardt backprop',...
    'learning algorithm.')
    
%==================================================================
% Respond to radio buttons.
%
% ME('radio',i)
%==================================================================

elseif strcmp(cmd,'radio') & (fig) & (nargin == 2)

  % GET DATA
  option = get(option_ptr,'userdata');
  
  % ALTER TRAINABLE PARAMETERS
  if (arg1 ~= option)

    % HIGHLIGHT NEW RADIO BUTTON
    set(radios(option),'value',0)
    set(radios(arg1),'value',1)
    option = arg1;

    % CLEAR AXES
    delete(get(cont_axis,'children'))

    % CONSTANTS
    W1 = [10; 10];
    b1 = [-5;5];
    W2 = [1 1];
    b2 = [-1];
    P = -2:0.1:2;
    T = logsig(W2*logsig(W1*P,b1),b2);

    % ERROR SURFACE & VARIABLE NAMES
    if option == 1
      load nndbp1
    elseif option == 2
      load nndbp2
    else
      load nndbp3
    end

    set(fig,'nextplot','add')
    axes(cont_axis)
    set(get(cont_axis,'xlabel'),'string',v1)
    set(get(cont_axis,'ylabel'),'string',v2)
    set(cont_axis,'xlim',range1,'ylim',range2)
    [dummy,cont_h] = contour(x2,y2,E2,levels);
    set(cont_h,'erasemode','none');
    plot3(range1([1 2 2 1 1]),range2([1 1 2 2 1]),1000*ones(1,5),...
      'color',nndkblue);
    cont_h2 = plot(optx,opty,'+','color',nnred);
    cont_h = [cont_h; cont_h2];
    view(2)

    % STORE DATA
    set(cont_ptr,'userdata',cont_h);
    set(path_ptr,'userdata',[]);
    set(option_ptr,'userdata',option);
  end

%==================================================================
% Respond to mu slider.
%
% ME('mu')
%==================================================================

elseif strcmp(cmd,'mu')
  
  mu = get(mu_bar,'value');
  set(mu_text,'string',sprintf('%4.2f',round(mu*100)*0.01))

%==================================================================
% Respond to nu slider.
%
% ME('nu')
%==================================================================

elseif strcmp(cmd,'nu')
  
  nu = get(nu_bar,'value');
  set(nu_text,'string',sprintf('%4.1f',round(nu*10)*0.1))

%==================================================================
% Respond to mouse down.
%
% ME('down')
%==================================================================

elseif strcmp(cmd,'down') & (fig) & (nargin == 1)

  pt = get(cont_axis,'currentpoint');

  x = pt(1);
  y = pt(3);
  xlim = get(cont_axis,'xlim');
  ylim = get(cont_axis,'ylim');

  if (x > xlim(1) & x < xlim(2) & y > ylim(1) & y < ylim(2))

    % GET DATA
    option = get(option_ptr,'userdata');
    path = get(path_ptr,'userdata');
    cont_h = get(cont_ptr,'userdata');

    % REMOVE PREVIOUS PATH
    set(fig,'nextplot','add')
    delete(path);

    % INITIAL VALUES
    W1 = [10; 10];
    b1 = [-5;5];
    W2 = [1 1];
    b2 = [-1];
    P = -2:0.1:2;
    T = logsig(W2*logsig(W1*P,b1),b2);
 
    % PLOT START POINT
    dkblue = nndkblue;
    red = nnred;
    axes(cont_axis);
    path = [...
      plot(x,y,'o','color',dkblue,'markersize',8,'erasemode','none');
      plot(x,y,'o','color',[1 1 1],'markersize',10,'erasemode','none');
      plot(x,y,'o','color',dkblue,'markersize',12,'erasemode','none')];
    drawnow

    % PLOT PATH
    set(fig,'pointer','watch')

    % INITIALIZE TRAINING
    if option == 1
      W1(1,1) = x;
      W2(1,1) = y;
    elseif option == 2
      W1(1,1) = x;
      b1(1) = y;
    else
      b1(1) = x;
      b1(2) = y;
    end
    mu_initial = get(mu_bar,'value');
    v = get(nu_bar,'value');

    A1 = logsig(W1*P,b1);
    A2 = logsig(W2*A1,b2);
    E1 = T-A2;
    f1 = sumsqr(E1);

    % DEFINE SIZES
    [R,Q] = size(P); 
    [S2,Q] = size(T);
    S1 = 2;
    RS = S1*R; RS1 = RS+1; RSS = RS + S1; RSS1 = RSS + 1;
    RSS2 = RSS + S1*S2; RSS3 = RSS2 + 1; RSS4 = RSS2 + S2;

    % ASSIGN PARAMETERS
    disp_freq = 1;
    max_epoch = 11;
    err_goal = 0.00000000001;
    maxmu=1e10;
    mingrad=.00002;
    mu=mu_initial;
    ii=eye(2);
    meu=zeros(max_epoch,1);
    mer=meu;grad=meu;

    xx = [x zeros(1,max_epoch)];
    yy = [y zeros(1,max_epoch)];

    % MAIN LOOP
    for k=2:(max_epoch+1)
    
      % INITIALIZE A
      mu=mu/v;
      mer(k)=f1;
      meu(k)=mu;
      tst=1;
      
      % FIND JACOBIAN
      A1 = kron(A1,ones(1,S2));
      D2 = nnmdlog(A2);
      D1 = nnmdlog(A1,D2,W2);
      jac1 = nnlmarq(kron(P,ones(1,S2)),D1);
      jac2 = nnlmarq(A1,D2);
      jac=[jac1,D1',jac2,D2'];

      % PULL OUT APPROPRIATE TERMS
      if (option == 1)
        jac = [jac(:,1) jac(:,5)];
      elseif(option == 2)
        jac = [jac(:,1) jac(:,3)];
      else
        jac = [jac(:,3) jac(:,4)];
      end
    
      % CHECK THE MAGNITUDE OF THE GRADIENT
      E1=E1(:);
      je=jac'*E1;
      grad(k)=norm(je);
      if grad(k)<mingrad,
        mer=mer(1:k);
        meu=meu(1:k);
        grad=grad(1:k);
        disp('Gradient too small.')
        fprintf('Magnitude of gradient = %g.\n',grad(k));
        fprintf('Minimum gradient magnitude = %g.\n',mingrad);
        break
      end
    
      % INNER LOOP, INCREASE mu UNTIL THE ERRORS ARE REDUCED
      jj=jac'*jac;
      while tst>0,
        dw=-(jj+ii*mu)\je;
    
        W1n=W1;b1n=b1;W2n=W2;b2n=b2;
    
        % UPDATE VARIABLES
        if (option == 1)
          newx = W1(1,1) + dw(1); W1n(1,1) = newx;
          newy = W2(1,1) + dw(2); W2n(1,1) = newy;
        elseif(option == 2)
          newx = W1(1,1) + dw(1); W1n(1,1) = newx;
          newy = b1(1)   + dw(2);   b1n(1) = newy;
        else
          newx = b1(1) + dw(1);   b1n(1) = newx;
          newy = b1(2) + dw(2);   b1n(2) = newy;
        end
    
        A1 = logsig(W1n*P,b1n);
        A2 = logsig(W2n*A1,b2n);
        E2 = T-A2;
        f2=sumsqr(E2);	
        if f2>=f1,
          mu=mu*v;
    
          % TEST FOR MAXIMUM mu
          if (mu > maxmu),
            mer=mer(1:k);
            meu=[meu(1:k);mu];
            grad=grad(1:k);
            disp('Maximum mu exceeded.')
            fprintf('mu = %g.\n',mu);
            fprintf('Maximum allowable mu = %g.\n',maxmu);
            break;
          end
        else
          tst=0;
        end
      end
    
      % TEST IF THE ERROR REACHES THE ERROR GOAL
      if f2<=err_goal,
        f1=f2;
        W1=W1n;b1=b1n;W2=W2n;b2=b2n;
        mer=[mer(1:k);f2];
        meu=[meu(1:k);mu];
        grad=grad(1:k);
        disp('Error goal reached.')
        break;
      end

      if(mu>maxmu),
        disp('Maximum mu exceeded.')
        fprintf('mu = %g.\n',mu);
        fprintf('Maximum allowable mu = %g.\n',maxmu);
        break;
      end

      W1=W1n;b1=b1n;W2=W2n;b2=b2n;E1=E2;f1=f2;

      % DISPLAY PROGRESS
      if rem(k,disp_freq) == 0
        xx(k) = newx;
        yy(k) = newy;
      end
    end

    % CONTOUR PLOT
    ind = find(xx == 0);
    if length(ind)
      ind = ind(1);
      xx = xx(1:(ind-1));
      yy = yy(1:(ind-1));
    end
    path = [path; plot(xx,yy,'color',nnred,'linewidth',1)];
    path = [path; plot(xx,yy,'o','color',nnred,'markersize',6)];
    set(fig,'nextplot','new')
    
    % SAVE DATA
    set(path_ptr,'userdata',path);
    set(fig,'pointer','arrow')

  end
end

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精选午夜久久久乱码6080| 亚洲一区二区在线免费观看视频| 久久久久国产精品人| 国产免费久久精品| 国产精品欧美精品| 亚洲手机成人高清视频| 一区二区三区在线影院| 亚洲一区二区偷拍精品| 免费观看一级特黄欧美大片| 五月综合激情网| 麻豆精品国产传媒mv男同| 国产制服丝袜一区| 成人性生交大片免费看视频在线 | 寂寞少妇一区二区三区| 国产一区激情在线| 99视频精品在线| 4438成人网| 久久一区二区三区四区| 亚洲欧美日韩小说| 日本va欧美va瓶| 成人午夜视频在线| 欧美偷拍一区二区| 精品区一区二区| 亚洲手机成人高清视频| 日韩电影免费一区| 风流少妇一区二区| 欧美精品免费视频| 欧美国产成人精品| 亚洲一区二区成人在线观看| 奇米精品一区二区三区四区| 风间由美一区二区三区在线观看 | 日韩精品最新网址| 国产精品毛片无遮挡高清| 亚洲国产中文字幕| 国产成人自拍网| 欧美精品国产精品| 亚洲欧洲日韩综合一区二区| 奇米影视一区二区三区| 国产精品一区二区久久不卡| 欧美在线不卡视频| 中文av一区特黄| 日韩av电影一区| 99精品欧美一区二区蜜桃免费| 欧美一区午夜视频在线观看| 综合精品久久久| 国产一区二区三区电影在线观看 | 777欧美精品| 亚洲国产高清不卡| 免费人成黄页网站在线一区二区| 91小视频免费看| 日韩精品一区二区三区中文不卡 | 中文字幕一区二区三区精华液| 男女男精品视频网| 在线欧美小视频| 中文字幕 久热精品 视频在线| 青草国产精品久久久久久| 国产成人av网站| 欧美一区二区久久| 亚洲自拍偷拍麻豆| av激情综合网| 精品国产一区a| 首页国产欧美久久| 色美美综合视频| 国产精品午夜在线| 蜜臀av一区二区三区| 欧美视频三区在线播放| 亚洲欧美另类小说视频| 波多野结衣精品在线| 欧美一级二级三级乱码| 午夜电影网一区| 欧美吻胸吃奶大尺度电影 | 国产伦精品一区二区三区视频青涩 | 99天天综合性| 国产蜜臀97一区二区三区| 麻豆免费精品视频| 日韩午夜电影在线观看| 久久精品国产亚洲a| 精品国产乱码久久久久久免费 | 精品剧情在线观看| 久草在线在线精品观看| www国产精品av| 国产成人免费高清| 中文字幕在线一区| 91色视频在线| 亚洲大片免费看| 91麻豆精品国产自产在线| 美国十次了思思久久精品导航| 欧美一级高清片在线观看| 国产自产2019最新不卡| 国产日韩欧美制服另类| 成人黄色综合网站| 一区二区欧美在线观看| 欧美日韩国产电影| 久久不见久久见免费视频1| 久久九九久久九九| 99re66热这里只有精品3直播 | 欧美一区二区三区爱爱| 韩国av一区二区三区在线观看| 久久久久久久综合色一本| 成人高清免费观看| 亚洲一区二区三区四区在线| 日韩视频不卡中文| 成人在线综合网| 亚洲综合在线免费观看| 欧美精品三级在线观看| 国产美女精品在线| 亚洲日本护士毛茸茸| 欧美电影一区二区| 国产呦萝稀缺另类资源| 自拍av一区二区三区| 91麻豆精品国产91久久久使用方法| 久草这里只有精品视频| 亚洲三级在线观看| 日韩欧美国产成人一区二区| 北条麻妃国产九九精品视频| 视频一区中文字幕| 中文字幕精品一区二区精品绿巨人| 欧洲激情一区二区| 国产精品99久久久久久有的能看 | 91精品国产欧美日韩| 国产69精品久久777的优势| 亚洲国产成人av| 国产欧美日韩综合精品一区二区| 欧美伊人精品成人久久综合97 | 国产亚洲一区二区在线观看| 91麻豆免费在线观看| 日本午夜精品视频在线观看| 国产精品美女久久久久高潮| 欧美一区二区三区成人| 91偷拍与自偷拍精品| 激情另类小说区图片区视频区| 亚洲欧美日韩系列| 久久久夜色精品亚洲| 欧美色综合天天久久综合精品| 国产剧情一区二区| 天堂在线一区二区| 亚洲欧美一区二区三区极速播放| 精品久久久久久最新网址| 91久久精品一区二区二区| 国产精品主播直播| 日本不卡一区二区三区高清视频| 亚洲欧美日韩久久| 国产三区在线成人av| 91麻豆精品久久久久蜜臀| 色综合中文综合网| 国模冰冰炮一区二区| 亚洲主播在线播放| 日本一区二区三区高清不卡| 日韩视频免费直播| 欧美卡1卡2卡| 色悠悠亚洲一区二区| 成人网在线免费视频| 国产自产2019最新不卡| 美女在线观看视频一区二区| 亚洲国产视频一区二区| ...av二区三区久久精品| 久久精品日韩一区二区三区| 日韩一级高清毛片| 欧美日韩一级黄| 日本道色综合久久| www.日韩大片| 成人在线视频一区二区| 精品一区二区国语对白| 日本午夜一本久久久综合| 亚洲一区二区三区视频在线播放| 国产精品成人午夜| 中文一区一区三区高中清不卡| 精品日韩在线观看| 日韩一区二区三| 日韩欧美一级精品久久| 欧美一级在线视频| 日韩三级免费观看| 日韩一区二区三区精品视频| 91精品国产综合久久久久久久久久 | 久久精品一二三| 久久综合久久综合亚洲| 欧美大片日本大片免费观看| 91精品免费观看| 欧美一级高清片在线观看| 欧美人体做爰大胆视频| 欧美色网一区二区| 欧美久久一区二区| 欧美高清你懂得| 欧美精选午夜久久久乱码6080| 欧美猛男男办公室激情| 7777精品伊人久久久大香线蕉的| 欧美日韩精品福利| 欧美高清hd18日本| 欧美精品视频www在线观看| 91精品国产全国免费观看| 日韩一级完整毛片| 欧美r级在线观看| 久久蜜桃av一区二区天堂| 久久久久成人黄色影片| 中国av一区二区三区| 亚洲精品第1页| 日本亚洲最大的色成网站www| 蜜臀av一级做a爰片久久| 国产乱码精品1区2区3区| 波多野结衣精品在线|