learnsomb
(To be removed) Batch self-organizing map weight learning function
learnsomb will be removed in a future release. For more information,
see Transition Legacy Neural Network Code to dlnetwork Workflows.
For advice on updating your code, see Version History.
Syntax
[dW,LS] = learnsomb(W,P,Z,N,A,T,E,gW,gA,D,LP,LS)
info = learnsomb('code')
Description
learnsomb is the batch self-organizing map weight learning
function.
[dW,LS] = learnsomb(W,P,Z,N,A,T,E,gW,gA,D,LP,LS) takes several
inputs:
W |
|
P |
|
Z |
|
N |
|
A |
|
T |
|
E |
|
gW |
|
gA |
|
D |
|
LP | Learning parameters, none, |
LS | Learning state, initially should be =
|
and returns the following:
dW |
|
LS | New learning state |
Learning occurs according to learnsomb’s learning parameter, shown
here with its default value:
LP.init_neighborhood | 3 | Initial neighborhood size |
LP.steps | 100 | Ordering phase steps |
info = learnsomb(' returns
useful information for each code')code character vector:
'pnames' | Returns names of learning parameters. |
'pdefaults' | Returns default learning parameters. |
'needg' | Returns |
Examples
This example defines a random input P, output A,
and weight matrix W for a layer with a 2-element input and 6 neurons.
This example also calculates the positions and distances for the neurons, which appear
in a 2-by-3 hexagonal pattern.
p = rand(2,1);
a = rand(6,1);
w = rand(6,2);
pos = hextop(2,3);
d = linkdist(pos);
lp = learnsomb('pdefaults');
Because learnsom only needs these values to calculate a weight
change (see Algorithm).
ls = []; [dW,ls] = learnsomb(w,p,[],[],a,[],[],[],[],d,lp,ls)
Network Use
You can create a standard network that uses learnsomb with
selforgmap. To prepare the weights of layer i of a custom network
to learn with learnsomb:
Set
NET.trainFcnto'trainr'. (NET.trainParamautomatically becomestrainr’s default parameters.)Set
NET.adaptFcnto'trains'. (NET.adaptParamautomatically becomestrains’s default parameters.)Set each
NET.inputWeights{i,j}.learnFcnto'learnsomb'.Set each
NET.layerWeights{i,j}.learnFcnto'learnsomb'. (Each weight learning parameter property is automatically set tolearnsomb’s default parameters.)
To train the network (or enable it to adapt):
Set
NET.trainParam(orNET.adaptParam) properties as desired.Call
train(oradapt).
Algorithms
learnsomb calculates the weight changes so that each neuron’s new
weight vector is the weighted average of the input vectors that the neuron and neurons
in its neighborhood responded to with an output of 1.
The ordering phase lasts as many steps as LP.steps.
During this phase, the neighborhood is gradually reduced from a maximum size of
LP.init_neighborhood down to 1, where it
remains from then on.
Version History
Introduced in R2008aSee Also
Time Series
Modeler | fitrnet (Statistics and Machine Learning Toolbox) | fitcnet (Statistics and Machine Learning Toolbox) | trainnet | trainingOptions | dlnetwork