Self Organizing Map training question

4 views (last 30 days)
Hi,
I have a difficult question about using Matlab's neural network toolbox. I would like to train a SOM neural network with a data set; however, my data set is quite large. Because of this, I need to split the data into sections and train it individually. Here's my code now
%%Combination method
%IN THIS EXAMPLE - ITS POSSIBLE BECAUSE ITS A SMALL DATASET. IT IS NOT POSSIBLE FOR MY ACTUAL DATA
%Load and combine the data
data1 = [1:10:400;1:20:800]';
data2 = [400:1:440;800:1:840]';
combined = [data1;data2]';
% Create a Self-Organizing Map
dimension1 = 5;
dimension2 = 5;
net = selforgmap([dimension1 dimension2]);
% Train the Network
[net,tr] = train(net,combined);
%Plot combined results
plotsomhits(net,combined);
plotsomhits(net,data1');
plotsomhits(net,data2');
%%Iterative METHOD
%This is what I actually want to use to train the network
% Create a Self-Organizing Map
dimension1 = 5;
dimension2 = 5;
net = selforgmap([dimension1 dimension2]);
% Train the Network
data1 = [1:10:400;1:20:800]';
[net,tr] = train(net,data1');
data2 = [400:1:440;800:1:840]';
[net,tr] = train(net,data2');
% View the Network
combined = [data1;data2]';
plotsomhits(net,combined);
plotsomhits(net,data1');
plotsomhits(net,data2');
As you can tell - the results are skewed significantly because the data is trained twice. Is there anyway to limit the bias when you are training the second time?
  5 Comments
DGM
DGM on 29 Jun 2023
What plot?
Everybody else in this thread has been inactive for years. If you want to ask a question, ask a clear and specific question. Don't hide a tangent in a random dead thread somewhere and expect people to find it and guess what you want.
negar BAIBORDI
negar BAIBORDI on 30 Jun 2023
Hello I have difficulty to understand sample hits plot. I want to know each neuron related to which of the data’s that I imported to self organizing map toolbox in matlab? Please help me. I attchesd the the picture to make it clear.
Best regards

Sign in to comment.

Accepted Answer

Greg Heath
Greg Heath on 13 Jul 2013
This is a well known NN training phenomenon simply referred to as forgetting. See comp.ai.neural-nets posts and FAQ.
The only way to mitigate forgetting is to make sure that the salient characteristics of the 1st training set are reinforced during the later learning. Typically, these characteristics are represented by a subset of first set samples or cluster centers.
Hope this helps.
Thank you for formally accepting my answer
Greg
  1 Comment
Darin McCoy
Darin McCoy on 15 Jul 2013
Thanks Greg,
For others that struggle with this issue - I recommend reading this white paper...its pretty good!

Sign in to comment.

More Answers (0)

Categories

Find more on Sequence and Numeric Feature Data Workflows in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!