download

Subject
Year
: T0293/Neuro Computing
: 2009
Self-Organizing Network Model (SOM)
Meeting 10
2
Unsupervised Learning of Clusters
• Neural Networks yang telah dibahas pada bab terdahulu melakukan fungsinya
setelah dilakukan training (supervised)
• SOM adalah neural networks tanpa training (unsupervised)
• SOM melakukan learning berdasarkan pengelompokan data input (clustering of
input data)
• Clustering pada dasarnya adalah pengelompok-kan dari objek-objek yang serupa
&memisahkan objek-objek yang berbeda
3
Clustering dan Pengukuran Keserupaan
• Misalnya kita diberikan sekumpulan pola tanpa ada informasi adanya sejumlah
cluster/pengelompokan. Masalah clustering dalam kasus ini adalah
pengidentifikasian jumlah cluster berdasarkan kriteria-kriteria tertentu.
•
Himpunan pola { X1, X2, ... , XN }, jika akan dikelompokkan memerlukan
‘decision function’. Pengukuran keserupaan yang umum digunakan adalah
‘Eucledian distance’.
|| X - Xi || =  ( X - Xi )t ( X - Xi )
• Semakin kecil ‘distance’ semakin serupa pola tersebut.
4
Struktur Pola
• Pola-pola dalam ‘Pattern Space’ dapat didistribusikan ke dalam dua struktur yang
berbeda. Perhatikan struktur berikut.
Cluster
Straight lines
Lines
Class 2
Class 1
Class 3
(a)
Figure 7.10 Pattern structure: (a) natural similarity and
(b) no natural similarity
(b)
Struktur natural selalu berkaitan dengan pengelompokan pola (pattern clustering).
5
Algoritma SOM
Step 1.
Initialize Weights
Initialize weights from N inputs to the M output
nodes shown in Fig. 17 to small random
values. Set the initial radius of the
neighborhood shown in Fig. 18
Step 2.
Present New Input
Step 3.
Compute Distances to All Nodes
Compute distances dj between the input and
each output node j using
N-1
dj =  (xi(t) - wij(t))2
i=0
where xi(t) is the input to node i at time t and
wij(t)is the weight from input node i to output
node j at time t
6
Step 4.
Select Output Node with Minimum Distance
Select node j* as that output node with
minimum dj.
Step 5.
Update Weights to Node j* and Neighbors
Weights are updated for node j* and all nodes
in the neighborhood defined by Nej*(t) as
shown in Fig. 18. New weights are
wij (t+1) = wij (t) +  (t) (xi (t) - wij (t))
For j  Nej* (t) 0  i  N - 1
The term  (t) is a gain term ( 0 <  (t) < 1) that
decreases in time
Step 6.
Repeat by Going to Step 2
7
Algoritma Kohonen menghasilkan ‘vektor quantizer’ dengan cara
menyesuaikan bobot.
OUTPUT
NODES
X0
X1
Xn-1
Figure 17. Two-dimensional array of output nodes used to form feature maps. Every input is connected to every output node via a
variable connection weight.
8
Algoritma Kohonen yang menghasilkan ‘Feature Maps’ memerlukan neigbourhood di
sekitar node-node
NEj (0)
NEj (t1)
j
NEj (t2)
Figure 18. Topological neighborhoods at different times as feature maps are formed. NEj (t) is the set of nodes considered to be in
the neighborhood of node j at time t. The neighborhood starts large and slowly decreases in size over time. In this example, 0
< t1 < t2.
9