I have been working on Self Organizing Maps(SOM) for the past few months.But I still have some confusions in understanding the dimensionaliy reduction part.Can you suggest any simple method to understand the real working of SOMs on any real world data sets (like a data set from UCI repository).
Dimensionality Reduction using Self Organizing Maps
2.7k Views Asked by Pooja At
1
There are 1 best solutions below
Related Questions in SOM
- R ggplot grid of rectangles, borders top, bottom, left right individual colors
- How can I find out which data record goes into which cluster in R using kohonen and means
- Dimensionality Reduction using Self Organizing Maps
- Plot class probability by neuron in self organizing maps
- Unused arguments in SOM function
- How to choose appropriate number of grid for Kohonen's SOM?
- which column in matlab selforgmap output corresponds to which neuron of the SOM map
- Extracting the HTML colour code for each node of a Kohonen plot
- How to calculate the topographic error fur SuperSOM made with the kohonen package?
- Observation Labels in Kohonen Map in R
- Struggling to solve indexing error while cleaning data to train SOM
- Why is there a need for the number of iterations in the Self-Organizing Map?
- SOM for clustering words
- Interpreting a Self Organizing Map
- Self Organizing Map (SOM) Implementation
Related Questions in DIMENSIONALITY-REDUCTION
- Reduce data dimensionality using curve fitting
- Random projection in Python Pandas using a dataframe containing NaN values
- How to deal with different sizes of sentences when giving them as input to a Neural Network?
- Using Matlab, what's the best way to import a set of images into a data matrix so that I can run dimensionality reduction algorithms efficiently?
- LDA ignoring n_components?
- In natural language processing (NLP), how do you make an efficient dimension reduction?
- Dimensionality Reduction using Self Organizing Maps
- How can I find a projection to preserve the relative value of inner product?
- Reducing dimensionality on training data with PCA in Matlab
- Linear Discriminant Analysis transform function
- How to deal with singular matrix in Local linear embedding?
- Optimal perplexity for t-SNE with using larger datasets (>300k data points)
- Scatter plot of handwritten digits
- Multinomial Naive Bayes raises error
- What is the effect of randomSeed on dimensionality reduction by random projection?
Related Questions in UCI
- OpenWrt LibUbi implementation
- Connecting a Chess Engine to an Existing GUI made with Javascript
- Dimensionality Reduction using Self Organizing Maps
- Java - Running a subprocess works locally but fails with "broken pipe" when ran on Heroku?
- chess engine keeps calculating old fen position once a new fen is given
- Unable to find one-to-many relationship, entity: moj_lawsystem, referencing entity: activityparty
- Can I include OpenWRT's Unified Configuration Interface (UCI) as part of a Yocto build?
- how to run 2 command lines in a sames instance of a console program in Vb6?
- Python-chess open UCI engine permission error denied
- How to import a whole folder of CSVs in python (pandas) from UCI ML Repo?
- How to use InvalidPluginExecutionException in UCI
- Dataframes from .data, .names and .test files using pandas
- use chess.uci to change stockfish skill level
- Is there a way to see blunders, mistakes, missed checkmates in Stockfish
- utilize UCI_LimitStrength option in stockfish
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Ok so first of all refer to some previous related questions which will give you a better understanding of the dimensional reduction and visualization properties of the SOM. Plotting the Kohonen map - Understanding the visualization, Interpreting a Self Organizing Map.
Second a simple case to test the properties of the SOM:
I will use the MATLAB programming language to exemplify how to do it and what you can extract from the learning process.
CODE:
figure,plotsomhits(net,x)
OUTPUT:
So in the first figure you can already see a compression of the 3000x3 dataset into a 20x20x3 map (a reduction of almost 10 times). You can also see that your components can easily be even more compressed into 3 single classes.
In figure 2 the more different the node with its neighbour (calculated through the Euclidean distance between the node weights, and its neighbour weights) the darker the colour between these two nodes. As such, we can see 3 regions of highly related nodes. We could use this image and threshold it such as to obtain 3 different regions (the 3 clusters), and then obtaining the mean weights.
In figure 3 it is presented how many samples from the dataset where label within each node. As can be seen the 3 previous regions present a somewhat homogeneous distribution of samples (which make sense taking into account that the 3 cluster have the same number of samples), and the interface nodes (the ones that divide the 3 regions) do not map any sample. Again we could use this image and threshold it such as to obtain 3 different regions (the 3 clusters), and then obtaining the mean weights.
So in sum with this dataset and with some easy post-processing you could reduce your dataset from 3000X3, to a 3x3 matrix