supervised training of SOM in MATLAB

14 ビュー (過去 30 日間)
liangjian 2011 年 11 月 16 日
I have a labelled data set, each data entry is of six dimensional. Each data entry is pre-labelled as belonging to one of 10 clusters.
I would like to train a SOM to fit this labelled data set. In other words, I would like to enforce a SOM that can exactly( or almost) cluster the same result to each data entry as the pre-labelled one.
Is there a function in the MATLAB neural network toolbox that can fulfill the above requirement?


Greg Heath
Greg Heath 2011 年 11 月 21 日
The "SO" in SOM means "Self-Organizing" and refers to using the Kohonen algorithm for UNSUPERVISED clustering. Do not use the acronym for supervised clustering.
Supervised clustering is called classification. Good classification algorithms do not usually restrict the number of clusters per class. They tend to create additional clusters to minimize overlapping clusters of different classes.
Kohonen's algorithms for supervised clustering (i.e., classification) are LVQ1 and LVQ2 and can be found in MATLAB's Neural Network Toolbox. I think a recommended initial configuration is that provided by SOM.
However, If you just want to minimize the misclassification rate, do not restrict the clusters to one per class and use NEWRB. You could try to limit the number of hidden nodes to 10. However, NEWRB may create 2 for one class before creating one for other classes.
NEWRB needs to be modified to accept an initial configuration of hidden nodes (cluster centers).
If you just want to minimize the misclassification rate and do not care about clusters, use NEWFF.
Hope this helps.
P.S. How much 6-dimensional data do you have

その他の回答 (1 件)

Amith Kamath
Amith Kamath 2011 年 11 月 17 日
I don't know if matlab natively includes SOM functions, but you should definitely find it here:

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by