I used MATLAB neural network toolbox to train a self-organizing map for a given data set. The obtained "weight-position" plot is given as follows. I do not think this plot looks good in comparison to the sample plot given in the MathWorks website.

enter image description here

I followed the standard MATLAB routine to train this SOM. Thus, I am having three questions on this case study.

  1. Which kind of information can I obtain from this plot?
  2. Given the shape of this plot, what can I say for the input?
  3. Since the training method is trivial and standard, I am wondering whether SOM can fit to my data set? My data set is composed of 3,000 data points, and each data points has 20,000 dimensions. The example given by MATLAB is only for 4 dimensions.

2 Answers 2


The SOM weight position is actually a 3D plot( use the Rotate 3D tool), and it operates as described below:

  1. If the input is one dimensional (and there fore the Neuron weights are also one dimensional), MATLAB plots this input data and weight positions in the X axis, and simply completes with zeros the Y axis, and with -1 (height -1) the Z axis.

  2. If the input is two dimensional (hence, two dimensional weights), it follows the above procedure , but this time poting the input data in the X axis and Y Axis. The z axis is filled with -1.

  3. If the input is three dimensional (3Dim weights), it plots the whole input data

  4. If the input/weights are N-dimensional, matlab only plots the first three compoenents of the inputs/weights.


I would suggest write the detailed code for SOM in MATLAB. This is what I always do. Play with the Options a lot. Change the dimensions of your SOM, the neighborhood size, training epochs, etc. and check your results with each change.

Regarding your figure, I believe the position of the Weights are not good as some part of your data are not properly modeled by the current position of the weights. I would change the dimensions and the initial neighborhood and try again. Ideally, the weights should cover all parts of the data so when a new data comes in, they can assign it to the exact cluster.

This figure also shows your data in scattered with regard to the position of the current weights. I would not consider this a good representation of my data and suggest to change the parameters of SOM as I mentioned.

Good luck,



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.