K Means Applications
There are a lot of applications of the K-mean clustering, range from unsupervised learning of neural network, Pattern recognitions, Classification analysis, Artificial intelligent, image processing, machine vision, etc.
In principle, you have several objects and each object have several attributes and you want to classify the objects based on the attributes, then you can apply this algorithm.
Here is the principle of application of k-means clustering to machine learning or data mining:
Each object represented by one attribute point is an example to the algorithm and it is assigned automatically to one of the cluster. We call this "unsupervised learning" because the algorithm classifies the object automatically only based on the criteria that we give (i.e. minimum distance to the centroid). We don't need to supervise the program by saying that the classification was correct or wrong. The learning process is depending on the training examples that you feed to the algorithm. You have two choices in this learning process:
- Infinite training . Each data that feed to the algorithm will automatically consider as the training examples. The VB program (and code) that I put in this tutorial is on this type.
- Finite training . After the training is considered as finished (after it gives about the correct place of mean). We start to make the algorithm to work by classifying the cluster of new points. This is done simply by assign the point to the nearest centroid without recalculate the new centroid. Thus after the training finished, the centroid are fixed points.