Skip to content

bugendes/koh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kohonen Self-Organizing Map

An unsupervised neural network that creates a low-dimensional (2D) representation of high-dimensional data, preserving the topological structure of the input space.

How It Works

The SOM is a 2D grid of neurons, each with a weight vector in the input space.

Training (online learning):

  1. For each input vector x, find the Best Matching Unit (BMU) — the neuron whose weights are closest to x.
  2. Update the BMU and its neighbors toward x: w += α · h(d) · (x - w)
    • α = learning rate (decays over time)
    • h(d) = Gaussian neighborhood function based on grid distance from BMU
    • Both α and the neighborhood radius σ decay exponentially.

Result: Neighboring neurons in the grid learn similar input patterns. The map self-organizes to represent the input topology.

Key Properties

  • Topology preservation: Nearby inputs map to nearby neurons.
  • Dimensionality reduction: Projects high-D data onto 2D.
  • Clustering: Similar inputs activate the same or nearby neurons.

Complexity

Operation Time Notes
BMU search O(W·H·D) Grid size × input dimension
Train (per epoch) O(N·W·H·D) N = data size

Applications

Data Visualization: SOMs project high-dimensional data onto 2D for visualization. Color-coded maps show cluster structure.

Clustering: Natural clustering emerges from the topology-preserving mapping. Each neuron represents a cluster prototype.

Robotics: Motor control, sensor fusion, and navigation — SOMs learn continuous mappings from sensor space to action space.

Speech Recognition: Phoneme maps — SOMs trained on speech features create topological maps of phoneme space.

Materials Science: Materials property maps — SOMs cluster materials by composition and predict properties from the map position.

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages