Journal of Computer Networks and Communications

Volume 2012 (2012), Article ID 427246, 10 pages

doi:10.1155/2012/427246

Research Article

PCA-Guided Routing Algorithm for Wireless Sensor Networks

Gong Chen, Liansheng Tan, Yanlin Gong, and Wei Zhang

Department of Computer Science, Central China Normal University, Wuhan 430079, China

Received 13 August 2012; Revised 24 October 2012; Accepted 11 November 2012

Academic Editor: Hongxiang Li

Copyright © 2012 Gong Chen et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Abstract.

An important performance concern for wireless sensor networks (WSNs) is the total energy dissipated by all the nodes in the network over the course of network lifetime. In this paper, we propose a routing algorithm termed as PCA-guided routing algorithm (PCA-RA) by exploring the principal component analysis (PCA) approach. Our algorithm remarkably reduces energy consumption and prolongs network lifetime by realizing the objective of minimizing the sum of distances between the nodes and the cluster centers in a WSN network. It is demonstrated that the PCA-RA can be efficiently implemented in WSNs by forming a nearly optimal -means-like clustering structure. In addition, it can decrease the network load while maintaining the accuracy of the sensor measurements during data aggregating process. We validate the efficacy and efficiency of the proposed algorithm by simulations. Both theoretical analyses and simulation results demonstrate that this algorithm can perform significantly with less energy consumption and thus prolong the system lifetime for the networks.

1. Introduction

Wireless sensor networks (WSNs) [1] consist of battery-powered nodes which inherit sensing, computation, and wireless communication capabilities. Although there have been significant improvements in processor design and computing issues, limitations in battery provision still exist, bringing energy resource considerations as the fundamental challenge in WSNs. Consequently, there have been active research efforts devoted to lifting the performance limitations of WSNs. These performance limitations include network throughput, energy consumption and, network lifetime. Network throughput typically refers to the maximum amount of packets that can be successfully collected by the cluster heads (CHs) in the network, energy consumption refers to the minimize energy dissipation that nodes in the network consume, and network lifetime refers to the maximum time limit that nodes in the network remain alive until one or more nodes drain up their energy.

The routing algorithms have been specifically designed for WSNs because the energy optimization is an essential design issue. A good routing scheme is helpful in improving these performance limits such as reducing the energy consumption, prolonging the network lifetime, and increasing the network throughput. Network researchers have studied a great variety of routing protocols in WSNs differing based on the application and network architecture. As demonstrated in [2, 3], it can be classified into four categories: flit, hierarchical clustering, location-based routing, and QoS-based routing. The current routing protocols have their own design trade-offs between energy and communication overhead savings, as well as the advantages and disadvantages of each routing technique.

As per the representative hierarchical clustering protocol, low energy adaptive clustering hierarchy (LEACH) [4] has simplicity, flexibility, and scalability because its manipulations rely on randomized rotation of the cluster heads (CHs), but its features of unregulated distribution, unbalanced clustering structure, uniform initial energy, and so on, hinder its performance. Based on LEACH, there are many variants, such as [5–8]. LEACH-E [5] more likely selects the nodes with higher energy as the CHs. LEACH-C [5] analytically determines the optimum number of CHs by taking into account the energy spent by all clusters. PEGASIS [6], TEEN [7], and ATEEN [8] improve the energy consumption by optimizing the data transmission pattern. HEED [9] is a complete distributed routing protocol which has different clustering formations and cluster-heads selecting measures. These protocols have many restrictive assumptions and applicable limitations, so it has great improvement space and extensibility. The rapid development of wireless communications technology, and the miniaturization and low cost of sensing devices, have accelerated the development of wireless sensor networks (WSNs) [10, 11]. As in [12], Zytoune et al. proposed a uniform balancing energy routing protocol (UBERP). The BP -means [13] and BS -means [14] can improve the structure of clusters and perform better load-balance and less energy consumptions. HMP-RA [15] proposes a solution to address this issue through a hybrid approach that combines two routing strategies, flat multihop routing and hierarchical multihop routing. ESCFR and DCFR can map small changes in nodal remaining energy to large changes in the function value and consider the end-to-end energy consumption and nodal remaining energy [16]. Biologically inspired intelligent algorithms build a hierarchical structure on the network for different kinds of traffic, thus maximizing network utilization, while improving its performance [17]. In the case where sensor nodes are mobile, as in [18, 19], the nodes can adjust their position to help balance energy consumption in areas that have high transmission load and/or mitigate network partition.

