about summary refs log tree commit diff
path: root/sourcecodes/bnt-master/netlab3.3/netevfwd.m
blob: 26bb25aae3b0b907c8a5e13e281192a4b32e46d0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
function [y, extra, invhess] = netevfwd(w, net, x, t, x_test, invhess)
%NETEVFWD Generic forward propagation with evidence for network
%
%	Description
%	[Y, EXTRA] = NETEVFWD(W, NET, X, T, X_TEST) takes a network data
%	structure  NET together with the input X and target T training data
%	and input test data X_TEST. It returns the normal forward propagation
%	through the network Y together with a matrix EXTRA which consists of
%	error bars (variance) for a regression problem or moderated outputs
%	for a classification problem.
%
%	The optional argument (and return value)  INVHESS is the inverse of
%	the network Hessian computed on the training data inputs and targets.
%	Passing it in avoids recomputing it, which can be a significant
%	saving for large training sets.
%
%	See also
%	MLPEVFWD, RBFEVFWD, GLMEVFWD, FEVBAYES
%

%	Copyright (c) Ian T Nabney (1996-2001)

func = [net.type, 'evfwd'];
net = netunpak(net, w);
if nargin == 5
  [y, extra, invhess] = feval(func, net, x, t, x_test);
else
  [y, extra, invhess] = feval(func, net, x, t, x_test, invhess);
end