Daniel@0: Daniel@0:
Daniel@0:Daniel@0: net = mdn(nin, nhidden, ncentres, dimtarget) Daniel@0: net = mdn(nin, nhidden, ncentres, dimtarget, mixtype, ... Daniel@0: prior, beta) Daniel@0:Daniel@0: Daniel@0: Daniel@0:
net = mdn(nin, nhidden, ncentres, dimtarget)
takes the number of
Daniel@0: inputs,
Daniel@0: hidden units for a 2-layer feed-forward
Daniel@0: network and the number of centres and target dimension for the
Daniel@0: mixture model whose parameters are set from the outputs of the neural network.
Daniel@0: The fifth argument mixtype
is used to define the type of mixture
Daniel@0: model. (Currently there is only one type supported: a mixture of Gaussians with
Daniel@0: a single covariance parameter for each component.) For this model,
Daniel@0: the mixture coefficients are computed from a group of softmax outputs,
Daniel@0: the centres are equal to a group of linear outputs, and the variances are
Daniel@0: obtained by applying the exponential function to a third group of outputs.
Daniel@0:
Daniel@0: The network is initialised by a call to mlp
, and the arguments
Daniel@0: prior
, and beta
have the same role as for that function.
Daniel@0: Weight initialisation uses the Matlab function randn
Daniel@0: and so the seed for the random weight initialization can be
Daniel@0: set using randn('state', s)
where s
is the seed value.
Daniel@0: A specialised data structure (rather than gmm
)
Daniel@0: is used for the mixture model outputs to improve
Daniel@0: the efficiency of error and gradient calculations in network training.
Daniel@0: The fields are described in mdnfwd
where they are set up.
Daniel@0:
Daniel@0:
The fields in net
are
Daniel@0:
Daniel@0: Daniel@0: type = 'mdn' Daniel@0: nin = number of input variables Daniel@0: nout = dimension of target space (not number of network outputs) Daniel@0: nwts = total number of weights and biases Daniel@0: mdnmixes = data structure for mixture model output Daniel@0: mlp = data structure for MLP network Daniel@0:Daniel@0: Daniel@0: Daniel@0:
Daniel@0: Daniel@0: net = mdn(2, 4, 3, 1, 'spherical'); Daniel@0:Daniel@0: Daniel@0: This creates a Mixture Density Network with 2 inputs and 4 hidden units. Daniel@0: The mixture model has 3 components and the target space has dimension 1. Daniel@0: Daniel@0:
mdnfwd
, mdnerr
, mdn2gmm
, mdngrad
, mdnpak
, mdnunpak
, mlp
Copyright (c) Ian T Nabney (1996-9) Daniel@0:
David J Evans (1998) Daniel@0: Daniel@0: Daniel@0: