  Determining the number of clusters in a dataset is a fundamental issue in
data clustering. Many methods have been proposed to solve the problem of
selecting the number of clusters, considering it to be a problem with regard to
model selection. This paper proposes an efficient algorithm that automatically
selects a suitable number of clusters based on a probability distribution model
framework. The algorithm includes the following two components. First, a
generalization of Kohonen's self-organizing map (SOM) is introduced. In
Kohonen's SOM, clusters are modeled as mean vectors. In the generalized SOM,
each cluster is modeled as a probabilistic distribution and constructed by
samples classified based on the likelihood. Second, the dynamically updating
method of the SOM structure is introduced. In Kohonen's SOM, each cluster is
tied to a node of a fixed two-dimensional lattice space and learned using
neighborhood relations between nodes based on Euclidean distance. The extended
SOM defines a graph with clusters as vertices and neighborhood relations as
links and updates the graph structure by cutting weakly-connection and
unnecessary vertex deletions. The weakness of a link is measured using the
Kullback--Leibler divergence, and the redundancy of a vertex is measured using
the minimum description length. Those extensions make it efficient to determine
the appropriate number of clusters. Compared with existing methods, the
proposed method is computationally efficient and can accurately select the
number of clusters.
