about summary refs log tree commit diff
path: root/sourcecodes/bnt-master/netlab3.3/mlpgrad.m
diff options
context:
space:
mode:
authorziejd22018-03-14 23:23:33 -0500
committerGitHub2018-03-14 23:23:33 -0500
commit1ff6baa44e22b91eefb48aea6f3befa078c0489b (patch)
treee0fd79d2e32fd2aedda2eadaed0f19af3514c520 /sourcecodes/bnt-master/netlab3.3/mlpgrad.m
parent6882395afdadf4e982b25b5215071a0932730950 (diff)
parentc80226899f5cdd9f11c163817d59445213f5bef0 (diff)
downloadBNW-1ff6baa44e22b91eefb48aea6f3befa078c0489b.tar.gz
Merge pull request #1 from ziejd2/octave_php_separate
Octave php separate
Diffstat (limited to 'sourcecodes/bnt-master/netlab3.3/mlpgrad.m')
-rw-r--r--sourcecodes/bnt-master/netlab3.3/mlpgrad.m33
1 files changed, 33 insertions, 0 deletions
diff --git a/sourcecodes/bnt-master/netlab3.3/mlpgrad.m b/sourcecodes/bnt-master/netlab3.3/mlpgrad.m
new file mode 100644
index 00000000..c5a2a349
--- /dev/null
+++ b/sourcecodes/bnt-master/netlab3.3/mlpgrad.m
@@ -0,0 +1,33 @@
+function [g, gdata, gprior] = mlpgrad(net, x, t)
+%MLPGRAD Evaluate gradient of error function for 2-layer network.
+%
+%	Description
+%	G = MLPGRAD(NET, X, T) takes a network data structure NET  together
+%	with a matrix X of input vectors and a matrix T of target vectors,
+%	and evaluates the gradient G of the error function with respect to
+%	the network weights. The error funcion corresponds to the choice of
+%	output unit activation function. Each row of X corresponds to one
+%	input vector and each row of T corresponds to one target vector.
+%
+%	[G, GDATA, GPRIOR] = MLPGRAD(NET, X, T) also returns separately  the
+%	data and prior contributions to the gradient. In the case of multiple
+%	groups in the prior, GPRIOR is a matrix with a row for each group and
+%	a column for each weight parameter.
+%
+%	See also
+%	MLP, MLPPAK, MLPUNPAK, MLPFWD, MLPERR, MLPBKP
+%
+
+%	Copyright (c) Ian T Nabney (1996-2001)
+
+% Check arguments for consistency
+errstring = consist(net, 'mlp', x, t);
+if ~isempty(errstring);
+  error(errstring);
+end
+[y, z] = mlpfwd(net, x);
+delout = y - t;
+
+gdata = mlpbkp(net, x, z, delout);
+
+[g, gdata, gprior] = gbayes(net, gdata);