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 answers
Related Questions in SOM
- I want to build a linux image using yocto, image size needs to small. I am using a SOM from phytec
- Struggling to solve indexing error while cleaning data to train SOM
- Observation Labels in Kohonen Map in R
- How to calculate the topographic error fur SuperSOM made with the kohonen package?
- Plotting an array as a point in 2D space in Python?
- How do you know which is the closest class example(observation) to a class in Self Organizing Map?
- Debugger only shows Python bytecode when debugging SOMPY library functions
- How does the number of iterations affect convergence in a self-organizing map?
- 3D data with SUSI
- Transform 2d plot into 1d plot
- minisom python package pca initialization code
- SOM for clustering words
- Does the SOM clustering algorithm have cluster centers? If there is how to use matlab's SOMtoolbox package to calculate this cluster center
- Is it possible to create a heatmap within a SOM-Cluster with the values of a dimension, which is not included in the cluster itself in R?
- Clustering using SOM
Related Questions in DIMENSIONALITY-REDUCTION
- Cluster Analysis after a process
- Dimensionality reduction of atmospheric data
- Snowflake ARRAY column as input to Snowpark modeling.decomposition
- Training Autoencoders using RNN
- Applying t-SNE to data of different dimensions
- Azure deployment for an infrequent long-running high memory task
- How to find which are all 'X' features/dimensions are selected/deselected by - LDA dimensionality reduction technique
- Can the results of UMAP for HDBScan clustering be made more consistent?
- What dimension is the gradient vector output of tSNE
- Choosing Between One-Hot Encoding and Label Encoding for Time Series Forecasting
- Using PCA to combine multiple feature vectors in to a single vector
- module 'numpy' has no attribute 'bool'?
- How should my data to apply of technique time-lagged independent component analysis (TICA)?
- Why does Cosine Similarity Score of Transformer-Based Model's Embeddings Always Lies Between 70 and 100
- Advice on doing clustering (and/or) dimensionality reduction on large dataset with alot of features
Related Questions in UCI
- How does Threefold Repetition get handeled with the Universal Chess Interface?
- Unable to find one-to-many relationship, entity: moj_lawsystem, referencing entity: activityparty
- chess engine keeps calculating old fen position once a new fen is given
- Chess UCI get position as FEN
- Unable to make a python-chess engine communicating with Arena GUI
- Chess analysis over UCI protocol
- Luci openWRT UCI firewall rule update without position number
- How to use InvalidPluginExecutionException in UCI
- How to import a whole folder of CSVs in python (pandas) from UCI ML Repo?
- Timed calculation with additional stop signal in Python
- Openwrt : file modifications of /etc/config on custom-compiled firmware not saved after reboot
- D365 - UCI - A validation error occurred. The value 895390001 of 'MULTISELECT' on record of type ENTITY' is outside the valid range. Accepted Values:
- Any function like uci_load() but load config file not under /etc/config?
- How to delete section from UCI package with struct uci_section pointer?
- Response from my chess engine using Universal Chess Interface (UCI) isn't received by the chess GUI apps
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?
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)
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