In this paper, we consider an overarching algorithm that encompasses both performance metrics. It desires to minimize the sum of distances in the clusters. We show that the principal component analysis (PCA) [20], a useful statistical technique that has found application in fields such as face recognition and image compression, and a common technique for finding patterns in data of high dimension, can form a near-optimal -means-like clustering structure, in which the distance between the non-CH nodes and CHs is near minimized.

Moreover, the data aggregating issue associated with the measurements accuracy calls for a careful consideration in scheme about data collecting and fusing. In this paper, we investigate the PCA technology in a high relative measurements context for WSNs. Our objective is to obtain a good approximation to sensor measurements by relying on a few principal components while decreasing the network load.

The remainder of this paper is organized as follows. In Section 2, we describe the network and energy model. Section 3 presents the PCA-guided routing algorithm (PCA-RA) model and gives numerical results to demonstrate the working mechanism of PCA-RA. Section 4 discusses the PCA-RA algorithm solution strategies. In Section 5, we simulate the PCA-RA and compare it with LEACH and LEACH-E. Finally, Section 6 concludes this paper.

2. Syestem Model

2.1. The Network Model

Let us consider a two-tier architecture for WSNs. Figure 1 shows the physical network topology for such a network. There are three types of nodes in the networks, namely, a base station (BS), the cluster-head nodes (CHNs), and the ordinary sensor nodes (OSNs).

Figure 1: Physical topology for two-tier wireless sensor networks.

For each cluster of sensor nodes, there is one a CHN, which is different from an OSN in terms of functions. The primary functions of a CHN are (1) data aggregation for data measurements from the local clusters of OSNs and (2) relaying the aggregated information to the BS. For data fusion, a CHN analyzes the content of each measurement it receives and exploits the correlation among the data measurements. An CHN has a limited lifetime, so we need consider rotating the CHNs to balance to the energy consumption.

The third component is the BS. We assume that there is sufficient energy resource available at the BS and thus there is no energy constraint at the BS.

2.2. The Energy Consumption Model

We compute the energy consumption using the first-order radio model [5]. The equations, which are used to calculate transmission costs and receiving costs for an L-bit message to cross a distance , are shown below,

In (1), the electronics energy, , depends on factors such as the digital coding, modulation, filtering, and spreading of the signal, whereas the amplifier energy, or , depends on the distance to the receiver and the acceptable bit-error rate. is the distance threshold.

3. PCA-Guided Routing Algorithm Model

PCA is a classic technique in statistical data analysis, data compression, and image processing. PCA transforms a number of correlated variables into a number of uncorrelated variables called principal components. The objective of PCA is to reduce the dimensionality of the dataset, but not only retain most of the original variability in the data. The first principal component accounts for as much of the variability in the data as possible. Mathematically, how to pick up the dimensions with the largest variances is equivalent to finding the best low-rank approximation of the data via the singular value decomposition (SVD) [21].

The design of routing algorithm is important in wireless sensor networks. Although plenty of interests are drawn on it, there is still a challenge to face on the aspect of efficiency and energy consumption. In this section, we will describe the notations about PCA-guided routing algorithm model firstly and then propose the PCA-guided clustering model, and finally, we will present the PCA-guided data aggregating model.

3.1. Notations

Let represents the location coordinate matrix of a set of sensors, represents the centered data matrix, where , which defines the centered distance vector column wise, and is the mean vector column wise of matrix.

Let be a group of measurements collecting from the sampling period. Each sensor generates a stream of data. Let be a matrix with elements , , , being the measurement taken by sensor at point . Let be a centered matrix with elements , .

3.2. PCA-Guided Clustering Model

We define the equation for the SVD of matrix [22] as follows:

The covariance matrix (ignoring the factor ) is

The principal components are eigenvectors satisfying

3.2.1. -Means Clustering Model

According to [23, 24], we find the PCA dimension reduction automatically by performing data clustering according to the -means objective function [25, 26]. Using -means algorithm, it can form a better cluster structure by minimizing the sum of squared errors. We define the squared distance between sensor nodes and cluster centers as

where is the center of cluster and is the number of sensor nodes in . Given the fact that by minimizing the distance between sensor nodes and cluster centers, the energy consumption can be effectively reduced. Our clustering algorithm is thus designed to be capable of minimizing the above metric .

For the sake of convenience, let us start with the case of . To obtain the explicit expression for , letting

