---
title: "Self-organizing map (SOM) steps"
subject: "Artificial Intelligence"
chapter: 6
key: "semester_6/artificial_intelligence:self-organizing-map"
source: https://www.bctengineer.com/q/semester_6/artificial_intelligence/self-organizing-map
site: BCT Engineering
---

# Self-organizing map (SOM) steps

Artificial Intelligence · Chapter 6: Machine Learning

- Asked in: 2074 Bhadra, 2+5 marks
- Video: [Self Organizing Feature Map Kohonen Maps Solved Example | Self Organizing Networks by Mahesh Huddar](https://www.youtube.com/watch?v=_IRcxgG0FL4) — Mahesh Huddar
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_6/artificial_intelligence/self-organizing-map
- Whole chapter: https://www.bctengineer.com/md/semester_6/artificial_intelligence/chapter-6

## Question

What is self-organizing Map (SOM)? Explain all the steps involved in SOM with suitable example.

## Short answer

A SOM is an unsupervised neural network that maps high-dimensional inputs to a low-dimensional grid while preserving topology. Steps: compute distances, select winner node, update winner and neighbors, reduce learning rate and radius. Example: clusters found without labels.

## Answer

A **self-organizing map (SOM)**, or Kohonen network, is an unsupervised neural network that maps high-dimensional input vectors onto a low-dimensional (usually 2-D) grid of neurons so that similar inputs activate nearby neurons (topology preserving). It uses **competitive learning**: neurons compete and only the winner and its neighbours learn.

```text
 inputs  x1  x2  x3  x4
          \   |   |  /     every input connected to
        +---------------+  every output neuron
        | o  o  o  o  o |  output (map) layer
        | o  o  o  o  o |
        +---------------+
```

#### Steps
1. Initialise weight vectors w_j (small random values), learning rate α(0) and neighbourhood radius R(0).
2. For each input vector x:
   a. Compute the squared Euclidean distance D(j) = Σ_i (w_ij − x_i)² for every output node j.
   b. The node J with the smallest D(j) is the **winner (best matching unit)**.
   c. Update the winner and nodes within radius R: w_j(new) = w_j(old) + α (x − w_j(old)).
3. Reduce α (and R) according to a schedule, e.g. α(t+1) = 0.5 α(t).
4. Repeat for all inputs (epochs) until the weights stop changing or iterations end.

#### Example (computed by program)
Four input vectors: (1,1,0,0), (0,0,0,1), (1,0,0,0), (0,0,1,1); two clusters, R = 0, α = 0.6. Initial weights: cluster 1 = (0.2, 0.6, 0.5, 0.9), cluster 2 = (0.8, 0.4, 0.7, 0.3).

Present (1,1,0,0):
- D(1) = (0.2−1)² + (0.6−1)² + 0.5² + 0.9² = 0.64 + 0.16 + 0.25 + 0.81 = 1.86
- D(2) = (0.8−1)² + (0.4−1)² + 0.7² + 0.3² = 0.04 + 0.36 + 0.49 + 0.09 = 0.98
- Winner: cluster 2. New w2 = (0.92, 0.76, 0.28, 0.12).

Next inputs: (0,0,0,1) → D = 0.66 vs 2.28, cluster 1 wins, w1 = (0.08, 0.24, 0.20, 0.96); (1,0,0,0) → cluster 2 wins; (0,0,1,1) → cluster 1 wins. After the first epoch (then α = 0.3, and so on) inputs (1,1,0,0) and (1,0,0,0) go to cluster 2 and (0,0,0,1) and (0,0,1,1) go to cluster 1: two clear clusters found without any labels.

Uses: clustering, data visualisation, speech and image analysis.

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. What kind of learning does a SOM use?
   A. Supervised error correction
   B. Reinforcement by reward
   C. Hebbian storage with symmetric weights
   D. Unsupervised competitive learning where the winner and neighbours learn
   Answer: D. Neurons compete and similar inputs map to nearby nodes. (Key point: SOM nature)

2. How is the winner selected?
   A. The node with the smallest squared Euclidean distance to the input
   B. The node with the largest weight sum
   C. A random node
   D. The node with the largest distance
   Answer: A. D(j) = sum (w_ij - x_i)^2. (Key point: Winner)

3. What is the winner's weight update?
   A. w_new = w_old - x
   B. w_new = w_old + alpha (x - w_old)
   C. w_new = alpha * x * w_old
   D. w_new = (t - y) x
   Answer: B. The weight vector moves towards the input. (Key point: Update)

4. For input (1,1,0,0), which cluster wins and why?
   A. Cluster 1, with D = 1.86
   B. Cluster 1, with D = 0.98
   C. Cluster 2, with D = 0.98 versus 1.86
   D. Neither
   Answer: C. The smaller distance wins. (Key point: Example)

## Related in Artificial Intelligence

- [Hopfield network and its steps](https://www.bctengineer.com/question.md?key=semester_6%2Fartificial_intelligence%3Ahopfield-network-steps) — Artificial Intelligence, chapter 6
- [NLU and NLG; NLP steps](https://www.bctengineer.com/question.md?key=semester_6%2Fartificial_intelligence%3Anlu-nlg-nlp-steps) — Artificial Intelligence, chapter 7
- [Conversion to conjunctive normal form](https://www.bctengineer.com/question.md?key=semester_6%2Fartificial_intelligence%3Acnf-conversion-steps) — Artificial Intelligence, chapter 4, asked 3×

## Related in other subjects

- [Define simulation; steps of simulation study](https://www.bctengineer.com/question.md?key=semester_8%2Fsimulation_and_modeling%3Asimulation-study-steps) — Simulation and Modeling, chapter 1, asked 5×
- [Steps of photolithography process](https://www.bctengineer.com/question.md?key=semester_6%2Fembedded_system%3Aphotolithography-steps) — Embedded System, chapter 8, asked 4×
- [Steps of virtual (unit) load method](https://www.bctengineer.com/question.md?key=semester_4%2Ftheory_of_structures_i%3Aunit-load-method-steps) — Theory of Structures I, chapter 3, asked 4×
- [Full-custom, semi-custom and PLD design steps](https://www.bctengineer.com/question.md?key=semester_6%2Fembedded_system%3Afull-semi-custom-pld-steps) — Embedded System, chapter 8, asked 2×
