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

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

?? nnd12ms.m

?? 神經網絡設計那本書的全部源代碼(隨書是附在軟盤里的)
?? M
字號:
function nnd12ms(cmd,arg1)
%NND12MS Maquardt step demonstration.
%
%	This demonstration requires the Neural Network Toolbox.

% First Version, 8-31-95.

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

% CONSTANTS
me = 'nnd12ms';
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
  cont_axis = H(3);           % error contour axis
  cont_ptr = H(4);            % pointer to error contour handles
  radios = H(5:7);          % radio buttons
  option_ptr = H(8);         % index of active radio
  path_ptr = H(9);           % 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 Step','','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')

  % RADIO BUTTONS
  option = 1;
  radio1 = uicontrol(...
    'units','points',...
    'position',[20 335 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 335 115 20],...
    'style','radio',...
    'string','W1(1,1), b1(1)',...
    'back',nnltgray,...
    'callback',[me '(''radio'',2)']);
  radio3 = uicontrol(...
    'units','points',...
    'position',[270 335 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',[50 40 280 280],...
    '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
  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 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,...
    'Click in the contour',...
    'graph to do a single',...
    'step of the Marquardt',...
    'learning algorithm.',...
    '',...
    'The black arrow',...
    'indicates the Gauss-',...
    'Newton step, the red',...
    'arrow indicates the',...
    'gradient direction.',...
    'The blue line',...
    'indicates the',...
    'Marquardt step as',...
    'mu is adjusted.')
    
%==================================================================
% 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 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');

    % CONSTANTS
    t=(.01:.01:1)'*2*pi;
    circ_x1=sin(t)*.1;
    circ_y1=cos(t)*.1;
    circ_x2=sin(t)*.2;
    circ_y2=cos(t)*.2;
    circ_x3=sin(t)*.3;
    circ_y3=cos(t)*.3;
    circ_x4=sin(t)*.4;
    circ_y4=cos(t)*.4;

    % REMOVE PREVIOUS PATH
    set(fig,'nextplot','add')
    set(path,'erasemode','normal');
    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')];

    % OPTIMAL SOLUTIONS
    if option == 1
      optx = 10;
      opty = 1;
    elseif option == 2
      optx = 10;
      opty = -5;
    else
      optx = -5;
      opty = 5;
    end
    xc=circ_x2+optx;
    yc=circ_y2+opty;
    % path = [path; fill(xc,yc,'w','erasemode','none','EdgeColor',nnred)];
    drawnow

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

    % 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;

    % INITIALIZE TRAINING
    Lx = x;
    Ly = y;
    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

    A1 = logsig(W1*P,b1);
    A2 = logsig(W2*A1,b2);
    E1 = T-A2;
    f1 = sumsqr(E1);
    
    % ASSIGN PARAMETERS
    max_epoch = 1;
    err_goal = 0.001;
    disp_freq = 1;
    mu_initial = 0.0012;
    v = 1.2;
    maxmu=1e10;
    mingrad=0;
    mu=mu_initial;
    ii=eye(2);
    meu=zeros(max_epoch,1);
    mer=meu;grad=meu;

    % MAIN LOOP
    for k=1:(max_epoch)
    
      % 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

      % DRAW LINE FOR GAUSS-NEWTON
      jj=jac'*jac;
      dw = -(jj+ii*mu)\je;

      gx = dw(1);
      gy = dw(2);
      dist = sqrt(gx^2+gy^2);
      path = [path; nndrwvec([Lx Lx+gx],[Ly Ly+gy],2,0.5,'k')];
      Lx1 = Lx+gx;
      Ly1 = Ly+gy;


      % DRAW LINE FOR GRADIENT
      dw = -je;

      gx = dw(1);
      gy = dw(2);
      gx1 = dist*gx/sqrt(gx^2+gy^2);
      gy1 = dist*gy/sqrt(gx^2+gy^2);
      path = [path; nndrwvec([Lx Lx+gx1],[Ly Ly+gy1],2,0.5,nnred)];


      % 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

        xc=circ_x2+newx;
        yc=circ_y2+newy;
        path = [path; plot([Lx1 newx],[Ly1 newy],'-b','linewidth',1,'erasemode','none')];
        Lx1 = newx;
        Ly1 = newy;

        A1 = logsig(W1n*P,b1n);
        A2 = logsig(W2n*A1,b2n);
        E2 = T-A2;
        f2=sumsqr(E2);	
        if (abs(f2-f1)>.001*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),
        break;
      end

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

      % EVALUATE & DISPLAY
      errors = [errors f1];
 
      % DISPLAY PROGRESS
      if rem(k,disp_freq) == 0
        xc=circ_x3+newx;
        yc=circ_y3+newy;
        Lx = newx;
        Ly = newy;
      end
    end
    
    % CONTOUR PLOT
    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一区二区三区免费野_久草精品视频
亚洲人被黑人高潮完整版| 日韩精品一区第一页| 亚洲人成精品久久久久| 激情文学综合丁香| 欧美色视频一区| 国产精品国产三级国产| 免费久久精品视频| 欧美日韩视频专区在线播放| 亚洲欧洲日产国码二区| 国产成人综合自拍| 欧美一区二区三区日韩| 91在线观看下载| 欧美二区乱c少妇| 亚洲欧美一区二区三区国产精品| 紧缚奴在线一区二区三区| 欧美日本一区二区在线观看| 中文字幕综合网| 国产91精品免费| 久久综合狠狠综合| 裸体在线国模精品偷拍| 在线播放日韩导航| 亚洲高清视频中文字幕| 色老头久久综合| 一区二区三区免费在线观看| 91麻豆精东视频| 亚洲视频在线观看三级| 不卡一卡二卡三乱码免费网站| 欧美精品一区二区三区高清aⅴ| 日韩激情在线观看| 91精品国产综合久久久久久久| 国产精品午夜春色av| aaa亚洲精品一二三区| 成人avav在线| 国产精品美女视频| 成人视屏免费看| 国产精品每日更新在线播放网址| 国产精品99久久久久久有的能看| 精品免费一区二区三区| 韩国毛片一区二区三区| 国产亚洲一本大道中文在线| 国产激情精品久久久第一区二区| 国产午夜三级一区二区三| 成人激情视频网站| 中文字幕欧美一区| 91福利社在线观看| 丝袜诱惑亚洲看片| 精品福利av导航| 国产成人高清在线| 悠悠色在线精品| 欧美精品一卡二卡| 国产精品一区二区三区乱码| 国产精品素人视频| 欧美一二三区精品| 国产精品美女久久久久久久| 一区二区三区免费观看| 天堂va蜜桃一区二区三区漫画版 | 国产精品美女久久久久aⅴ| 国产成人免费视频网站高清观看视频| 亚洲国产精品成人综合色在线婷婷| av一本久道久久综合久久鬼色| 亚洲精品成人a在线观看| 在线播放国产精品二区一二区四区| 日韩黄色免费电影| 久久精品在线免费观看| 一道本成人在线| 美女网站色91| 亚洲色图.com| 2023国产一二三区日本精品2022| 福利一区在线观看| 亚洲成av人片在线观看无码| 精品三级在线观看| 在线视频欧美精品| 国产乱人伦偷精品视频免下载 | 色哟哟国产精品| 麻豆精品视频在线观看免费| 18欧美乱大交hd1984| 91精品在线免费观看| www.欧美色图| 国内外成人在线| 天天操天天色综合| 国产精品久久久久一区| 制服丝袜日韩国产| 色女孩综合影院| 国产精品2024| 久久国产视频网| 亚洲一本大道在线| 亚洲欧美日韩一区二区| 国产三级三级三级精品8ⅰ区| 欧美三级电影在线观看| 成人国产一区二区三区精品| 激情综合色综合久久| 丝袜美腿亚洲色图| 亚洲一级二级三级在线免费观看| 国产偷国产偷亚洲高清人白洁| 91精品国产综合久久久久久漫画 | 一区二区免费看| 中文子幕无线码一区tr| 久久久欧美精品sm网站| 欧美一级夜夜爽| 欧美精品免费视频| 欧美自拍偷拍午夜视频| 色狠狠一区二区三区香蕉| 成人高清视频在线| 粉嫩绯色av一区二区在线观看| 精品伊人久久久久7777人| 天天色 色综合| 日本一区中文字幕| 免费在线欧美视频| 捆绑紧缚一区二区三区视频 | 91影视在线播放| av中文字幕在线不卡| 99久久国产综合精品色伊| 成人午夜激情在线| 99久久久久久| 色婷婷av一区二区| 91黄色免费版| 欧美日韩国产在线播放网站| 欧美精品久久久久久久多人混战| 在线看国产一区二区| 欧美亚洲免费在线一区| 欧美色男人天堂| 91麻豆精品国产无毒不卡在线观看 | 欧美最新大片在线看| 99国产欧美久久久精品| 91麻豆福利精品推荐| 色狠狠一区二区三区香蕉| 欧美日韩在线播放三区| 欧美一区日韩一区| 精品福利一区二区三区免费视频| 欧美日韩国产精品自在自线| 91麻豆精品国产91久久久久久久久 | 粉嫩aⅴ一区二区三区四区| 国产综合成人久久大片91| 国内成人自拍视频| 暴力调教一区二区三区| 在线影院国内精品| 日韩欧美国产电影| 国产日产欧美精品一区二区三区| 国产精品看片你懂得 | 中文字幕一区二区视频| 亚洲精品中文在线影院| 三级亚洲高清视频| 狠狠色狠狠色综合系列| 成人aa视频在线观看| 欧美三级电影网| 精品国产一区二区三区忘忧草| 国产色一区二区| 亚洲午夜在线视频| 国产精品影视天天线| 欧美视频在线观看一区| 2022国产精品视频| 亚洲欧美日韩精品久久久久| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产乱理伦片在线观看夜一区| 一本色道综合亚洲| 26uuu亚洲综合色| 综合av第一页| 久久66热偷产精品| 91美女福利视频| 精品国产乱码久久久久久久| 亚洲精品第1页| 国产一区激情在线| 欧美日韩不卡在线| 亚洲日本va在线观看| 看电影不卡的网站| 欧美三级电影在线看| 国产精品动漫网站| 精品一区二区在线观看| 在线观看一区二区视频| 久久综合久久久久88| 日韩在线观看一区二区| 91网站在线播放| 国产女人18毛片水真多成人如厕| 婷婷开心久久网| 日本伦理一区二区| 国产精品第四页| 国产乱码精品一区二区三区五月婷 | 91麻豆精品91久久久久同性| 国产无人区一区二区三区| 蜜臀av国产精品久久久久| 欧美视频一区二区在线观看| 国产欧美日韩激情| 久久69国产一区二区蜜臀| 欧美日韩国产色站一区二区三区| 亚洲人成网站影音先锋播放| 国产成人在线视频网址| 久久综合久色欧美综合狠狠| 麻豆一区二区三| 欧美一区二区久久| 青青草97国产精品免费观看无弹窗版| 日本久久一区二区| 亚洲欧美一区二区三区久本道91| 风间由美一区二区三区在线观看| 久久久久久日产精品| 国产在线观看一区二区| 精品人伦一区二区色婷婷| 久久97超碰色| 国产日韩欧美一区二区三区乱码 | 久久综合久久久久88| 黄色成人免费在线|