be the sum of squared distances between two clusters and , after some algebra one obtains the following:

where and are the numbers of sensor nodes in and , is the total number of sensor nodes; therefore, we get .

If denoting

we thus have

That is

where is a constant and it denotes the distance between the sensor nodes and the center for all nodes; thus min is equivalent to max , and because the two resulting clusters are as separated and compact as possible. Because the averaged intracluster distance is greater than the sum of the averaged intercluster distances, that is

From (9), it is seen that   is always positive. This is to say, evidenced from (11), for minimization of cluster objective function is equivalent to maximization of the distance objective , which is always positive.

When , we can do a hierarchical divisive clustering, where each step using the is a clustering procedure. This procedure can get an approximated -means clustering structure.

3.2.2. PCA-Guided Relaxation Model

In [24], it proves that the relaxation solution of can get via the principal component. It sets the cluster indicator vector to be

The indicator vector satisfies the sum-to-zero and normalization conditions. Consider the squared distance matrix , where . is easily observed.

The First Relaxation Solution

Let take any value in ; the solution of minimization of is given by the eigenvector corresponding to the lowest eigenvalue of the equation  .

The Second Relaxation Solution

Let , where the element is given by

in which, , , .

After computing, we have , then relaxing the restriction , the desired cluster indicator vector is the eigenvector corresponding to the lowest eigenvalue of .

The Third Relaxation Solution

With some algebra, we can obtain . Therefore, the continuous solution for cluster indicator vector is the eigenvector corresponding to the largest eigenvalue of the covariance matrix which by definition, is precisely the principal component .

3.2.3. PCA-Guided Clustering Model

According to the mentioned above, for -means clustering where , the continuous solution of the cluster indicator vector is the principal component , that is, clusters and are given by

We can consider using PCA technology to clustering sensor nodes for WSNs. It near minimizes the sum of the distances between the sensor nodes and cluster centers.

Example 1. Let us assume in a WSN there are 20 sensors distributed in the network. represents the 2D coordinate matrix.

Compute the eigenvector of the matrix, , that is, the principal component :

If , sensor belongs to , otherwise it belongs to . We depicted the above clustering results into Figure 2.

Figure 2: The clustering structure for 20 sensor nodes.

When , we do a hierarchical divisive clustering, where each step uses the clustering procedure.

In summary, a PCA-guided clustering model can be used to form a nearly optimal -means-like clustering structure.

3.3. PCA-Guided Data Aggregating Model

As mentioned above, represents the data measurement matrix collected from the sampling period by the cluster heads. is a centered matrix about .

The vector is the principal components satisfying

Because in most cases there exist high correlations between sensor measurements, good approximations to sensor measurements can be obtained by relying on few principal components. The first principal component accounts for as much of the variability in the data as possible, so we can find the first principal component vector , such that their projection data can effectively express the original measurements. Approximations to are obtained by

where

The CHs only send three packets about , , and the mean vector column-wise of matrix to the base station:

Because the mean vector column-wise is subtracted by the CHs prior to the aggregation of its value, the base station can add back after the computation of the approximation.

Example 2. If the CH collects the matrix as follow:

Then the CH can compute the matrix and the principal components ,

then the packet about , , and are delivered to the base station. The base station will compute the approximation .

After adding back the subtracted mean value , we can obtain:

4. PCA-Guided Routing Algorithm Solution Strategies

In Section 3, we have actually proposed a PCA-guided clustering and data aggregating model for routing optimization problem in WSNs by theoretical analyses and numerical examples. The following steps provide an overview of the solution strategy.

4.1. Initialization Stage

In the first stage, we assume that a set of location coordinates are gathered at the base station. The base station computes the first principal component . The two clusters and are determined via according to (15) by the BS.

4.2. Clusters Splitting Stage

When the number of sensor nodes is huge, two clusters are not enough and can induce the energy consume rapidly, considering splitting these clusters whose memberships are more than the CH can support.

If there are clusters, there are on average nodes per cluster (one CH node and non-CH nodes). We define that

We can estimate the average energy dissipated per round to get the most energy efficient number of the clusters as follows:

The notation and definition of the parameters in (26) are described as Table 1.

Table 1: Parameter description.

Parameters
Head description

The number of the clusters

The total number of the sensor nodes

The energy consumption per bit when sending and receiving

The sending data bit

The energy consumption about the amplifier

