vecQuantize

Vector quantization using LBG method of center splitting

Contents

Syntax

Description

center=vecQuantize(data, codeBookSize) returns the centers (codebook) of k-means via LBG method, where

center=vecQuantize(data, codeBookSize, 1) display the animation and messages during training.

[center, U]=vecQuantize(data, codeBookSize, ...) returns extra info of the partition matrix U.

  • [center, U, centerHistory]=vecQuantize(data, codeBookSize, ...) returns extra info of all the centers after each iteration.

    References

    1. Y. Linde, A. Buzo, and R.M. Gray, "An Algorithm for Vector Quantizer Design", IEEE Transactions on Communications, vol. 28, pp. 84-94, 1980.

    Example

    DS=dcData(2);
    data=DS.input;
    codeBookSize=2^5;
    showPlot=1;
    codebook=vecQuantize(data, codeBookSize, showPlot);
    
    Iteration count = 1/200, distortion = 718.952468
    Iteration count = 2/200, distortion = 445.859091
    Iteration count = 3/200, distortion = 445.465107
    Iteration count = 4/200, distortion = 445.282146
    Iteration count = 5/200, distortion = 445.173715
    Iteration count = 6/200, distortion = 445.016988
    Iteration count = 7/200, distortion = 444.896874
    Iteration count = 8/200, distortion = 444.843481
    Iteration count = 9/200, distortion = 444.795686
    Iteration count = 10/200, distortion = 444.737170
    Iteration count = 11/200, distortion = 444.730479
    Iteration count = 12/200, distortion = 444.730479
    No. of centers = 2, loop count = 12, distortion = 444.73
    Iteration count = 1/200, distortion = 444.730479
    Iteration count = 2/200, distortion = 346.095406
    Iteration count = 3/200, distortion = 172.784770
    Iteration count = 4/200, distortion = 166.726815
    Iteration count = 5/200, distortion = 166.481369
    Iteration count = 6/200, distortion = 166.437105
    Iteration count = 7/200, distortion = 166.402733
    Iteration count = 8/200, distortion = 166.385449
    Iteration count = 9/200, distortion = 166.374599
    Iteration count = 10/200, distortion = 166.363676
    Iteration count = 11/200, distortion = 166.362467
    Iteration count = 12/200, distortion = 166.362467
    No. of centers = 4, loop count = 12, distortion = 166.362
    Iteration count = 1/200, distortion = 166.362467
    Iteration count = 2/200, distortion = 87.232829
    Iteration count = 3/200, distortion = 79.299693
    Iteration count = 4/200, distortion = 74.320858
    Iteration count = 5/200, distortion = 72.493337
    Iteration count = 6/200, distortion = 72.088821
    Iteration count = 7/200, distortion = 72.017706
    Iteration count = 8/200, distortion = 71.990512
    Iteration count = 9/200, distortion = 71.984123
    Iteration count = 10/200, distortion = 71.978880
    Iteration count = 11/200, distortion = 71.974198
    Iteration count = 12/200, distortion = 71.972502
    Iteration count = 13/200, distortion = 71.972502
    No. of centers = 8, loop count = 13, distortion = 71.9725
    Iteration count = 1/200, distortion = 71.972502
    Iteration count = 2/200, distortion = 41.342668
    Iteration count = 3/200, distortion = 40.250804
    Iteration count = 4/200, distortion = 39.905384
    Iteration count = 5/200, distortion = 39.599340
    Iteration count = 6/200, distortion = 39.342399
    Iteration count = 7/200, distortion = 39.232766
    Iteration count = 8/200, distortion = 39.109541
    Iteration count = 9/200, distortion = 39.014013
    Iteration count = 10/200, distortion = 38.907538
    Iteration count = 11/200, distortion = 38.725561
    Iteration count = 12/200, distortion = 38.435148
    Iteration count = 13/200, distortion = 38.254092
    Iteration count = 14/200, distortion = 38.075198
    Iteration count = 15/200, distortion = 37.951148
    Iteration count = 16/200, distortion = 37.890673
    Iteration count = 17/200, distortion = 37.856178
    Iteration count = 18/200, distortion = 37.829915
    Iteration count = 19/200, distortion = 37.812942
    Iteration count = 20/200, distortion = 37.812145
    Iteration count = 21/200, distortion = 37.812145
    No. of centers = 16, loop count = 21, distortion = 37.8121
    Iteration count = 1/200, distortion = 37.812145
    Iteration count = 2/200, distortion = 22.464753
    Iteration count = 3/200, distortion = 20.100071
    Iteration count = 4/200, distortion = 18.751343
    Iteration count = 5/200, distortion = 18.314426
    Iteration count = 6/200, distortion = 18.117394
    Iteration count = 7/200, distortion = 17.968261
    Iteration count = 8/200, distortion = 17.916356
    Iteration count = 9/200, distortion = 17.859204
    Iteration count = 10/200, distortion = 17.806843
    Iteration count = 11/200, distortion = 17.603180
    Iteration count = 12/200, distortion = 17.358075
    Iteration count = 13/200, distortion = 17.259681
    Iteration count = 14/200, distortion = 17.186595
    Iteration count = 15/200, distortion = 17.159313
    Iteration count = 16/200, distortion = 17.155720
    Iteration count = 17/200, distortion = 17.152484
    Iteration count = 18/200, distortion = 17.148322
    Iteration count = 19/200, distortion = 17.143360
    Iteration count = 20/200, distortion = 17.143360
    No. of centers = 32, loop count = 20, distortion = 17.1434
    

    See Also

    kMeansClustering, vqDataPlot.


  • Top page   Next: vecCentroid.m   Prev:vqCenterInit.m