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

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

?? marqlm.m

?? 類神經網路─MATLAB的應用(范例程式)
?? M
字號:
function [W1,W2,PI_vector,iteration,lambda]=marqlm(NetDef,W1,W2,PHI,Y,trparms)
%  MARQLM
%  ------
%            Levenberg-Marquardt training algorithm that uses less memory
%            than MARQ but is slower. The difference in speed occurs because
%            the function is less 'vetorized' (which is a MATLAB problem)
%            but also because some calculations are done more than once.
%
%  Programmed by : Magnus Norgaard, IAU/IMM, Technical Univ. of Denmark
%  LastEditDate  : July 16, 1996


%----------------------------------------------------------------------------------
%--------------             NETWORK INITIALIZATIONS                   -------------
%----------------------------------------------------------------------------------
[outputs,N] = size(Y);                  % # of outputs and # of data
[hidden,inputs] = size(W1);             % # of hidden units 
inputs=inputs-1;                        % # of inputs
L_hidden = find(NetDef(1,:)=='L')';     % Location of linear hidden neurons
H_hidden = find(NetDef(1,:)=='H')';     % Location of tanh hidden neurons
L_output = find(NetDef(2,:)=='L')';     % Location of linear output neurons
H_output = find(NetDef(2,:)=='H')';     % Location of tanh output neurons
y1       = [zeros(hidden,1);1];         % Hidden layer outputs
y2       = zeros(outputs,1);            % Network output
index = outputs*(hidden+1) + 1 + [0:hidden-1]*(inputs+1); % A useful vector!
iteration = 1;                          % Counter variable
dw       = 1;                           % Flag telling that the weights are new
PHI      = [PHI;ones(1,N)];             % Augment PHI with a row containg ones
parameters1= hidden*(inputs+1);         % # of input-to-hidden weights
parameters2= outputs*(hidden+1);        % # of hidden-to-output weights
parameters = parameters1 + parameters2; % Total # of weights
PSI      = zeros(parameters,outputs);   % Deriv. of each output w.r.t. each weight                                     % Parameter vector containing all weights
theta = [reshape(W2',parameters2,1) ; reshape(W1',parameters1,1)];
theta_index = find(theta);              % Index to weights<>0
theta_red = theta(theta_index);         % Reduced parameter vector
reduced  = length(theta_index);         % The # of parameters in theta_red
index3   = 1:(reduced+1):(reduced^2);   % A third useful vector
lambda_old = 0;
if ~exist('trparms')                    % Default training parameters
  max_iter  = 500;
  stop_crit = 0;
  lambda    = 1;
  D         = 0;
else                                    % User specified values
  max_iter  = trparms(1);
  stop_crit = trparms(2);
  lambda    = trparms(3);
  if length(trparms)==4,                % Scalar weight decay parameter
    D = trparms(4*ones(1,reduced))';      
  elseif length(trparms)==5,            % Two weight decay parameters
    D = trparms([4*ones(1,parameters2) 5*ones(1,parameters1)])';
    D = D(theta_index);
  elseif length(trparms)>5,             % Individual weight decay
    D = trparms(4:length(trparms))';
  end
end
PI_vector= zeros(1,max_iter);           % Vec. cont. cost fct. for each iteration

%----------------------------------------------------------------------------------
%--------------                   TRAIN NETWORK                       -------------
%----------------------------------------------------------------------------------
clc;
c=fix(clock);
fprintf('Network training started at %2i.%2i.%2i\n\n',c(4),c(5),c(6));


% >>>>>>>>>>>>>>>>>>>>>  COMPUTE NETWORK OUTPUT  y2(theta)   <<<<<<<<<<<<<<<<<<<<<<
SSE = 0;
for t=1:N,
  h1 = W1*PHI(:,t);  
  y1(H_hidden) = pmntanh(h1(H_hidden));
  y1(L_hidden) = h1(L_hidden);

  h2 = W2*y1;
  y2(H_output) = pmntanh(h2(H_output));
  y2(L_output) = h2(L_output);

  E        = Y(:,t) - y2;                   % Training error
  SSE      = SSE + E'*E;                  % Sum of squared errors (SSE)
