[chinese][all] Learning vector quantization (LVQ) combines the concepts of vector quantization and nearest-neighbor classification to update the cluster centers for better recognition rates. More specifically, LVQ updates the cluster centers in an incremental manner, such that the updated centers can lead to a better accuracy of recognition, as follows:Note that the learning rate \ is decreased with each iteration, with 0<\<1.

- Set repesentative centers for each class. Suppose that we have 3 clusters for a 4-class problem, then the number of centers are 12 in total. These cluster centers can be obtained by k-means clustering over each individual class. (In practice, the number of clusters for each class can be set to be proportional to the size of the class.)
- For each data point
x, find the nearest centersy_{k}. Based on the class labels ofxandy_{k}, update centers as follows:

- If the class labels are the same, then move
y_{k}towardx:y_{k}=y_{k}+ \ [x-y_{k}]- If the class labels are different, then move
y_{i}away fromx:y_{k}=y_{k}- \ [x-y_{k}]- Update the learning rate \.
- Back to step 2 until all the centers converge.
After the cluster centers converge, we can then use these centers to represent the original class. For any unseen data, we can apply k-nearest-neighbor classification to determine its class.

Here is a summary of the difference between LVQ and VQ.

- VQ is used for data compression and representation, which is applicable for unlabeled data.
- The goal of LVQ is to find representative points for each class. And then update these points for best recognition rate. Therefore it is suitable for labeled data (classification problem).

References:

- T. Kohonen, "Improved Versions of Learning Vector Quantization", International Joint Conference on Neural Networks (IJCNN), 1990.

Data Clustering and Pattern Recognition (ƤsP˦{)