The Complete SPRLIB & ANNLIB

create_koh_units

- create all the units needed for a Kohonen network (LOCAL)

SYNOPSIS

int create_koh_units (net, UnitVect)

ARGUMENTS

NET *net A pointer to a NET structure.
int *UnitVect A vector containing for each dimension the number of units.

RETURNS

TRUE if an error was detected, FALSE if not.

FUNCTION

This function creates all the UNITs necessary to construct a Kohonen network. In more detail: the double linked list of created units is attached to net through the LastUnit and FirstUnit pointers. For each unit, the UnitName field is filled, as are the UnitId and LayerId fields. The location (coordinates in the line, matrix, cube or hypercube) are also entered in the UnitName field. For each unit, the InOutIndex is calculated. Also, the biases (theta's) are disabled by setting Theta.WeightFlag = FIXWEIGHT (see WEIGHT-flags and Theta.Value.Weight = 1.0. Kohonen networks always consist of two layers. The first is an input layer, containing as many units as the dimensionality of the input. The second layer contains the actual Kohonen map. This map can be 1, 2, 3 or 4 dimensional. In any case, the input units do not use the transfer or activation functions; i.e., they are set to NULL. The units in the Kohonen map get an ActSqEucDist activation function and a TransLinear transfer fucntion. All units in the input layer are fully connected to all units in the map.

NOTE

This function is called by the create_koh_net function. The malloc_unit function is used to allocate the unit structures.

SEE ALSO

create_koh_net, create_koh_links, create_koh_weights

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