Vector quantization describes a pattern set using a reduced number of so-called `code-book' vectors. We assume again that n training patterns
IRd are given. Let m < n be the number of code-book vectors
IRd. In the final state, each training pattern is assigned to one code-book vector. The optimal position of code-book vectors is usually gained by finding the minimum of the sum E of squared distances2.2 between each code-book vector and its assigned patterns,
![]() |
The difficulty in finding the optimal
{} is that E has many local minima. No general solution exists. Instead, various iterative algorithms exist that find approximate solutions. The algorithms can be divided into those that use hard-clustering and those that use soft-clustering. In hard-clustering,
P(j|
) is binary (throughout the iteration), and each
can be only assigned to one code-book vector. In soft-clustering,
P(j|
) can take any value in the interval [0;1].
The algorithms can be further divided into on-line and batch versions. On-line versions update code-book vectors in each iteration step based on just one (randomly drawn) training pattern (as for the self-organizing map, section 1.5.5). The update rule is usually written as
The following sections describe the hard-clustering algorithm `k-means' and provide more details about soft-clustering algorithms. Two examples are described: `deterministic annealing' and `Neural Gas'.