we can partition the space into regions as followsfirstwe choose points ck called cluster centers or source vectors for each klet source vectors rk { dist(xck dist(xci for all kbe the set of points in that lie closer to ck than any other center the regions or cells {rk divide the space into what is called voronoi diagram or voronoi tessellation figure shows voronoi tessellation of the plane into ten regionsusing the euclidean distance note that here the boundaries between the voronoi cells are straight line segments in particularif cell ri and share borderthen point on this border must satisfy kx ci kx kthat isit must lie on the line that passes through the point ( ci )/ (that isthe midway point of the line segment between ci and and be perpendicular to ci voronoi tessellation - - figure voronoi tessellation of the plane into ten cellsdetermined by the (redcenters once the centers (and thus the cells {rk }are chosenthe points in can be clustered according to their nearest center points on the boundary have to be treated separately this is moot point for continuous dataas generally no data points will lie exactly on the boundary the main remaining issue is how to choose the centers so as to cluster the data in some optimal way in terms of our (unsupervisedlearning frameworkwe wish to approximate vector via one of ck using piecewise constant vector-valued function ( : = ck { rk }where is the matrix [ ck thusg( cck when falls in region rk (we ignore tieswithin this class of functionsparameterized by cour aim is to minimize the training loss in particularfor the squared-error lossloss(xx kx- the training loss is kxi (xi ) || ck || ( `tn ( ( ) = = xr thusthe training loss minimizes the average squared distance between the centers this framework also combines both the encoding and decoding steps in vector quantization vector quantization