smile.clustering
Class DeterministicAnnealing
- java.lang.Object
-
- smile.clustering.PartitionClustering<double[]>
-
- smile.clustering.KMeans
-
- smile.clustering.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
- Kenneth Rose. Deterministic Annealing for Clustering, Compression, Classification, Regression, and Speech Recognition.
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from interface smile.clustering.Clustering
OUTLIER
-
-
Constructor Summary
Constructors Constructor and Description DeterministicAnnealing(double[][] data, int Kmax)Constructor.DeterministicAnnealing(double[][] data, int Kmax, double alpha)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description doublegetAlpha()Returns the annealing parameter.java.lang.StringtoString()-
Methods inherited from class smile.clustering.KMeans
centroids, distortion, lloyd, lloyd, lloyd, predict
-
Methods inherited from class smile.clustering.PartitionClustering
getClusterLabel, getClusterSize, getNumClusters, seed, seed
-
-
-
-
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).
-
-
DataMelt 3.0 © DataMelt by jWork.ORG