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

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

?? obsprune.m

?? matlab實現神經網絡程序集合
?? M
?? 第 1 頁 / 共 2 頁
字號:
function [theta_data,PI_vector,FPE_vector,PI_test_vec,deff_vec,pvec]=...
                             obsprune(NetDef,W1,W2,PHI,Y,trparms,prparms,PHI2,Y2)
%  OBSPRUNE
%  --------
%           This function applies the Optimal Brain Surgeon (OBS) algorithm
%           for pruning ordinary feedforward neural networks
%
%  CALL:
%   [theta_data,NSSEvec,FPEvec,NSSEtestvec,deff,pvec]=...
%                    obsprune(NetDef,W1,W2,PHI,Y,trparms,prparms,PHI2,Y2)
%
%  INPUT:
%  NetDef, W1, W2,
%  PHI, Y, trparms    : See for example the function MARQ
%  PHI2,Y2 (optional) : Test data. Can be used for pointing out the
%                       optimal network architecture. 
%  prparms            : Parameters assocoated with the pruning session
%                       prparms = [iter RePercent]
%                       iter      : Max. number of retraining iterations
%                       RePercent : Prune 'RePercent' percent of the
%                                   remaining weights (0 = prune one at a time)
%                       If passed as [], prparms=[50 0] will be used.
%  
%  OUTPUT:
%  theta_data  : Matrix containing all the parameter vectors
%  NSSEvec     : Vector containing the training error (SSE/2N) after each
%                weight elimination
%  FPEvec      : Contains the FPE estimate of the average generalization error
%  NSSEtestvec : Contains the test error
%  deff        : Contains the "effective" number of parameters
%  pvec        : Index to the above vectors
% 
%  Programmed by : Magnus Norgaard, IAU/IMM, Technical University of Denmark
%  LastEditDate  : July 17, 1996


%----------------------------------------------------------------------------------
%--------------             NETWORK INITIALIZATIONS                   -------------
%----------------------------------------------------------------------------------
more off
if nargin>7, TestDataFlag = 1;          % Check if test data was given as argument
else TestDataFlag = 0;end
iter      = prparms(1);                 % Max. retraining iterations
RePercent = prparms(2);                 % % of remaining weights to prune
[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 neuron
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,N);             % Hidden layer outputs
y2       = zeros(outputs,N);            % Network output
index = outputs*(hidden+1) + 1 + [0:hidden-1]*(inputs+1); % A usefull vector!
index2 = (0:N-1)*outputs;               % Yet another usefull vector
PHI_aug  = [PHI;ones(1,N)];             % Augment PHI with a row containing 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
ones_h   = ones(hidden+1,1);            % A vector of ones
ones_i   = ones(inputs+1,1);            % Another vector of ones
                                        % 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
reduced0 = reduced;                     % Copy of 'reduced'. Will be constant
theta_data=zeros(parameters,reduced);   % Matrix used for collecting theta vectors
theta_data(:,reduced) = theta;          % Insert 'initial' theta
PSI      = zeros(parameters,outputs*N); % Deriv. of each output w.r.t. each weight
p0       = 1e6;                         % Diag. element of H_inv (no weight decay)
H_inv    = p0*eye(reduced);             % Initial inverse Hessian (no weight decay)
Ident    = eye(outputs);                % Identity matrix
PI_vector= zeros(1,reduced);            % A vector containing the collected PI's
FPE_vector= zeros(1,reduced);           % Vector used for collecting FPE estimates
if length(trparms)==4,                  % Scalar weight decay parameter
  D0 = trparms(4*ones(1,reduced))';      
elseif length(trparms)==5,              % Two weight decay parameters
  D0 = trparms([4*ones(1,parameters2) 5*ones(1,parameters1)])';
  D0 = D0(theta_index);
else                                    % No weight decay  D = 0;
  D0 = zeros(reduced,1);