The data aggregating rate. It is application specific, where we assume as mentioned in Section 2.

The average distance between the CHs and the BS. We assume it = 75 m

The average distance between the CHs and the non-CH nodes. From [5], we obtain , in which, denotes the area of this field.

We can get

According to the average energy dissipated per round, the scope of the clusters’ number can be estimated when it is the most energy efficient. In [4, 13, 14], the authors use the average energy dissipated per round to obtain the optimal cluster number. Based on this methodology, here in this paper, we study the appropriate upper limit of the cluster nodes to perform the clusters splitting and thus extend this methodology.

Example 3. If we assume the number of sensor nodes is 100, the average energy dissipated per round as the number of clusters is varied between 1 and 20. Figure 3 shows that it is most energy efficient when there are between 3 and 5 clusters in the 100-node network. We define that the most appropriate number of clusters is varied from 3 to 5 because

Figure 3: Average energy dissipation per round with varying the number of clusters.

We obtain that the appropriate upper limit of the cluster nodes is 100/3 = 34.

If the number of cluster nodes is more than 34, the PCA-guided clustering algorithm will implement to split it.

4.3. Cluster Balancing Stage

We use the BS running the PCA-guided clustering algorithm to divide sensor nodes based on the geographical information. We get clusters from nodes in the field rapidly and form better clusters by dispersing the CHs throughout the network.

Now let us introduce the basic idea of the cluster balancing stage. Above, we get the number of clusters if there are nodes. We define the average node number per cluster as Ave. The cluster-balanced step is added in each iteration process. If , , the BS computes , where , and . This means to compute the distances between the nodes and each cluster center whose cluster’s node number is less than . The BS gets if its value is minimum and adjusts the node into the corresponding cluster computed. After implementing the cluster-balanced step, the BS limit the node number in each cluster and change the clusters unequal distribution in the space of nodes originally.

Example 4. Figure 4 gives an example to illustrate how the cluster-balanced step works. In this example, if we only consider the geographical information of sensor nodes while using PCA-guided splitting algorithm, the sensor nodes to should belong to the . However, the nodes in are more than Ave(=5). Thus, this scenario motivates the cluster-balanced step. To have a balance among all the clusters, in our method, we suggest that the sensor should be grouped into because its distance is nearest to . We obtain the final balanced cluster structure by a serial standard PCA-guided splitting stage and the cluster balancing stage.

Figure 4: An example of the cluster balancing stage.

4.4. Cluster Heads Selecting Stage

After the base station divides the appropriate clusters using PCA technique, it needs to select the optimal cluster heads in these clusters. Assume that the initial energy is same, the base station can rank the matrix for each cluster and section the sensor nodes which is the nearest to the cluster centers.

4.5. Data Aggregating Stage

The sensor nodes begin to transfer the data to the cluster heads after finishing the cluster formation. The cluster heads collect the measurements from the sensor nodes and then compute the first principal component (as (18)), the mean vector   (as (21)), and (as (20)). They can be delivered to the base station with a constant packet size for each cluster head. At last, the base station will compute the approximate measurements by these packets.

4.6. The Description for PCA-Guided Routing Algorithm

The procedure taken by the base station is as follows.

 Step  1: compute the first principal component , Step  2: according to (15), the two clusters and are determined via . Step  3: compute and get the appropriate upper limit of the cluster nodes. Step  4: while the cluster node number are more than the appropriate upper limit. Step  5: compute a new for the cluster. Step  6: repeat Step  2 and Step  3. Step  7: end Step  8: if needed, implement the cluster balancing stage. Step  9: select the cluster heads. Step  10: compute (according to (18)), (according to (21)), and (according to (20)) for the approximate measurements.

5. Simulation Results

To evaluate the performance of PCA-RA, we simulate it, LEACH and LEACH-E, using a random 100-node network. The BS is located at in a  m² field.

Figures 5 and 6 show the clustering structure for using LEACH and PCA-RA. Comparing Figures 5 and 6, one finds that each cluster is as compact as possible, and the cluster heads locate more closely to the cluster centers by using PCA-RA. This gives us an intuition that it is more efficient to balance the load of network and to even distribute the nodes among clusters by using PCA-RA.

Figure 5: The clustering structure for using LEACH.

Figure 6: The clustering structure for using PCA-RA.

