|
latest version v1.9 - last update 24 Nov 2005 |
|
#include <ltiAdaptiveKMeans.h>
Inheritance diagram for lti::adaptiveKMeans:


Public Member Functions | |
| adaptiveKMeans () | |
| adaptiveKMeans (const adaptiveKMeans &other) | |
| virtual | ~adaptiveKMeans () |
| virtual const char * | getTypeName () const |
| adaptiveKMeans & | copy (const adaptiveKMeans &other) |
| adaptiveKMeans & | operator= (const adaptiveKMeans &other) |
| virtual classifier * | clone () const |
| const parameters & | getParameters () const |
| virtual bool | train (const dmatrix &input, ivector &ids) |
| virtual bool | train (const dmatrix &input) |
Classes | |
| class | parameters |
| the parameters for the class adaptiveKMeans More... | |
The algorithm is based on Kothari R., Pitts D., 1998. On finding the number of clusters. Pattern Recognition Letters 20, 405-416.
The algorithm determines the number of cluster in the given data and performs a k means clustering the the detected number of clusters on it. When the algorithm is executed, is does a lot of k means clusterings, with an additional term that brings the cluster centers together. Clusters that have too few points are deleted and clusters that are two close to each other are combined, according to the actual neighborhood. The neighborhood is varied between the values of the parameters minNeighborhood and maxNeighborhood, in as many steps as parameter nbNeighborhoods. If parameter detectNeighborhood is true, the paramters minNeighborhood and maxNeighborhood are set by the algorithm.The Parameter minNumberOfPoints is the minimal number of points that must belong to a cluster, otherwise the cluster will be deleted. maxIterations is the maximum number of Iterations before the clusters are viewed to be stable. maxDistance is the maximal distance that each component of the centroids can move before they are viewed as stable. If every component moves in one iteration less than this parameter, the centroids are set to be stable. The Parameter nbClusters is the number of clusters the algorithm starts with. It has to be bigger than the real number clusters. If the learnRate is too big, so that the centroids don't converge, the algorithm halves the learn rate, restarts and sets a statusString.
|
|
default constructor
|
|
|
copy constructor
|
|
|
destructor
|
|
|
returns a pointer to a clone of this clustering.
Implements lti::classifier. |
|
|
copy data of "other" clustering.
|
|
|
returns used parameters
Reimplemented from lti::centroidClustering. |
|
|
returns the name of this type ("adaptiveKMeans")
Reimplemented from lti::centroidClustering. |
|
|
alias for copy member
|
|
|
Unsupervised training.
The vectors in the
Implements lti::centroidClustering. |
|
||||||||||||
|
Unsupervised training.
The vectors in the By default this method uses the other train method and then calls classify(const dvector&) to get the ids for each trainvector. These ids are then returned.
Reimplemented from lti::centroidClustering. |