end
D = D0;
if TestDataFlag,                        % Initializations if a test set exists
  [tmp,N2]    = size(Y2);               % # of data in test set
  ytest1      = zeros(hidden,N2);       % Hidden layer outputs 
  ytest2      = zeros(outputs,N2);      % Network output
  PHI2_aug    = [PHI2;ones(1,N2)];      % Augment PHI with a row containing ones
  PI_test_vec = zeros(1,reduced);       % Collected PI's for the test set
end
deff_vec = zeros(1,reduced);            % The effective number of parameters
minweights = 2*outputs;                 % Prune until 'minweights'(>=2) weights remain
FirstTimeFlag=1;                        % Initialize flag
pr = 0;                                 % Initialize counter
pvec=[];                                % Initialize index vector
HiddenIndex = [];                       % Connection to hidden number X
for k=1:outputs,
  HiddenIndex = [HiddenIndex;(1:(hidden+1))'];
end
for k=1:hidden,
  HiddenIndex = [HiddenIndex;k*ones(inputs+1,1)];
end
ConnectToHidden = (inputs+1)*ones(hidden,1); % Connections to each hidden unit
ConnectFromHidden = outputs*ones(hidden,1);  % Connections from each hidden unit


%----------------------------------------------------------------------------------
%---------------                    MAIN LOOP                        --------------
%----------------------------------------------------------------------------------
while reduced>=minweights,   

  % >>>>>>>>>>>>>>>>>>>>>>>>>      Retrain Network      <<<<<<<<<<<<<<<<<<<<<<<<<<< 
  % -- Don't retrain the first time --
  if ~FirstTimeFlag,
    [W1,W2,dummy1,dummy2,dummy3] = marq(NetDef,W1,W2,PHI,Y,[iter,0,1,D']);
    theta = [reshape(W2',parameters2,1) ; reshape(W1',parameters1,1)];
    theta_red = theta(theta_index);       % Vector containing  non-zero parameters
    if ElimWeights==1,                    % Store parameter vector
      theta_data(:,reduced) = theta;
    else
      theta_data(:,[reduced reduced+LEidx-1]) = theta(:,ones(1,LEidx));
    end
  end
      

  % >>>>>>>>>>>>>  COMPUTE NETWORK OUTPUT FROM TEST DATA y2(theta)   <<<<<<<<<<<<<<
  % -- Compute only if a test set is present -- 
  if TestDataFlag,
    htest1 = W1*PHI2_aug; 
    ytest1(H_hidden,:) = pmntanh(htest1(H_hidden,:));
    ytest1(L_hidden,:) = htest1(L_hidden,:);
    ytest1_aug=[ytest1;ones(1,N2)];
        
    htest2 = W2*ytest1_aug;
    ytest2(H_output,:) = pmntanh(htest2(H_output,:));
    ytest2(L_output,:) = htest2(L_output,:);

    E        = Y2 - ytest2;               % Training error
    E_vector = E(:);                      % Reshape E into a long vector
    SSE      = E_vector'*E_vector;        % Sum of squared errors (SSE)
    PI_test = SSE/(2*N2);                 % Cost function evaluated on test data
    PI_test_vec(reduced) = PI_test;       % Collect PI_test in vector
  end


  % >>>>>>>>>>>  COMPUTE NETWORK OUTPUT FROM TRAINING DATA y2(theta)   <<<<<<<<<<<<
  h1 = W1*PHI_aug;  
  y1(H_hidden,:) = pmntanh(h1(H_hidden,:));
  y1(L_hidden,:) = h1(L_hidden,:);
  y1_aug=[y1; ones(1,N)];

  h2 = W2*y1_aug;
  y2(H_output,:) = pmntanh(h2(H_output,:));
        y2(L_output,:) = h2(L_output,:);
        
  E        = Y - y2;                      % Training error
  E_vector = E(:);                        % Reshape E into a long vector
  SSE      = E_vector'*E_vector;          % Sum of squared errors (SSE)
  PI = SSE/(2*N);                         % Value of cost function
  PI_vector(reduced) = PI;                % Collect PI in vector


  % >>>>>>>>>>>>>>>>>>>>>>>>>>   COMPUTE THE PSI MATRIX   <<<<<<<<<<<<<<<<<<<<<<<<<  
  % (The derivative of each network output (y2) with respect to each weight)

  % ============   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,index2+i) = y1_aug;
    % ---------------------------------------------------------------------
  
    % -- The part of PSI corresponding to input-to-hidden layer weights ---
    for j = L_hidden',
       PSI(index(j):index(j)+inputs,index2+i) = W2(i,j)*PHI_aug;
    end
      
    for j = H_hidden',
      tmp = W2(i,j)*(1-y1(j,:).*y1(j,:)); 
      PSI(index(j):index(j)+inputs,index2+i) = tmp(ones_i,:).*PHI_aug;
    end 
    % ---------------------------------------------------------------------    
  end
  
  % ======= Elements corresponding to the hyperbolic tangent output units   =======
  for i = H_output',
    index1 = (i-1) * (hidden + 1) + 1;

    % -- The part of PSI corresponding to hidden-to-output layer weights --
    tmp = 1 - y2(i,:).*y2(i,:);
    PSI(index1:index1+hidden,index2+i) = y1_aug.*tmp(ones_h,:);
    % ---------------------------------------------------------------------
         
    % -- The part of PSI corresponding to input-to-hidden layer weights ---
    for j = L_hidden',
      tmp = W2(i,j)*(1-y2(i,:).*y2(i,:));
      PSI(index(j):index(j)+inputs,index2+i) = tmp(ones_i,:).* PHI_aug;
    end
      
    for j = H_hidden',
      tmp  = W2(i,j)*(1-y1(j,:).*y1(j,:));
      tmp2 = (1-y2(i,:).*y2(i,:));

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品一区二区三区蜜桃| 欧美日韩精品一区二区天天拍小说 | 国产精品久久久久久妇女6080 | 中文字幕人成不卡一区| 美日韩黄色大片| 99久久精品情趣| 国产欧美一区二区精品久导航| 天天影视涩香欲综合网| av影院午夜一区| 久久久久免费观看| 免费成人性网站| 欧美日韩国产综合一区二区| 中文字幕一区二区三区色视频| 黄色小说综合网站| 88在线观看91蜜桃国自产| 亚洲女与黑人做爰| aa级大片欧美| 欧美激情艳妇裸体舞| 国产精品99久久久久久有的能看| 欧美日韩激情一区| 亚洲国产精品一区二区尤物区| 成人精品高清在线| 国产精品初高中害羞小美女文| 国产在线视视频有精品| 亚洲精品在线电影| 久久精品国产亚洲一区二区三区| 欧美一区二区日韩一区二区| 五月婷婷久久丁香| 欧美人牲a欧美精品| 日韩电影网1区2区| 欧美一二区视频| 久久精品av麻豆的观看方式| 欧美一级艳片视频免费观看| 青青草91视频| 久久影院午夜论| 国产大陆精品国产| 国产精品女上位| 91伊人久久大香线蕉| 一二三区精品视频| 在线不卡中文字幕播放| 日本美女视频一区二区| 久久精品一区八戒影视| www.欧美精品一二区| 一区二区三区在线不卡| 欧美日韩电影在线| 天天色图综合网| 久久久亚洲精品石原莉奈| www.爱久久.com| 亚洲va韩国va欧美va精品| 日韩视频一区在线观看| 国产高清在线观看免费不卡| 亚洲视频一区二区免费在线观看 | 一区av在线播放| 777久久久精品| 国产剧情av麻豆香蕉精品| 成人免费在线观看入口| 欧美色区777第一页| 蜜臀av一区二区在线观看| 国产欧美一区二区三区沐欲| 色先锋资源久久综合| 日韩不卡一区二区三区| 国产欧美日韩中文久久| 欧美午夜精品一区| 国内精品写真在线观看| 亚洲三级在线看| 欧美一二三区在线| 99re热这里只有精品视频| 日产欧产美韩系列久久99| 欧美国产97人人爽人人喊| 欧美美女一区二区三区| 成人动漫av在线| 奇米综合一区二区三区精品视频 | 日本丰满少妇一区二区三区| 麻豆精品视频在线观看免费 | 久久国产人妖系列| 亚洲欧美另类小说| 久久综合给合久久狠狠狠97色69| 在线一区二区观看| 成人精品亚洲人成在线| 美女免费视频一区二区| 亚洲精品视频在线观看网站| 久久网站最新地址| 欧美日韩另类一区| 9l国产精品久久久久麻豆| 久久精品国产精品亚洲红杏| 亚洲综合区在线| 中文字幕欧美国产| 欧美r级电影在线观看| 欧美性色aⅴ视频一区日韩精品| 成人免费黄色大片| 国产呦精品一区二区三区网站| 视频在线在亚洲| 亚洲另类春色国产| 中文字幕视频一区| 日本一区二区三区电影| 精品美女一区二区| 日韩欧美国产1| 5858s免费视频成人| 在线精品视频小说1| 91蜜桃网址入口| 成人精品在线视频观看| 成人午夜免费av| 岛国精品在线播放| 国产精品亚洲第一区在线暖暖韩国| 蜜桃久久久久久| 日韩成人dvd| 蜜臀久久99精品久久久久久9 | 不卡视频一二三| 国产成人综合自拍| 粉嫩av一区二区三区在线播放 | 国产精品无人区| 中文字幕亚洲一区二区va在线| 国产精品色婷婷久久58| 国产精品久久网站| 中文在线一区二区| 亚洲欧洲av在线| 亚洲欧美激情一区二区| 一区二区成人在线观看| 性久久久久久久| 青青草成人在线观看| 狠狠色2019综合网| 国产99精品视频| 99久久免费精品高清特色大片| 91视频.com| 欧美日韩国产在线观看| 日韩视频一区二区| 久久精品网站免费观看| 国产精品第五页| 亚洲综合色噜噜狠狠| 六月丁香综合在线视频| 国产电影一区在线| 91麻豆精品国产91久久久资源速度| 国产制服丝袜一区| 精品一区二区三区视频| 国产一二三精品| 成人av影视在线观看| 欧美午夜影院一区| 欧美一区二区三区免费大片| 国产视频一区二区三区在线观看| 中日韩av电影| 亚洲五月六月丁香激情| 国产综合一区二区| 色综合久久综合网97色综合| 91精品国产综合久久香蕉麻豆| 国产日韩欧美亚洲| 亚洲一区国产视频| 国产一区二区三区不卡在线观看| 91蜜桃婷婷狠狠久久综合9色| 日韩一区二区在线看片| 亚洲国产裸拍裸体视频在线观看乱了| 午夜精品国产更新| 国产成人aaa| 欧美精三区欧美精三区| 日本不卡高清视频| 欧美一区二区日韩| 国产亚洲一本大道中文在线| 中文字幕永久在线不卡| 日本亚洲天堂网| 色综合色综合色综合| 久久婷婷综合激情| 亚洲成人精品一区| 不卡的av在线| 久久综合久久久久88| 午夜亚洲福利老司机| 成人a免费在线看| 日韩欧美精品三级| 五月天中文字幕一区二区| 成人av网在线| 久久久亚洲午夜电影| 天天操天天干天天综合网| 日韩av一二三| 色婷婷国产精品综合在线观看| 精品久久久久久亚洲综合网| 亚洲一区av在线| 99re这里只有精品首页| 久久久久久**毛片大全| 免费视频一区二区| 欧美亚洲国产一区二区三区 | 视频一区二区三区在线| 色综合色狠狠综合色| 国产精品水嫩水嫩| 国产尤物一区二区| 久久这里都是精品| 韩国女主播成人在线| 精品日韩一区二区三区免费视频| 亚洲高清一区二区三区| 欧美日韩一区二区三区四区| 亚洲精品你懂的| 色妞www精品视频| 亚洲天天做日日做天天谢日日欢| 成人久久18免费网站麻豆| 国产精品水嫩水嫩| 成人aa视频在线观看| 国产精品久久久久久亚洲伦| 国产精品一区二区三区乱码| www国产成人| 国产精品一区二区视频| 欧美高清一级片在线观看| 成人精品视频一区二区三区| 国产精品免费视频网站|