Why is the value of cluster center and index keeps varying for an image in kmeans?

Dear Team,
Wish you all a Happy New Year 2014:).
Problem statement: I'm working on image retrieval using SURF features. After extracting the features from image, i tried using kmeans algorithm. I gave the below command for getting its index and cluster centers.
code
nWords = 5;
[idx,centers] = kmeans([features]',nWords);
When i try giving the above command in command window, value of idx and centers keeps varying for an image (gray scale image, size( 192 x 144)) whose extracted features is of size 64 x 10 single.Could you please let me know why the value of idx and centers are changing ?
Cheers,
Malini

Réponses (1)

kmeans by default uses random initialization. You can alter that by using the 'start' option; you could give a specific matrix for example.

2 commentaires

Thank you sir for your immediate response. Could you kindly explain more on type of specific matrix to be used. As I tried giving one dimensional and two dimensional matrix but it is throwing me error.
code
sample = [0.7 0.2;0.3 0.4];
[Qidx,Qcenters]=kmeans(Qfeatures,5,'Start',sample);
Error using kmeans (line 200)
The 'Start' matrix must have K rows.
Also could you please explain the difference between use of fuzzy c means and kmeans with respect to random initialization.Sorry for the inconvenience. kindly request you to guide me.
Cheers,
Malini
As you want 5 clusters, you must have 5 rows in your "sample" matrix. The rows must have size(Qfeatures,2) columns.
I do not know at the moment how fcm() initializes the clusters.

Connectez-vous pour commenter.

Catégories

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by