The benefits of using PCA-RA are further demonstrated in Figures 7 and 8, where we compare the network performance of network lifetime and throughput under the PCA-RA with that under LEACH and LEACH-E. Figure 7 shows the total number of nodes that remain alive over the simulation time, while the first dead node remains alive for a more long time in PCA-RA, this is because PCA-RA takes into account the structure of clusters and the location of the cluster heads. Figure 8 shows that PCA-RA sends much more data in the simulation time than LEACH and LEACH-E.

Figure 7: System lifetime using LEACH, LEACH-E and PCA-RA.

Figure 8: Throughput using LEACH, LEACH-E, and PCA-RA.

Note that the survey nodes in each round are ; each node can send data. Then, the maximum throughput can be expressed as follows;

From Figure 7, the for PCA-RA are more than the for LEACH and LEACH-E. Then, and .

For example, under the given test data, there are bits data sent in whole network lifetime with PCA-RA. And there are bits and bits by using LEACH-E and LEACH, respectively. The mathematics demonstrates that PCA-RA has 80.01% increase about throughput compared with LEACH-E and 114.12% increase about throughput compared with LEACH.

PCA-RA is a centralized algorithm, and the complexity and communication cost of PCA-RA mostly happen in BS. About the balance structure stage, we think the effect on time complexity is small and consider that the time complexity is comparable to LEACH-C.

Table 2 displays the network lifetime (in terms of the time that the first node becoming dead) and the resulted square error function of the senor node structure under -means algorithms and PCA-RA.

Table 2: A numerical example.

Parameters
-means
PCA-RA

Square error
34392.980
38405.656

The first node dead time
88 rounds
99 rounds

From Table 2, we can find that -means algorithm can get a minimum square error. Because of the cluster-balanced step, PCA-RA can get a bigger square error, but the sensor nodes can survive a longer time. This implies that one can reach a certain tradeoff between the total spatial distance of sensor structure and the network lifetime. The suboptimal solution in PCA-RA can achieve such tradeoff.

In Figure 9, we simulate the sensor nodes collecting the measurements about temperature in some regions. Assume that the base station receive the packets from the cluster head in two minutes interval. Figure 9 demonstrates the approximations obtained by the base station about a certain sensor node in some intervals.

Figure 9: Approximation obtained for the sensor nodes.

6. Conclusions

In this paper, we propose the PCA-guided routing algorithm for WSNs. By disclosing the connection between PCA and -means, we design a clustering algorithm by utilizing PCA technique which efficiently develops a clustering structure in WSNs. Moreover, as a compression method, we demonstrate that the PCA technique can be used in data aggregation for WSNs as well. We establish the explicit procedure of PCA-guided routing algorithm for WSNs by incorporating PCA technique into both the data aggregating and routing process. The advantages of the proposed algorithm are demonstrated through both theoretical analyses and simulation results. The simulation results show that the PCA-guided routing algorithm significantly reduces the energy consumption, prolongs the lifetime of network, and improves network throughput when compared with LEACH and LEACH-E. Further, it keeps the accuracy about the measurements while reducing the network load.

Future research will focus on the distributed strategies of PCA-guided data aggregation and will investigate the performance of PCA-RA with different values of parameter .

Acknowledgments

The work described in this paper was supported by the National Natural Science Foundation of China under Grant no. 61070197 and by self-determined research funds of CCNU from the colleges’ basic research and operation of MOE under Grant CCNU11A01017.

References

I. F. Akyildiz, W. L. Su, Y. Sankarasubramaniam, and E. Cayirci, “A survey on sensor networks,” IEEE Communications Magazine, vol. 40, no. 8, pp. 102–114, 2002.

J. N. Al-Karaki and A. E. Kamal, “Routing techniques in wireless sensor networks: a survey,” IEEE Wireless Communications, vol. 11, no. 6, pp. 6–28, 2004.

Y. Tang, M. T. Zhou, and X. Zhang, “Overview of routing protocols in wireless sensor networks,” Journal of Software, vol. 17, no. 3, pp. 410–421, 2006.

W. Heinzelman, A. Chanrakasan, and H. Balakrishnan, “Energy-efficient communication protocol for wireless micro-sensor networks,” in Proceedings of the 33rd Hawaii International Conference on System Sciences, vol. 2, pp. 1–10, January 2000.

W. B. Heinzelman, A. P. Chandrakasan, and H. Balakrishnan, “An application-specific protocol architecture for wireless microsensor networks,” IEEE Transactions on Wireless Communications, vol. 1, no. 4, pp. 660–670, 2002.

