NAME
vq_unit - create vector-quantization unit
PROTOTYPE
unitptr vq_unit( int n, int mode, unitptr host)
ARGUMENTS
- int n
- dimensionality of input vector
- int mode
- mode parameter (see below)
- unitptr host
- host unit for newly created instance
RETURN VALUE:
- unitptr -.u:
- pointer to newly created unit
INTERFACE OF CREATED UNIT:
For mode=0
- X_in[n]:
- (input field 0) input vector
- EPS_in[1]:
- (input field 1) adaptation gain eps
- CTL_in[1]:
- (input field 2) control input c
- X_out[1]:
- (output field 0) scalar output value
for mode=2 or 3,
- Y_out[n]:
- (packed output field 1) internal weight
vector w[]
DESCRIPTION:
Creates an adaptive linear vq_unit, mapping a n -dimensional
input vector into a scalar output value. The newly created
unit becomes a subunit of unit host.
The new output value X_out[0] becomes a linear (precisely: a
convex) combination of the old value and of the newly computed
activity. A decay of the old value is determined by a
decay factor (1-c), where c is the value at the control pin
CTL_in[0] (default is c=1). The newly computed activity
value is multiplicatively scaled by the factor c and superimposed
over the decayed old value. This has the effect,
that the unit behaves like a leaky integrator with a time
constant of 1/c iteration steps. Special cases result for
c=1 and c=0. In the former case, the new activity completely
replace the old value. This is the default setting after
creation of the unit. In the latter case, the output value
retains its old value (in fact, in this case, the internal
computation is suppressed; therefore, c=0 can be used to
disable the unit).
FILE
/homes/jontrup/nst5/man/../o.sol2//../foldersrc/nst_adaptive.c