end
PI       = (SSE+theta_red'*(D.*theta_red))/(2*N); % Performance index

while iteration<=max_iter    
if dw==1,
% >>>>>>>>>>>>>>>>>>>>>>>>>>>   COMPUTE THE PSI MATRIX   <<<<<<<<<<<<<<<<<<<<<<<<<<
% (The derivative of each network output (y2) with respect to each weight)
  G = zeros(reduced,1);
  H = diag(D);
  for t=1:N,
    h1 = W1*PHI(:,t);  
    y1(H_hidden) = pmntanh(h1(H_hidden));
    y1(L_hidden) = h1(L_hidden);    
    h2 = W2*y1;
    y2(H_output) = pmntanh(h2(H_output));
    y2(L_output) = h2(L_output);
    E        = Y(:,t) - y2;                      % Training error

    % ==========   Elements corresponding to the linear output units   ============
    for i = L_output'
      index1 = (i-1) * (hidden + 1) + 1;

      % -- The part of PSI corresponding to hidden-to-output layer weights --
      PSI(index1:index1+hidden,i) = y1;
      % ---------------------------------------------------------------------
 
      % -- The part of PSI corresponding to input-to-hidden layer weights ---
      for j = L_hidden',
        PSI(index(j):index(j)+inputs,i) = W2(i,j)*PHI(:,t);
      end

      for j = H_hidden',
        PSI(index(j):index(j)+inputs,i) = W2(i,j)*(1-y1(j).*y1(j))*PHI(:,t);
      end 
      % ---------------------------------------------------------------------    
    end

    % ============  Elements corresponding to the tanh output units   =============
    for i = H_output',
      index1 = (i-1) * (hidden + 1) + 1;

      % -- The part of PSI corresponding to hidden-to-output layer weights --
      PSI(index1:index1+hidden,i) = y1*(1 - y2(i,:).*y2(i,:));
      % ---------------------------------------------------------------------
     
      % -- The part of PSI corresponding to input-to-hidden layer weights ---
      for j = L_hidden',
        PSI(index(j):index(j)+inputs,i) = W2(i,j)*(1-y2(i).*y2(i))* PHI(:,t);
      end
      
      for j = H_hidden',
        PSI(index(j):index(j)+inputs,i) = W2(i,j)*(1-y1(j).*y1(j))...
                                           *(1-y2(i).*y2(i))* PHI(:,t);
      end
      % ---------------------------------------------------------------------
    end
    PSI_red = PSI(theta_index,:);
    G = G + PSI_red*E;             % -- Gradient --
    H = H + PSI_red*PSI_red';      % -- Hessian  --
  end
  G = G - D.*theta_red;
  dw = 0;
  end

% >>>>>>>>>>>>>>>>>>>>>>>>>>>        COMPUTE h_k        <<<<<<<<<<<<<<<<<<<<<<<<<<<
  % -- Hessian  --
  H(index3) = H(index3)'+(lambda-lambda_old);  % Add diagonal matrix

  % -- Search direction --
  U = chol(H);
  x = U'\G;
  h = U\x;
%  h = H\G;                                     % Solve for search direction

  % -- Compute 'apriori' iterate --
  theta_red_new = theta_red + h;               % Update parameter vector
  theta(theta_index) = theta_red_new;

  % -- Put the parameters back into the weight matrices --
  W1_new = reshape(theta(parameters2+1:parameters),inputs+1,hidden)';
  W2_new = reshape(theta(1:parameters2),hidden+1,outputs)';
    
    
% >>>>>>>>>>>>>>>>>>>>   COMPUTE NETWORK OUTPUT  y2(theta+h)   <<<<<<<<<<<<<<<<<<<<
  SSE_new = 0;
  for t=1:N,
    h1 = W1_new*PHI(:,t);  
    y1(H_hidden) = pmntanh(h1(H_hidden));
    y1(L_hidden) = h1(L_hidden);
    
    h2 = W2_new*y1;
    y2(H_output) = pmntanh(h2(H_output));
    y2(L_output) = h2(L_output);

    E_new    = Y(:,t) - y2;                     % Training error
    SSE_new  = SSE_new + E_new'*E_new;     % Sum of squared errors (SSE)
  end
  PI_new   = (SSE_new + theta_red_new'*(D.*theta_red_new))/(2*N); % PI


% >>>>>>>>>>>>>>>>>>>>>>>>>>>       UPDATE  lambda     <<<<<<<<<<<<<<<<<<<<<<<<<<<<
  L = h'*G + h'*(h.*(D+lambda));
  lambda_old = lambda;

  % Decrease lambda if SSE has fallen 'sufficiently'
  if 2*N*(PI - PI_new) > (0.75*L),
    lambda = lambda/2;
  
  % Increase lambda if SSE has grown 'sufficiently'
  elseif 2*N*(PI-PI_new) <= (0.25*L),
    lambda = 2*lambda;
  end


% >>>>>>>>>>>>>>>>>>>>       UPDATES FOR NEXT ITERATION        <<<<<<<<<<<<<<<<<<<<
  % Update only if criterion has decreased
  if PI_new < PI,                      
    W1 = W1_new;
    W2 = W2_new;
    theta_red = theta_red_new;
    PI = PI_new;
    lambda_old=0;
    dw = 1;
    iteration = iteration + 1;
    PI_vector(iteration-1) = PI;                             % Collect PI in vector
    fprintf('iteration # %i   PI = %4.3e\r',iteration-1,PI); % Print on-line inform
  end

  % Check if stopping condition is fulfilled
  if (PI < stop_crit) | (lambda>1e7), break, end             
end
%----------------------------------------------------------------------------------
%--------------              END OF NETWORK TRAINING                  -------------
%----------------------------------------------------------------------------------
PI_vector = PI_vector(1:iteration-1);
c=fix(clock);
fprintf('\n\nNetwork training ended at %2i.%2i.%2i\n',c(4),c(5),c(6));

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品美女一区二区| 亚洲日本丝袜连裤袜办公室| 亚洲精品国产无套在线观| 精品国产sm最大网站免费看| 日韩视频免费观看高清完整版 | 久久综合久久综合久久| 日韩欧美一区二区三区在线| 欧美一区二区三区视频在线| 欧美一区二区三区婷婷月色| 337p亚洲精品色噜噜| 7777女厕盗摄久久久| 欧美剧情电影在线观看完整版免费励志电影 | 日本aⅴ亚洲精品中文乱码| 亚洲成人动漫一区| 视频在线观看一区二区三区| 视频一区在线播放| 美腿丝袜在线亚洲一区| 激情欧美一区二区三区在线观看| 捆绑调教美女网站视频一区| 捆绑紧缚一区二区三区视频| 国产福利不卡视频| 成人国产精品免费| 日本精品视频一区二区| 精品视频色一区| 欧美一区二区黄| 国产亚洲精品7777| 国产精品免费视频网站| 亚洲精品美腿丝袜| 丝袜美腿亚洲色图| 国产精品一色哟哟哟| 99久久久久久| 欧美精品在线观看播放| 精品对白一区国产伦| 中文天堂在线一区| 亚洲午夜久久久久久久久电影网| 午夜a成v人精品| 狠狠色2019综合网| www.亚洲免费av| 欧美丰满嫩嫩电影| 国产区在线观看成人精品| 亚洲人成7777| 麻豆高清免费国产一区| gogo大胆日本视频一区| 欧美精品第1页| 久久精品人人爽人人爽| 一区二区不卡在线播放| 久久99日本精品| 91国产成人在线| 精品国产不卡一区二区三区| 亚洲免费av在线| 久久精品免费观看| 91小视频在线| 日韩精品一区二区三区视频在线观看| 国产女主播一区| 日韩中文欧美在线| 99久久国产综合精品色伊| 欧美精品乱人伦久久久久久| 国产精品久久久久一区| 亚洲成在人线在线播放| 国产不卡一区视频| 91精品国产入口| 亚洲同性gay激情无套| 韩国精品久久久| 欧美日韩精品欧美日韩精品一综合| 久久婷婷色综合| 亚洲va国产va欧美va观看| 国产suv精品一区二区883| 欧美丰满嫩嫩电影| 亚洲精品伦理在线| 国产xxx精品视频大全| 欧美精品丝袜中出| 亚洲欧美另类小说视频| 国产一区二区美女| 91精品国产综合久久福利| 亚洲美女免费视频| 成人免费视频caoporn| 欧美成人在线直播| 日日骚欧美日韩| 色欧美88888久久久久久影院| 国产夜色精品一区二区av| 日韩激情视频在线观看| 色噜噜久久综合| 一区二区中文字幕在线| 国产白丝网站精品污在线入口| 日韩精品一区二区三区视频播放| 五月天一区二区三区| 在线亚洲高清视频| 亚洲精选视频在线| 99久久伊人网影院| 亚洲国产成人午夜在线一区 | 日韩一区二区三区免费观看| 一二三四社区欧美黄| 99视频热这里只有精品免费| 国产性色一区二区| 国产精品一区二区男女羞羞无遮挡| 这里只有精品免费| 亚洲一区影音先锋| 在线观看亚洲a| 亚洲激情在线播放| 色国产综合视频| 亚洲欧美电影院| 一本到三区不卡视频| 亚洲人成电影网站色mp4| 色综合久久综合网97色综合| 国产精品二区一区二区aⅴ污介绍| 国产精品白丝av| 欧美激情综合网| 国产成人精品免费在线| 国产偷国产偷精品高清尤物 | 日韩一区二区三区免费看| 视频一区欧美精品| 日韩区在线观看| 久久黄色级2电影| 欧美精品一区二区三区久久久| 精品一区二区三区免费视频| 精品电影一区二区| 国产乱码精品一品二品| 国产亚洲一区字幕| 岛国精品在线观看| 日韩毛片视频在线看| 欧美午夜不卡在线观看免费| 日韩av一区二区三区| 欧美一区二区三区成人| 激情综合色综合久久综合| 久久久久99精品国产片| 国产91精品在线观看| 亚洲乱码国产乱码精品精可以看 | 久久精品一区二区三区不卡牛牛| 国产高清成人在线| 亚洲视频在线一区观看| 色欲综合视频天天天| 婷婷久久综合九色国产成人| 欧美一卡二卡在线观看| 国产一区二区三区在线看麻豆| 国产精品人人做人人爽人人添 | 亚洲人精品午夜| 精品视频123区在线观看| 人妖欧美一区二区| 久久久久久久av麻豆果冻| av一区二区久久| 肉色丝袜一区二区| 欧美经典一区二区三区| 欧美性大战久久久| 欧美一区二区国产| 国产不卡在线视频| 亚洲第一成年网| 久久久久久一级片| 日本道免费精品一区二区三区| 日韩不卡一区二区三区| 国产午夜精品久久久久久久| 欧美性做爰猛烈叫床潮| 激情综合色丁香一区二区| 国产精品盗摄一区二区三区| 欧美日韩1区2区| 成人免费高清视频在线观看| 亚洲午夜日本在线观看| 国产偷v国产偷v亚洲高清| 在线观看国产91| 国产精品原创巨作av| 亚洲一卡二卡三卡四卡五卡| 久久久亚洲精华液精华液精华液| 在线观看91视频| 成人免费黄色在线| 免费成人在线观看| 亚洲精品欧美在线| 国产婷婷一区二区| 日韩一区二区在线观看| 色婷婷综合久色| 国产一区二区不卡老阿姨| 亚洲午夜激情网页| 国产精品久久看| 精品av久久707| 欧美性大战久久久久久久蜜臀 | 日韩一级大片在线观看| 91尤物视频在线观看| 国产一区不卡在线| 欧美亚洲尤物久久| 国产成人亚洲精品狼色在线| 午夜精品免费在线| 亚洲欧美激情小说另类| 国产亚洲欧美一区在线观看| 这里只有精品99re| 欧美影院一区二区| www.久久久久久久久| 国产精品资源在线看| 爽好久久久欧美精品| 亚洲综合精品自拍| 国产精品久久久久7777按摩| 久久综合色之久久综合| 91精品久久久久久蜜臀| 欧美亚洲动漫精品| 色屁屁一区二区| 一本色道综合亚洲| 成人av免费观看| 国产精品白丝jk黑袜喷水| 久草在线在线精品观看| 麻豆国产欧美日韩综合精品二区| 日本最新不卡在线| 日韩国产欧美在线观看| 天天色综合成人网|