    MIX-SPEC:  Specify a mixture model, or display existing specification.

    Mix-spec creates a log file containing the specifications for a
    mixture model, along with the associated priors over hyperparameters.
    When invoked with just a log file as an argument, it displays the
    specifications for the mixture model stored in that log file.

    Usage:

        mix-spec log-file N-inputs N-targets [ N-components ]
                 / concentration SD-prior [ mean-prior ]

    or:

        mix-spec log-file

    N-inputs and N-targets are the numbers of input variables and target
    variables in the model.  The model tries to represent the joint
    distribution of the targets, using a mixture.  At present, the number
    of inputs (N-inputs) must be 0, but in future, input variables may be
    allowed, in which case the model will define the joint conditional
    distributions for the target values given observed values for the
    inputs.

    N-components is the number of components in the mixture.  If it is
    omitted, the number of components is countably infinite, giving the
    effect of a Dirichlet process mixture.

    The concentration argument specifies the concentration parameter for
    the Dirichlet distribution for the component probabilities.  At
    present, this must be fixed.  If the value starts with "x", the value
    given is automatically scaled downward by the number of components.
    The "x" must be present if the number of components is infinite (the
    default), as this is the scaling needed for the finite model to reach
    a sensible limit.

    Each component of the mixture has associated with it a set of "offset"
    parameters, one for each target value.  The offset of a binary target
    will determine the probability of it being a "1"; the offset for a
    real-valued target gives its mean.  The prior distribution of these
    offsets is defined by top-level means and standard deviations for each
    target value.  The top-level mean for each target is usually a
    variable hyperparameter; these means are given independent Gaussian
    priors with mean zero and standard deviation as specified by the
    mean-prior argument of mix-spec.  If mean-prior is absent, all the
    top-level means are set to zero.  The top-level standard deviations
    for the offsets associated with the targets may be either fixed or
    variable, as specified by the SD-prior argument of mix-spec, using the
    general form of specification described in prior.doc.  If the SD-prior
    argument starts with "x", it is automatically scaled according to the
    number of target values, as described in prior.doc.

    The specification of the model is completed using the model-spec
    command (see model-spec.doc), which specifies whether the model is for
    binary or real data.  For real data, it also specifies the prior for
    the "noise" standard deviations, in a three-level hierarchical form,
    which allows for a top-level standard deviation common to all target
    values and components, a standard deviation for each target value,
    common to all components, and standard deviations for each target value
    for each component.

    Note: There is no way at present of getting the prior for the means of
    the offsets for the targets to have a mean other than zero, but you
    can get an equivalent effect by transforming the target values by
    subtracting a constant, as described in data-spec.doc.

                Copyright (c) 1995-2004 by Radford M. Neal