Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why doesn't k-means give the global minima?

I read that the k-means algorithm only converges to a local minima and not to a global minima. Why is this? I can logically think of how initialization could affect the final clustering and there is a possibility of sub-optimum clustering, but I did not find anything that will mathematically prove that.

Also, why is k-means an iterative process? Can't we just partially differentiate the objective function w.r.t. to the centroids, equate it to zero to find the centroids that minimizes this function? Why do we have to use gradient descent to reach the minimum step by step?

like image 579
Prateek Kulkarni Avatar asked Jan 29 '13 06:01

Prateek Kulkarni


People also ask

What is global minima in k-means algorithm?

The global Minmax k-means algorithm is an incremental approach to clustering that dynamically adds one cluster center at a time through a deterministic global search procedure from suitable positions like the global k-means algorithm, and this procedure was introduced in preliminaries.

Does k-means algorithm find us a local or global optimal solution?

Obviously, clustering error is the sum of intra-cluster error. Therefore, we use E_{sum} instead of E(m_1,m_2,\ldots ,m_M) in briefly, i.e. E_{sum}=E(m_1,m_2,\ldots ,m_M). The k-means algorithm finds locally optimal solutions with respect to the clustering error.

Why is k-means an optimization problem?

The main weakness of k-means clustering, that is, its sensitivity to initial positions of the cluster centers, is overcome by global k-means clustering algorithm which consists of a deterministic global optimization technique.


1 Answers

Consider:

.   c   .

.   c   .

Where c is a cluster centroid. The algorithm will stop, but a better solution is:

.       .
c       c
.       .

With regards to a proof - You don't require a mathematical proof to prove that something isn't always true, you just need a single counter-example, as provided above. You can probably convert the above into a mathematical proof, but this is unnecessary and generally requires a lot of work; even in academia it is accepted to merely give a counter-example to disprove something.

The k-means algorithm is by definition an iterative process, it's simply the way it works. The problem of clustering is NP-hard, thus using an exact algorithm to calculate the centroids would take immensely long.

like image 92
Bernhard Barker Avatar answered Oct 19 '22 14:10

Bernhard Barker