Skip to content
/ som Public

Self-Organizing Map for unsupervised feature engineering and dimensionality reduction

Notifications You must be signed in to change notification settings

ramarlina/som

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Author: Mendrika Ramarlina
Email: m.ramarlina@gmail.com

Self-organizing map (SOM) is an unsupervised Neural Net technique that can be used to produce lower dimensional representation of the input space. Meaning, you can use SOM's to create a representation of input vectors with less variables. In my example, I am using a SOM to reduce the dimensionality of handwritten digits image from 784 variables to 400 variables.

SOM uses competitive learning. For every example we present to the SOM, we improve only the group neurons that best represent that example. As we run through the whole dataset, the algorithm will make groups of neurons specialize themselves in representing subsets of the data.

Libraries I am using:
- NumPy: scientific computing library for Python

Initializing SOM:
som = SOM(20, 20)

Training Model:
som.train(X, 2000)
- X is the input vector
- 2000 is the number of iterations

Results

Here is what we get:

results

About

Self-Organizing Map for unsupervised feature engineering and dimensionality reduction

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages