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

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

?? nnd12m.m

?? 神經網絡的程序說明,以及代碼 神經網絡工具箱應用
?? 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一区二区三区免费野_久草精品视频
成人av网址在线观看| 亚洲综合在线第一页| 免费高清不卡av| 欧美喷潮久久久xxxxx| 婷婷国产v国产偷v亚洲高清| 欧美日韩国产美| 琪琪久久久久日韩精品| 7777精品伊人久久久大香线蕉完整版| 五月婷婷欧美视频| 日韩欧美国产高清| 国产精品资源网| 国产精品毛片无遮挡高清| 99久久国产综合精品色伊| 亚洲女厕所小便bbb| 欧美三区在线观看| 蜜臀va亚洲va欧美va天堂| 亚洲视频一二区| 色噜噜偷拍精品综合在线| 亚洲成人777| 亚洲精品在线一区二区| 国产成人精品亚洲日本在线桃色| 椎名由奈av一区二区三区| 欧美又粗又大又爽| 麻豆精品一二三| 中文字幕欧美区| 欧美亚洲另类激情小说| 精品在线观看视频| 亚洲欧美日韩小说| 日韩精品一区二区三区四区| caoporn国产精品| 日本成人在线不卡视频| 日本一区二区三区免费乱视频| 色综合久久88色综合天天6| 蜜臀av性久久久久蜜臀aⅴ| 欧美国产日韩一二三区| 欧美日韩一区在线| 国产91综合网| 日韩中文字幕区一区有砖一区 | 亚洲欧洲综合另类在线| 欧美日韩综合一区| 成人av在线观| 韩国一区二区三区| 亚洲成av人片| 中文字幕一区二区三区色视频| 69p69国产精品| 色哟哟精品一区| 国产又黄又大久久| 天天综合色天天综合| 国产精品网站在线观看| 欧美大片一区二区三区| 在线欧美一区二区| 成人毛片视频在线观看| 免费在线观看一区| 亚洲午夜久久久久| 中文字幕一区二区三区在线播放 | 国产精品成人网| 日韩精品一区二区三区三区免费| 在线免费观看日韩欧美| 成人免费视频视频在线观看免费 | 天天综合日日夜夜精品| 亚洲特黄一级片| 国产日韩欧美a| 精品黑人一区二区三区久久 | 91免费观看国产| 国产成人精品www牛牛影视| 免费观看久久久4p| 视频一区欧美日韩| 午夜电影网一区| 亚洲国产乱码最新视频| 亚洲人妖av一区二区| 欧美国产欧美综合| 国产精品网站一区| 久久久蜜臀国产一区二区| 精品国产乱子伦一区| 欧美一区二区成人6969| 欧美日韩成人综合在线一区二区| 色婷婷av一区二区三区gif| 色综合一区二区| 亚洲国产精品久久人人爱| 日韩美女视频一区二区| 自拍偷在线精品自拍偷无码专区 | 老色鬼精品视频在线观看播放| 亚洲成人综合视频| 亚洲成av人片一区二区| 秋霞av亚洲一区二区三| 免费视频一区二区| 麻豆91精品视频| 精品一二三四在线| 国产高清视频一区| 成人av免费在线播放| 91丝袜美女网| 欧美性色aⅴ视频一区日韩精品| 欧美性生活大片视频| 欧美精品 日韩| 欧美xxxx在线观看| 欧美国产日韩在线观看| 有码一区二区三区| 亚洲成av人片www| 激情欧美一区二区三区在线观看| 国产一区高清在线| 成人av免费在线观看| 日本黄色一区二区| 欧美一区永久视频免费观看| 日韩午夜激情电影| 国产欧美日韩三级| 一区二区三区在线不卡| 免费高清在线一区| 成人精品高清在线| 欧洲一区二区三区免费视频| 91精品福利在线一区二区三区| 337p日本欧洲亚洲大胆精品| 国产精品毛片久久久久久久| 亚洲.国产.中文慕字在线| 激情综合五月婷婷| 91无套直看片红桃| 欧美丰满一区二区免费视频| 久久久国产精品麻豆| 亚洲中国最大av网站| 激情五月播播久久久精品| www.99精品| 日韩亚洲国产中文字幕欧美| 亚洲国产精品激情在线观看| 日韩国产欧美视频| 99视频一区二区三区| 欧美日本一区二区| 中文字幕亚洲区| 久久国产精品99久久久久久老狼| av成人免费在线| 日韩精品一区二区三区视频播放| 亚洲天堂免费在线观看视频| 国产又黄又大久久| 欧美久久久久免费| 综合久久给合久久狠狠狠97色| 美女精品自拍一二三四| 色成年激情久久综合| 久久久久88色偷偷免费| 视频精品一区二区| 91行情网站电视在线观看高清版| 久久人人97超碰com| 三级在线观看一区二区| 91在线精品一区二区三区| 2023国产精品自拍| 五月天激情小说综合| 91丨九色丨尤物| 中文字幕不卡在线播放| 久久av中文字幕片| 欧美猛男gaygay网站| 一区二区三区在线观看视频| 懂色av噜噜一区二区三区av| 精品久久久久久亚洲综合网| 日韩黄色免费电影| 欧美日韩久久一区| 一区二区在线看| 91网站在线观看视频| 欧美高清在线精品一区| 国产在线精品不卡| 精品国产网站在线观看| 老司机精品视频一区二区三区| 欧美日韩成人高清| 午夜欧美电影在线观看| 在线观看三级视频欧美| 亚洲欧美经典视频| 色综合视频一区二区三区高清| 国产欧美日韩视频在线观看| 国产成人亚洲综合a∨婷婷图片 | 国产成人av影院| 久久久久久夜精品精品免费| 久久99精品久久久久婷婷| 欧美一卡二卡三卡| 日本亚洲天堂网| 日韩一区二区三区精品视频| 蜜臀av国产精品久久久久| 91精品在线麻豆| 另类专区欧美蜜桃臀第一页| 精品国产一区二区三区久久久蜜月 | 国产亲近乱来精品视频| 高清成人免费视频| 国产精品久久久久7777按摩| www.一区二区| 亚洲色图在线看| 欧美无人高清视频在线观看| 亚洲国产sm捆绑调教视频| 88在线观看91蜜桃国自产| 日韩成人免费在线| 精品国产一区二区三区av性色| 国产河南妇女毛片精品久久久| 中文字幕精品三区| 91在线视频18| 天天亚洲美女在线视频| 日韩视频在线一区二区| 国产.欧美.日韩| 亚洲精品日韩专区silk| 欧美男男青年gay1069videost | 激情五月激情综合网| 中文字幕不卡三区| 欧美伊人久久大香线蕉综合69| 日韩av一二三| 中文在线资源观看网站视频免费不卡| 91一区二区三区在线观看| 偷拍一区二区三区|