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

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

?? nnd12sd1.m

?? 《神經網絡設計》英文版的配套源代碼
?? M
字號:
function nnd12sd1(cmd,arg1)
%NND12SD1 Steepest descent backpropagation demonstration #1.
%
%  This demonstration requires the Neural Network Toolbox.

% $Revision: 1.8 $
% Copyright 1994-2002 PWS Publishing Company and The MathWorks, Inc.
% First Version, 8-31-95.

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

% CONSTANTS
me = 'nnd12sd1';
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 = nndfgflg(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
  surf_axis = H(3);           % error surface axis
  cont_axis = H(4);           % error contour axis
  surf_ptr = H(5);            % pointer to error surface
  cont_ptr = H(6);            % pointer to error contour handles
  variables = H(7:10);        % variable name texts
  radios = H(11:13);          % radio buttons
  option_ptr = H(14);         % index of active radio
  path_ptr = H(15);           % 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
  % ODJ 12/23/07 Check for NN Toolbox removed
  %if ~nntexist(me), return, end

  % CONSTANTS
  W1 = [10; 10];
  b1 = [-5;5];
  W2 = [1 1];
  b2 = [-1];
  P = -2:0.1:2;
  [R,Q] = size(P);
  %A1 = logsig(W1*P+b1*ones(1,Q));
  A1 = nndlogsig(W1*P+b1*ones(1,Q));
  %T = logsig(W2*A1+b2*ones(1,Q));
  T = nndlogsig(W2*A1+b2*ones(1,Q));

  % NEW DEMO FIGURE
  fig = nndemof2(me,'DESIGN','Steepest Descent Backprop #1','','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')

  % NETWORK POSITIONS
  x1 = 40;     % input
  x2 = x1+90;  % 1st layer sum
  x3 = x2+40;  % 1st layer transfer function
  x4 = x3+100; % 2nd layer sum
  x5 = x4+40;  % 2nd layer transfer function
  x6 = x5+50;  % output
  y1 = 330;    % top neuron
  y2 = y1-35;  % input & output neuron
  y3 = y1-70;  % bottom neuron
  sz = 15;     % size of icons
  wx = 55;     % weight vertical offset (from 1st layer)
  wy = 40;     % weight horizontal offset (from middle)

  % NETWORK INPUT
  nndtext(x1-10,y2,'p');
  plot([x2-sz x1 x2-sz],[y1 y2 y3],'linewidth',2,'color',nnred);

  % TOP NEURON
  plot([x2 x2 x3],[y1-sz*2 y1 y1],'linewidth',2,'color',nnred);
  nndsicon('sum',x2,y1,sz)
  nndsicon('logsig',x3,y1,sz)
  var1 = nndtext(x2-wx,y2+wy,'W1(1,1)');
  set(var1,'color',[1 1 1])
  nndtext(x2+2,y1-sz*2-13,'1');
  var2 = nndtext(x2+10,y1-sz*2,'b1(1)','left');

  % BOTTOM NEURON
  plot([x2 x2 x3],[y3-sz*2 y3 y3],'linewidth',2,'color',nnred);
  nndsicon('sum',x2,y3,sz)
  nndsicon('logsig',x3,y3,sz)
  nndtext(x2-wx,y2-wy,'W1(2,1)');
  nndtext(x2+2,y3-sz*2-13,'1');
  var3 = nndtext(x2+10,y3-sz*2,'b1(2)','left');

  % OUTPUT NEURON
  plot([x3+sz x4-10 x3+sz],[y1 y2 y3],'linewidth',2,'color',nnred);
  plot([x4 x4 x6],[y2-sz*2 y2 y2],'linewidth',2,'color',nnred);
  plot([x6-10 x6 x6-10],[y2-7 y2 y2+7],'linewidth',2,'color',nnred);
  nndsicon('sum',x4,y2,sz)
  nndsicon('logsig',x5,y2,sz);
  var4 = nndtext(x3+wx,y2+wy,'W2(1,1)');
  set(var4,'color',[1 1 1])
  nndtext(x3+wx,y2-wy,'W2(1,2)');
  nndtext(x4+2,y2-sz*2-13,'1');
  nndtext(x4+10,y2-sz*2,'b2','left');
  nndtext(x5+sz+5,y2+8,'a2','left');

  % RADIO BUTTONS
  option = 1;
  radio1 = uicontrol(...
    'units','points',...
    'position',[20 180 130 20],...
    'style','radio',...
    'string','W1(1,1), W2(1,1)',...
    'callback',[me '(''radio'',1)'],...
    'back',nnltgray,...
    'value',1);
  radio2 = uicontrol(...
    'units','points',...
    'position',[155 180 115 20],...
    'style','radio',...
    'string','W1(1,1), b1(1)',...
    'back',nnltgray,...
    'callback',[me '(''radio'',2)']);
  radio3 = uicontrol(...
    'units','points',...
    'position',[270 180 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',[230 40 130 130],...
    '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)

  surf_axis = nnsfo('a2','',v1,v2,'Sum Sq. Error');
  set(surf_axis, ...
    'units','points',...
    'position',[50 40 130 130],...
    'color',nnltyell,...
    'xlim',range1,...
    'ylim',range2)
  view(vw)
  set(gcf,'renderer','p');
  surf_h = surf(x1,y1,E1);
  set(surf_h,'erasemode','none','facecolor','interp')
  
  colormap(bone)
  brighten(0.6)

  % BUTTONS
  drawnow % Let everything else appear before 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
  surf_ptr = uicontrol('visible','off','userdata',surf_h);
  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 surf_axis cont_axis surf_ptr cont_ptr ...
       var1 var2 var3 var4 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',...
    'error surface and',...
    'contour are shown',...
    'below.',...
    '',...
    'Click in the contour',...
    'graph (on the right)',...
    'to start the',...
    'steepest descent',...
    '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'))
    delete(get(surf_axis,'children'))

    % CONSTANTS
    W1 = [10; 10];
    b1 = [-5;5];
    W2 = [1 1];
    b2 = [-1];
    P = -2:0.1:2;
    [R,Q] = size(P);
    %A1 = logsig(W1*P+b1*ones(1,Q));
    A1 = nndlogsig(W1*P+b1*ones(1,Q));
    %T = logsig(W2*A1+b2*ones(1,Q));
    T = nndlogsig(W2*A1+b2*ones(1,Q));
 
    % ERROR SURFACE & VARIABLE NAMES
    if option == 1
      load nndbp1
      set(variables([1 4]),'color',[1 1 1])
      set(variables([2 3]),'color',nndkblue)
    elseif option == 2
      load nndbp2
      set(variables([1 2]),'color',[1 1 1])
      set(variables([3 4]),'color',nndkblue)
    else
      load nndbp3
      set(variables([2 3]),'color',[1 1 1])
      set(variables([1 4]),'color',nndkblue)
    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);
    view(2)

    axes(surf_axis)
    set(get(surf_axis,'xlabel'),'string',v1)
    set(get(surf_axis,'ylabel'),'string',v2)
    set(surf_axis,'xlim',range1,'ylim',range2)
    surf_h = surf(x1,y1,E1);
    set(surf_h,'erasemode','none','facecolor','interp')
    view(vw)

    % STORE DATA
    set(cont_ptr,'userdata',[cont_h; cont_h2]);
    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');
    surf_h = get(surf_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;
    [R,Q] = size(P);
    %A1 = logsig(W1*P+b1*ones(1,Q));
    A1 = nndlogsig(W1*P+b1*ones(1,Q));
    %T = logsig(W2*A1+b2*ones(1,Q));
    T = nndlogsig(W2*A1+b2*ones(1,Q));

    % 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
      lr = 3.5;
      ep = 1000;
      W1(1,1) = x;
      W2(1,1) = y;
    elseif option == 2
      lr = 25;
      ep = 300;
      W1(1,1) = x;
      b1(1) = y;
    else
      lr = 25;
      ep = 60;
      b1(1) = x;
      b1(2) = y;
    end

    %A1 = logsig(W1*P+b1*ones(1,Q));
    A1 = nndlogsig(W1*P+b1*ones(1,Q));
    %A2 = logsig(W2*A1+b2*ones(1,Q));
    A2 = nndlogsig(W2*A1+b2*ones(1,Q));
    E = T-A2;

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

    % TRAINING #1
    if option == 1
      for i=2:(ep+1)
        SSE = sum(sum(E.*E)); %sumsqr(E);
        D2 = A2.*(1-A2).*E;
        D1 = A1.*(1-A1).*(W2'*D2);
        dW1 = D1*P'*lr;
        db1 = D1*ones(Q,1)*lr;
        dW2 = D2*A1'*lr;
        db2 = D2*ones(Q,1)*lr;
      
        newx = W1(1,1) + dW1(1,1); W1(1,1) = newx; xx(i) = newx;
        newy = W2(1,1) + dW2(1,1); W2(1,1) = newy; yy(i) = newy;

        %A1 = logsig(W1*P+b1*ones(1,Q));
        A1 = nndlogsig(W1*P+b1*ones(1,Q));
        %A2 = logsig(W2*A1+b2*ones(1,Q));
        A2 = nndlogsig(W2*A1+b2*ones(1,Q));
        E = T-A2;
        ee(i) = sum(sum(E.*E)); %sumsqr(E);
      end

    % TRAINING #2
    elseif option == 2
      for i=2:(ep+1)
        SSE = sum(sum(E.*E)); %sumsqr(E);
        D2 = A2.*(1-A2).*E;
        D1 = A1.*(1-A1).*(W2'*D2);
        dW1 = D1*P'*lr;
        db1 = D1*ones(Q,1)*lr;
        dW2 = D2*A1'*lr;
        db2 = D2*ones(Q,1)*lr;
      
        newx = W1(1,1) + dW1(1,1); W1(1,1) = newx; xx(i) = newx;
        newy = b1(1)   + db1(1);   b1(1) = newy;   yy(i) = newy;

        %A1 = logsig(W1*P+b1*ones(1,Q));
        A1 = nndlogsig(W1*P+b1*ones(1,Q));
        %A2 = logsig(W2*A1+b2*ones(1,Q));
        A2 = nndlogsig(W2*A1+b2*ones(1,Q));
        E = T-A2;
        ee(i) = sum(sum(E.*E)); %sumsqr(E);
      end

   % TRAINING #3
   else
      for i=2:(ep+1)
        SSE = sum(sum(E.*E)); %sumsqr(E);
        D2 = A2.*(1-A2).*E;
        D1 = A1.*(1-A1).*(W2'*D2);
        dW1 = D1*P'*lr;
        db1 = D1*ones(Q,1)*lr;
        dW2 = D2*A1'*lr;
        db2 = D2*ones(Q,1)*lr;
      
        newx = b1(1) + db1(1);   b1(1) = newx;   xx(i) = newx;
        newy = b1(2) + db1(2);   b1(2) = newy;   yy(i) = newy;

        %A1 = logsig(W1*P+b1*ones(1,Q));
        A1 = nndlogsig(W1*P+b1*ones(1,Q));
        %A2 = logsig(W2*A1+b2*ones(1,Q));
        A2 = nndlogsig(W2*A1+b2*ones(1,Q));
        E = T-A2;
        ee(i) = sum(sum(E.*E)); %sumsqr(E);
      end
    end

    % CONTOUR PLOT
    path = [path; plot(xx,yy,'color',nnred); 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一区二区三区免费野_久草精品视频
国精产品一区一区三区mba视频 | 欧美成人精品高清在线播放| 亚洲精品在线观| 亚洲午夜电影在线观看| 国产不卡免费视频| 欧美一区二区三区小说| 亚洲女人****多毛耸耸8| 国产一区三区三区| 制服.丝袜.亚洲.另类.中文| 亚洲日本一区二区三区| 福利视频网站一区二区三区| 欧美电影免费提供在线观看| 性做久久久久久久免费看| 99国产精品久| 国产精品国产三级国产| 国产精品中文欧美| 精品国产伦一区二区三区观看方式| 亚洲国产精品嫩草影院| 91亚洲精品久久久蜜桃网站| 国产精品视频免费看| 国产精品99久久久久久久vr | 日本伊人精品一区二区三区观看方式| av一本久道久久综合久久鬼色| 久久综合精品国产一区二区三区| 奇米精品一区二区三区在线观看 | 韩日欧美一区二区三区| 欧美一卡二卡三卡| 免费高清成人在线| 欧美一区二区私人影院日本| 视频一区在线播放| 91精品免费观看| 首页欧美精品中文字幕| 欧美一级精品大片| 看电视剧不卡顿的网站| 26uuu欧美| 岛国精品在线播放| 国产精品国产三级国产| 色视频欧美一区二区三区| 亚洲女爱视频在线| 欧美色图12p| 日本v片在线高清不卡在线观看| 7777精品伊人久久久大香线蕉超级流畅 | 国产色婷婷亚洲99精品小说| 国产成人精品亚洲777人妖| 欧美激情综合网| 91视频国产观看| 亚洲一区二区三区四区在线| 欧美日韩aaa| 美女精品一区二区| 久久精品综合网| 91麻豆国产自产在线观看| 亚洲小说欧美激情另类| 欧美一级久久久| 国产999精品久久久久久绿帽| 中文字幕中文字幕一区二区| 色婷婷综合在线| 日韩av二区在线播放| 久久午夜电影网| 99视频国产精品| 日本不卡一区二区三区高清视频| 精品国产1区二区| 91网上在线视频| 九九**精品视频免费播放| 亚洲国产精品精华液ab| 欧美日韩三级在线| 国产成人三级在线观看| 亚洲欧美另类在线| 日韩欧美不卡一区| 色综合天天天天做夜夜夜夜做| 午夜视频一区二区三区| 国产日本欧洲亚洲| 欧美日韩国产乱码电影| 国产福利一区二区| 亚洲电影视频在线| 欧美激情艳妇裸体舞| 欧美日韩一二三| 成人激情黄色小说| 裸体一区二区三区| 一区二区三区在线视频观看| 久久久久久久综合| 欧美美女一区二区在线观看| 国产+成+人+亚洲欧洲自线| 日韩高清电影一区| 亚洲欧洲综合另类| 欧美精彩视频一区二区三区| 911精品产国品一二三产区 | 奇米影视在线99精品| 亚洲最新在线观看| 国产欧美精品一区| 日韩欧美在线网站| 欧美午夜电影在线播放| 高清不卡在线观看av| 免费视频最近日韩| 亚洲成人av一区二区| 中文字幕一区二区日韩精品绯色| 精品欧美久久久| 91精品福利在线一区二区三区 | av在线这里只有精品| 国产一区二区三区在线观看免费| 亚洲成人动漫一区| 亚洲人成在线观看一区二区| 中文字幕免费不卡在线| 久久精品欧美一区二区三区麻豆| 欧美精品aⅴ在线视频| 欧美亚洲国产bt| 日本韩国欧美国产| 色妞www精品视频| 99re这里只有精品视频首页| 成人在线视频一区| 丁香婷婷深情五月亚洲| 国产精品一卡二卡| 国产精品99久久不卡二区| 国产乱色国产精品免费视频| 精品一区二区三区久久| 激情综合网激情| 国产精品亚洲第一区在线暖暖韩国| 久久精品久久综合| 久久99精品久久久久久久久久久久| 日韩av一二三| 日本特黄久久久高潮 | 亚洲国产综合91精品麻豆| 国产精品青草久久| 亚洲欧美日韩在线| 亚洲主播在线观看| 午夜不卡在线视频| 国产一区二区美女| 国产一区在线观看麻豆| 成人一区二区三区视频在线观看| 成人午夜精品在线| 91麻豆成人久久精品二区三区| 欧美这里有精品| 欧美一区二区三级| 日本一区二区三区在线观看| 国产精品久久久久久久岛一牛影视 | 91麻豆自制传媒国产之光| 欧洲视频一区二区| 91精品国产综合久久久蜜臀粉嫩 | 日韩影院免费视频| 精品一区二区三区久久| 国产酒店精品激情| 99精品欧美一区| 欧美日韩精品一区二区| 精品va天堂亚洲国产| 国产精品久久久久久久久免费樱桃| 亚洲精品久久嫩草网站秘色| 天天操天天干天天综合网| 黑人巨大精品欧美黑白配亚洲| aaa欧美大片| 欧美大片一区二区| 中文字幕一区免费在线观看| 亚洲午夜影视影院在线观看| 精品无人区卡一卡二卡三乱码免费卡| 国产大片一区二区| 欧美日韩黄色一区二区| 久久久久国产精品人| 亚洲国产精品一区二区久久| 久久精品av麻豆的观看方式| 97精品久久久久中文字幕| 91麻豆精品国产91久久久久| 欧美国产视频在线| 日本麻豆一区二区三区视频| 成人白浆超碰人人人人| 日韩欧美一级精品久久| 一区二区三区四区在线免费观看| 国产精品中文字幕日韩精品| 欧美精品国产精品| 亚洲人成网站色在线观看| 久久成人麻豆午夜电影| 91福利社在线观看| 欧美激情在线免费观看| 在线观看日韩国产| 男人的天堂久久精品| 国产偷v国产偷v亚洲高清| 91在线观看污| 国产jizzjizz一区二区| 678五月天丁香亚洲综合网| 中文字幕一区在线观看视频| 久久国产欧美日韩精品| 欧美精选午夜久久久乱码6080| 日韩一级大片在线观看| 久久久不卡网国产精品一区| 亚洲乱码国产乱码精品精可以看 | 国产精品自拍毛片| 91啪在线观看| 日韩欧美成人激情| 亚洲美女免费视频| 蜜桃视频在线一区| 色一区在线观看| 日韩欧美专区在线| 亚洲欧美欧美一区二区三区| 韩国女主播一区| 久久精品男人的天堂| 欧美一二三四在线| 中文字幕免费一区| 热久久一区二区| 91久久一区二区| 国产日产精品1区| 热久久国产精品| 色域天天综合网| 亚洲国产精品传媒在线观看|