Nikronic / K-MCI

This is an implementation of K-MCI algorithm in python.
Apache License 2.0
4 stars 0 forks source link

K-means++ for initial centers is **WRONG** #11

Closed hamed-faraji closed 6 years ago

hamed-faraji commented 6 years ago

It is 100% wrong to use k-means++ initial. because it causes very fast convergence and destroying Mutation role. as I see mutation doesn't influence data because of fast convergence. the paper doesn't point to k-means++ initial as you see: image we need some exploring on data. not exploit.

Nikronic commented 6 years ago

It seems right. I had read the part which says : image But we do our explotation using Kmeans and mutation process is un affected because of random form. image The above text make me to think we must use best exploitaion algorithm which means KMeans++ then mutation make our exporation. image and image

show us mutation is combination of current candidate and some other mixed candidates. So there should be no problem with mutation on fast convergence.

hamed-faraji commented 6 years ago

The real problem is here : image

I repeat mutation for 3500 loops and I didn't see any difference in new fitness.this is because of fast convergence!! you know K-Means++ has near answer to K-MCI.so when we do mutation equation, it gives us centers with a lot of differences. Since the K-means centers are very near to optimal so new fitness is worse than K-Means++ fitness. image

Nikronic commented 6 years ago

Holy shit. ;-)