The Complete SPRLIB & ANNLIB

create_mlnet

- create a maximum likelihood network

SYNOPSIS

NET *create_mlnet (NetId, UnitVect, HidVect)

ARGUMENTS

long NetId The value for the NetId field.
int *UnitVect A vector containing 3 elements: the number of input units; the total number of kernels and the number of output units (classes), in that order.
int *HidVect A vector specifying, for each class, the number of hidden units.

RETURNS

A pointer to a NET structure if succesful, NULL in case of an error.

FUNCTION

This routine creates a maximum likelihood network with 3 layers and a distribution of UnitVect[i] units in layer i. In more detail: a maximum likelihood network is a feedforward network in which layer 1 is the input layer, having linear transfer functions; layer 2 is a hidden layer, having a Euclidian distance activation function (ActEucDist) and a Gaussian transfer function (TransGauss). Each unit in the hidden layer is connected fully to all units in the input layer, but has only one link to an output unit. The output units have an inproduct activation function (ActInprod) and a linear transfer function (TransLinear), i.e. they perform a summation of the outputs of the hidden layer. A NET structure is allocated using malloc_net. Several fields are filled: NetText using MLNET_TEXT (see MLNET-constants); NetId with the corresponding function parameter; NetFlag is set to MLNET. All Num... fields are correctly filled. Finally, the functions mentioned in the 'see also' section are called to create all necessary substructures.

SEE ALSO

create_ml_units, create_ml_links, create_ml_weights, init_mlnet, learn_mlnet

This document was generated using api2html on Thu Mar 5 09:00:00 MET DST 1998