diff options
Diffstat (limited to 'sourcecodes/bnt-master/netlab3.3/mdnerr.m')
| -rw-r--r-- | sourcecodes/bnt-master/netlab3.3/mdnerr.m | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/sourcecodes/bnt-master/netlab3.3/mdnerr.m b/sourcecodes/bnt-master/netlab3.3/mdnerr.m new file mode 100644 index 00000000..a0b686e0 --- /dev/null +++ b/sourcecodes/bnt-master/netlab3.3/mdnerr.m @@ -0,0 +1,33 @@ +function e = mdnerr(net, x, t) +%MDNERR Evaluate error function for Mixture Density Network. +% +% Description +% E = MDNERR(NET, X, T) takes a mixture density network data structure +% NET, a matrix X of input vectors and a matrix T of target vectors, +% and evaluates the error function E. The error function is the +% negative log likelihood of the target data under the conditional +% density given by the mixture model parameterised by the MLP. Each +% row of X corresponds to one input vector and each row of T +% corresponds to one target vector. +% +% See also +% MDN, MDNFWD, MDNGRAD +% + +% Copyright (c) Ian T Nabney (1996-2001) +% David J Evans (1998) + +% Check arguments for consistency +errstring = consist(net, 'mdn', x, t); +if ~isempty(errstring) + error(errstring); +end + +% Get the output mixture models +mixparams = mdnfwd(net, x); + +% Compute the probabilities of mixtures +probs = mdnprob(mixparams, t); +% Compute the error +e = sum( -log(max(eps, sum(probs, 2)))); + |
