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 = 668.183139
    Iteration count = 2/200, distortion = 416.853472
    Iteration count = 3/200, distortion = 416.843053
    Iteration count = 4/200, distortion = 416.843053
    No. of centers = 2, loop count = 4, distortion = 416.843
    Iteration count = 1/200, distortion = 416.843053
    Iteration count = 2/200, distortion = 361.240896
    Iteration count = 3/200, distortion = 358.026084
    Iteration count = 4/200, distortion = 325.105896
    Iteration count = 5/200, distortion = 236.431714
    Iteration count = 6/200, distortion = 179.314740
    Iteration count = 7/200, distortion = 162.448495
    Iteration count = 8/200, distortion = 159.284691
    Iteration count = 9/200, distortion = 157.650188
    Iteration count = 10/200, distortion = 157.132397
    Iteration count = 11/200, distortion = 157.022580
    Iteration count = 12/200, distortion = 156.963080
    Iteration count = 13/200, distortion = 156.878675
    Iteration count = 14/200, distortion = 156.821063
    Iteration count = 15/200, distortion = 156.756457
    Iteration count = 16/200, distortion = 156.721061
    Iteration count = 17/200, distortion = 156.716956
    Iteration count = 18/200, distortion = 156.714337
    Iteration count = 19/200, distortion = 156.712253
    Iteration count = 20/200, distortion = 156.703497
    Iteration count = 21/200, distortion = 156.672608
    Iteration count = 22/200, distortion = 156.644475
    Iteration count = 23/200, distortion = 156.625974
    Iteration count = 24/200, distortion = 156.546677
    Iteration count = 25/200, distortion = 156.429180
    Iteration count = 26/200, distortion = 156.331724
    Iteration count = 27/200, distortion = 156.304235
    Iteration count = 28/200, distortion = 156.292422
    Iteration count = 29/200, distortion = 156.277826
    Iteration count = 30/200, distortion = 156.265535
    Iteration count = 31/200, distortion = 156.256675
    Iteration count = 32/200, distortion = 156.250012
    Iteration count = 33/200, distortion = 156.248702
    Iteration count = 34/200, distortion = 156.248702
    No. of centers = 4, loop count = 34, distortion = 156.249
    Iteration count = 1/200, distortion = 156.248702
    Iteration count = 2/200, distortion = 74.249259
    Iteration count = 3/200, distortion = 67.215322
    Iteration count = 4/200, distortion = 66.718152
    Iteration count = 5/200, distortion = 66.587251
    Iteration count = 6/200, distortion = 66.536307
    Iteration count = 7/200, distortion = 66.511532
    Iteration count = 8/200, distortion = 66.473883
    Iteration count = 9/200, distortion = 66.354047
    Iteration count = 10/200, distortion = 66.231841
    Iteration count = 11/200, distortion = 66.147277
    Iteration count = 12/200, distortion = 66.087188
    Iteration count = 13/200, distortion = 66.009719
    Iteration count = 14/200, distortion = 65.973679
    Iteration count = 15/200, distortion = 65.935583
    Iteration count = 16/200, distortion = 65.919095
    Iteration count = 17/200, distortion = 65.908328
    Iteration count = 18/200, distortion = 65.904071
    Iteration count = 19/200, distortion = 65.902605
    Iteration count = 20/200, distortion = 65.902605
    No. of centers = 8, loop count = 20, distortion = 65.9026
    Iteration count = 1/200, distortion = 65.902605
    Iteration count = 2/200, distortion = 40.429894
    Iteration count = 3/200, distortion = 38.686602
    Iteration count = 4/200, distortion = 37.570180
    Iteration count = 5/200, distortion = 36.626073
    Iteration count = 6/200, distortion = 35.923046
    Iteration count = 7/200, distortion = 35.403114
    Iteration count = 8/200, distortion = 35.207482
    Iteration count = 9/200, distortion = 35.153070
    Iteration count = 10/200, distortion = 35.125244
    Iteration count = 11/200, distortion = 35.074388
    Iteration count = 12/200, distortion = 35.038794
    Iteration count = 13/200, distortion = 34.999235
    Iteration count = 14/200, distortion = 34.989194
    Iteration count = 15/200, distortion = 34.975316
    Iteration count = 16/200, distortion = 34.970247
    Iteration count = 17/200, distortion = 34.960867
    Iteration count = 18/200, distortion = 34.951238
    Iteration count = 19/200, distortion = 34.932404
    Iteration count = 20/200, distortion = 34.918841
    Iteration count = 21/200, distortion = 34.911519
    Iteration count = 22/200, distortion = 34.905583
    Iteration count = 23/200, distortion = 34.896748
    Iteration count = 24/200, distortion = 34.892457
    Iteration count = 25/200, distortion = 34.890464
    Iteration count = 26/200, distortion = 34.890464
    No. of centers = 16, loop count = 26, distortion = 34.8905
    Iteration count = 1/200, distortion = 34.890464
    Iteration count = 2/200, distortion = 19.477319
    Iteration count = 3/200, distortion = 17.473910
    Iteration count = 4/200, distortion = 16.872732
    Iteration count = 5/200, distortion = 16.609121
    Iteration count = 6/200, distortion = 16.440784
    Iteration count = 7/200, distortion = 16.346405
    Iteration count = 8/200, distortion = 16.250786
    Iteration count = 9/200, distortion = 16.165609
    Iteration count = 10/200, distortion = 16.116657
    Iteration count = 11/200, distortion = 16.082556
    Iteration count = 12/200, distortion = 16.067118
    Iteration count = 13/200, distortion = 16.040057
    Iteration count = 14/200, distortion = 16.024663
    Iteration count = 15/200, distortion = 16.021589
    Iteration count = 16/200, distortion = 16.012541
    Iteration count = 17/200, distortion = 16.006254
    Iteration count = 18/200, distortion = 15.983029
    Iteration count = 19/200, distortion = 15.967188
    Iteration count = 20/200, distortion = 15.956869
    Iteration count = 21/200, distortion = 15.920437
    Iteration count = 22/200, distortion = 15.910884
    Iteration count = 23/200, distortion = 15.906353
    Iteration count = 24/200, distortion = 15.890453
    Iteration count = 25/200, distortion = 15.889346
    Iteration count = 26/200, distortion = 15.889346
    No. of centers = 32, loop count = 26, distortion = 15.8893
    

    See Also

    kMeansClustering, vqDataPlot.


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