Skip to content

razmik/self-learning-algorithm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Self-Organizing Algorithms

Introduction

This repository contains python implementations of self-organizing algorithms. The algorithm suite contains;

  1. Growing Self-Organizing Maps (GSOM) by CDAC
  2. Incremental Knowledge Acquisition and Self Learning (IKASL) by CDAC
  3. Self-Organizing Maps (SOM) by PyMVPA
  4. Uniform Manifold Approximation and Projection (UMAP) umap-learn

The usage of the implementations are as follows:

GSOM

Concept and implementation papers:
[1] D. Alahakoon, S. K. Halgamuge, and B. Srinivasan, “Dynamic self-organizing maps with controlled growth for knowledge discovery,” IEEE Transactions on Neural Networks, vol. 11, no. 3, pp. 601–614, May 2000.
[2] R. Nawaratne, D. Alahakoon, D. De Silva. “HT-GSOM: Dynamic Self-organizing Map with Transience for Human Activity Recognition”. IEEE 17th International Conference on Industrial Informatics (INDIN). IEEE, 2019.

Required Modules

  • python 3.X (Tested with 3.5 and 3.6)
  • pandas
  • numpy
  • scipy
  • scikit-learn
  • tqdm
  • matplotlib
  • squarify

Usage

I have setup a sample using ZOO animal dataset.

  • Go to gsom/applications/zoo_experiment/zoo.gsom.py
  • Update the GSOM config and File config respectively (already setup for current dataset).
  • Run zoo_gsom.py.

IKASL

Concept and implementation papers:
[1] D. De Silva and D. Alahakoon, “Incremental knowledge acquisition and self learning from text,” in The 2010 International Joint Conference on Neural Networks (IJCNN), 2010, pp. 1–8.

Required Modules

  • python 3.X (Tested with 3.5 and 3.6)
  • pandas
  • numpy
  • scipy
  • scikit-learn
  • tqdm
  • matplotlib
  • squarify
  • heapq
  • graphviz (Need to install both system installer and python package https://graphviz.gitlab.io/download/)

Usage

I have setup a sample using human activity video dataset, where features are extracted as BOW using MS Cognitive Vision Toolkit.

  • Go to ikasl/applications/collective-activity/collective-activity-bow.py
  • Update the config files respectively (already setup for current dataset).
  • Run collective-activity-bow.py.

SOM

Please refer: http://www.pymvpa.org/examples/som.html

UMAP

Please refer: https://umap-learn.readthedocs.io/en/latest/basic_usage.html