The initialization function CPN_Weights is used for Counterpropagation. Two parameters are used which represent the minimum (a) and maximum (b) of the range out of which initial values for the second (Grossberg) layer are selected at random. The vector of weights leading to unit i of the Kohonen layer are initialized as normalized vectors (length 1) drawn at random from part of a hyper-sphere. Here, min and max determine which part of the hyper-sphere is used according to table .
Table: Influence of minimum and maximum on the initialization of weight vectors for CPN and SOM.
This function has been changed in SNNSv3.3. The earlier counterpropagation initialization function generated initial random points in a rectangular region in space (usually from the hypercube if the default parameter settings were used) and normalized these vectors to unit length. This resulted in an uneven distribution density on the unit sphere, because the diagonal of the unit hypercube is longer than 1. It also yielded non-obvious results if non-standard parameter values, (e.g. [1, 2]) were chosen. The new method eliminates these drawbacks by dropping initial points outside the hyper-sphere (see fig. (left) for the 2D case and fig. (right) for the 3D case).
Figure: Choosing random initialization points from a sector of a circle or from the full circle (left side); choosing initialization points from a sector of a (hyper)sphere or a full (hyper)sphere (right side)