⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 etestboot_snn.m

📁 神经网络的工具箱, 神经网络的工具箱,
💻 M
字号:
function Etestval = etestboot_snn(nets, datasets)%ETESTBOOT_SNN  Compute a bootstrap estimate for E_test.%% Syntax%%    Etest = etestboot_snn(nets, datasets)%% Description%%    nets       - [1 x M]%      array of networks trained with costFcn = wcf_snn, %      with the same costFcn parameters (fn and gn) and data.%    datasets	- [1 x M] array of dataset_structs%%    Etest	- [1 x M]%      generalization error bootstrap estimate.%% Algorithm%%    See: T. Heskes; Balancing between bagging and bumping; %         Advances in Neural Information Processsing Systems 9.%% See also%%    TRAIN_SNN, WCF_SNN, BALANCE_SNN%%data = datasets(1).data;M = size(nets,2);MU = size(data.P,2);N = size(nets(1).biases{nets(1).numLayers},1);g = getg_snn(nets(1), data);fn = nets(1).costFcn.fn;i0 = zeros(N, MU);i0(find(~isnan(g))) = 1;Eimum = zeros(N, MU, M);q = zeros(N, MU, M);for m = 1:M    ym = simff_snn(nets(1,m), data);    if isstr(fn)       ii = find(~isnan(g));       Eimum(ii+(m-1)*N*MU) = feval(fn, ym(ii), data.T(ii));     else       for i = 1:size(ym,1)           ii = find(~isnan(g(i,:)));           Eimum(i, ii, m) = feval(fn{i,1}, ym(i, ii), data.T(i, ii));       end    end    nu = datasets(m).val_ind;    q(:, nu, m) = i0(:, nu);endn = sum(q,3); Eimumean = zeros(N, MU);ii = find(n);tmp = sum(q.*Eimum, 3); Eimumean(ii) = tmp(ii)./n(ii);for m = 1:M    mu = datasets(m).val_ind;    nu = mu(randboot_snn(size(mu,2)));    gval = g(:,nu);    Eval = Eimum(:,nu,m);    Emeanval = Eimumean(:,nu);    ii = find(i0(:,nu));    relE(m) = (col(gval(ii))'*col(Eval(ii))) / ...              (col(gval(ii))'*col(Emeanval(ii)));endii = find(~isnan(g));ii = ii(:);Emean = col(g(ii))'*col(Eimumean(ii))/sum(g(ii));  Etestval = relE*Emean; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%function A = col(A)A = reshape(A, prod(size(A)), 1);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -