Documentation of 'smile.clustering.DeterministicAnnealing' Java class
DeterministicAnnealing
smile.clustering

Class DeterministicAnnealing

  • All Implemented Interfaces:
    java.io.Serializable, Clustering<double[]>


    public class DeterministicAnnealing
    extends KMeans
    implements java.io.Serializable
    Deterministic annealing clustering. Deterministic annealing extends soft-clustering to an annealing process. For each temperature value, the algorithm iterates between the calculation of all posteriori probabilities and the update of the centroids vectors, until convergence is reached. The annealing starts with a high temperature. Here, all centroids vectors converge to the center of the pattern distribution (independent of their initial positions). Below a critical temperature the vectors start to split. Further decreasing the temperature leads to more splittings until all centroids vectors are separate. The annealing can therefore avoid (if it is sufficiently slow) the convergence to local minima.

    References

    1. Kenneth Rose. Deterministic Annealing for Clustering, Compression, Classification, Regression, and Speech Recognition.
    See Also:
    Serialized Form
    • Constructor Detail

      • DeterministicAnnealing

        public DeterministicAnnealing(double[][] data,
                                      int Kmax)
        Constructor. Clustering data into k clusters.
        Parameters:
        data - the input data of which each row is a sample.
        Kmax - the maximum number of clusters.
      • DeterministicAnnealing

        public DeterministicAnnealing(double[][] data,
                                      int Kmax,
                                      double alpha)
        Constructor. Clustering data into k clusters.
        Parameters:
        data - the input data of which each row is a sample.
        Kmax - the maximum number of clusters.
        alpha - the temperature T is decreasing as T = T * alpha. alpha has to be in (0, 1).
    • Method Detail

      • getAlpha

        public double getAlpha()
        Returns the annealing parameter.
        Returns:
        the annealing parameter
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class KMeans

DataMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.