Page 252 - Classification Parameter Estimation & State Estimation An Engg Approach Using MATLAB
P. 252
CLUSTERING 241
Listing 7.7
MATLAB code for calling the EM algorithm for mixture of probabilistic
principal component analyzers estimation.
load nutsbolts_unlabeled; % Load the data set z
z ¼ setlabtype(z, ‘soft’); % Set probabilistic labels
[lab,w] ¼ emclust(z,qdc([],[],[],1),4); % Cluster 1D PCAs using EM
figure; clf; scatterd(z);
plotm(w, [],0.2:0.2:1); % Plot results
7.2.5 Self-organizing maps
The self-organizing map (SOM; also known as self-organizing feature
map, Kohonen map) is an unsupervised clustering and feature extraction
method in which the cluster centres are constrained in their placing
(Kohonen, 1995). The construction of the SOM is such that all objects
in the input space retain as much as possible their distance and neigh-
bourhood relations in the mapped space. In other words, the topology is
preserved in the mapped space. The method is therefore strongly related
to multi-dimensional scaling.
The mapping is performed by a specific type of neural network, equipped
with a special learning rule. Assume that we want to map an
N-dimensional measurement space to a D-dimensional feature space,
where D N. In fact, often D ¼ 1or D ¼ 2. In the feature space, we
define a finite orthogonal grid with M 1 M 2 M D grid points. At
each grid point we place a neuron. Each neuron stores an N-dimensional
vector that serves as a cluster centre. By defining a grid for the neurons, each
neuron does not only have a neighbouring neuron in the measurement
space, it also has a neighbouring neuron in the grid. During the learning
phase, neighbouring neurons in the grid are enforced to also be neighbours
in the measurement space. By doing so, the local topology will be preserved.
The SOM is updated using an iterative update rule, which honours the
topological constraints on the neurons. The iteration runs over all training
objects z n , n ¼ 1, ... , N S and at each iteration, the following steps are taken:
Algorithm 7.5: Training a self-organizing map:
1. Initialization: Choose the grid size, M 1 , .. . , M D , and initialize the
weight vectors w (0) (where j ¼ 1, .. . , M 1 M D ) of each neuron,
j
for instance, by assignment of the values of M 1 M D different
samples from the data set and that are randomly selected. Set i ¼ 0.