So as I understand it SOM is primarily a visualization tool and clustering is a logical next step after you construct a SOM from data. Typically, the clustering is subjective in that after looking at your SOM you can 'see' N clusters and then from there you would go on to cluster (k means, hierarchical etc.) the SOM nodes with this N as your parameter. Is there a nonsubjective (maybe nonparametric?) way to cluster the SOM nodes (i.e. without first looking at the SOM to determine the number of distinct clusters)? Thanks
To answer your question, yes there are. There are numerical ways to determine the best cluster form. However, it is subjective which one you use.
I do not think you are still looking for this 5 years after date but this can hopefully help people in the future.
If you have any question on clustering, see @Ben 's elaborate answer in how to determine optimal cluster
Here he discusses 8 ways to determine the number of clusters:
look for a bend in the WSS elbow plot (I am currently using this, because it's easy, however, difficult to automate)
Partitioning around mediods with the
pamkfunction of fmc in R
Calinsky criterion (I am not a fan, don't understand the background that well)
Determine the optimal model and number of clusters according to the Bayesian Information Criterion for expectation-maximization. This is nice, maybe the closest you will get to feeling it is not subjective, because it gives an 'optimum'.
Affinity propagation (AP) clustering
Gap Statistic for Estimating the Number of Clusters
clustergrams to visualize cluster assignment, see http://www.r-statistics.com/2010/06/clustergram-visualization-and-diagnostics-for-cluster-analysis-r-code/
The NbClust package
Ben explains each one with examples with nice plots.
If you don't know a priori the number of clusters, I don't think SOM will be of much help. However, you can take a look at some SOM variants, like LARFSOM, which is a SOM that inserts/removes nodes on the fly - and it was conceived by my graduate advisor :) The number of nodes in the end is expected to be the correct number of clusters in the dataset.