S. Lindsey and C. Raghavendra, “PEGASIS: power-efficient gathering in sensor information systems,” in Proceedings of the IEEE Aerospace Conference, vol. 3, pp. 1125–1130, 2002.

A. Manjeshwar and D. P. Agarwal, “TEEN: a routing protocol for enhanced efficiency in wireless sensor networks,” in Proceedings of the 15th International Conference on Parallel and Distributed Processing Symposium, pp. 2009–2015, April 2002.

A. Manjeshwar and D. P. Agarwal, “APTEEN: a hybrid protocol for efficient routing and comprehensive information retrieval in wireless sensor networks,” in Proceedings of the 15th International Conference on Parallel and Distributed Processing Symposium, pp. 195–202, 2002.

O. Younis and S. Fahmy, “HEED: a hybrid, energy-efficient, distributed clustering approach for ad hoc sensor networks,” IEEE Transactions on Mobile Computing, vol. 3, no. 4, pp. 366–379, 2004.

J. Yick, B. Mukherjee, and D. Ghosal, “Wireless sensor network survey,” Computer Networks, vol. 52, no. 12, pp. 2292–2330, 2008.

M. Tubaishat and S. Madria, “Sensor networks: an overview,” IEEE Potentials, vol. 22, no. 2, pp. 20–23, 2003.

O. Zytoune, M. El Aroussi, and D. Aboutajdine, “A uniform balancing energy routing protocol for wireless sensor networks,” Wireless Personal Communications, vol. 55, no. 2, pp. 147–161, 2010.

L. S. Tan, Y. L. Gong, and G. Chen, “A balanced parallel clustering protocol for wireless sensor networks using K-means techniques,” in Proceedings of the IEEE 2nd International Conference on Sensor Technologies and Applications, pp. 300–305, Cap Esterel, France, August 2008.

Y. L. Gong, G. Chen, and L. S. Tan, “A balanced serial K-means based clustering protocol for wireless sensor networks,” in Proceedings of the 4th IEEE International Conference on Wireless Communications, Networking and Mobile Computing, Dalian, China, October 2008.

A. Abdulla, H. Nishiyama, and N. Kato, “Extending the lifetime of wireless sensor networks: a hybrid routing algorithm,” Computer Communications, vol. 35, no. 9, pp. 1056–1063, 2012.

A. F. Liu, J. Ren, X. Li, and Z. C. Xuemin, “Design principles and improvement of cost function based energy aware routing algorithms for wireless sensor networks,” Computer Networks, vol. 56, no. 7, pp. 1951–1967, 2012.

L. Cobo, A. Quintero, and S. Pierre, “Ant-based routing for wireless multimedia sensor networks using multiple QoS metrics,” Computer Networks, vol. 54, no. 17, pp. 2991–3010, 2010.

S. He, J. Chen, Y. Sun, D. K. Y. Yau, and N. K. Yip, “On optimal information capture by energy-constrained mobile sensors,” IEEE Transactions on Vehicular Technology, vol. 59, no. 5, pp. 2472–2484, 2010.

X. Cao, J. Chen, C. Gao, and Y. Sun, “An optimal control method for applications using wireless sensor/actuator networks,” Computers and Electrical Engineering, vol. 35, no. 5, pp. 748–756, 2009.

J. Shlens, “A tutorial on principal component analysis,” December 2005, http://www.snl.salk.edu/~shlens/pca.pdf

D. P. Berrar, W. Dubitzky, and M. Granzow, in A Practical Approach to Microarray Data Analysis, pp. 91–109, Norwell, Mass, USA, 2003.

G. Golub and C. Van Loan, Matrix Computation, Baltimore, Md, USA, 3rd edition, 1996.

H. Zha, C. Ding, M. Gu, X. F. He, and H. Simon, “Spectral relaxation for K-means clustering,” in Proceedings of the Advances in Neural Information Processing Systems (NIPS ’01), vol. 14, pp. 1057–1064, 2002.

C. Ding and X. F. He, “K-means clustering via principal component analysis,” in Proceedings of the International Conference on Machine Learning (ICML'04), p. 29, Alberta, Canada, July 2004.

S. P. Lloyd, “Least squares quantization in PCM,” IEEE Transactions on Information Theory, vol. 28, no. 2, pp. 129–137, 1982.

J. Ham and M. Kamber, Data Mining: Concepts and Techniques, Morgan Kaufman Publishers, 2nd edition, 2006.