Mr. EasyRishabh Gupta, Data Scientist at Flipkart, Masters student (MTech) at Computer Science and Automation (CSA) at Indian Institute of Science (IISc) Bangalore. Computer Science blog of random stuff. Projects of Rishabh Gupta. About Rishabh Gupta, mr easy. Machine Learning, Artificial Intelligence, Natural Language Proecssing, Computer Graphics, Animation.
https://mr-easy.github.io/
Restricted Boltzmann Machines
Python implementation of Restricted Boltzmann Machine without using any high level library. Used numpy for efficient matrix computations. Used Contrastive Divergence for computing the gradient. Implemented gradient based optimization with momentum. Trained on MNIST data for demonstration of it’s use. Check out the repository for more details.
Mon, 01 Jun 2020 00:00:00 +0000
https://mr-easy.github.io/2020-06-01-rbm/
https://mr-easy.github.io/2020-06-01-rbm/Implementing Gibbs Sampling in Python
Suppose we have a joint distribution \(P\) on multiple random variables which we can’t sample from directly. But we require the samples anyhow. One way to sample from it is Gibbs sampling. Where we know that sampling from \(P\) is hard, but sampling from the conditional distribution of one variable...
Thu, 21 May 2020 00:00:00 +0000
https://mr-easy.github.io/2020-05-21-implementing-gibbs-sampling-in-python/
https://mr-easy.github.io/2020-05-21-implementing-gibbs-sampling-in-python/KL Divergence between 2 Gaussian Distributions
What is the KL (Kullback–Leibler) divergence between two multivariate Gaussian distributions? KL divergence between two distributions \(P\) and \(Q\) of a continuous random variable is given by: \[D_{KL}(p||q) = \int_x p(x) \log \frac{p(x)}{q(x)}\] And probabilty density function of multivariate Normal distribution is given by: \[p(\mathbf{x}) = \frac{1}{(2\pi)^{k/2}|\Sigma|^{1/2}} \exp\left(-\frac{1}{2}(\mathbf{x}-\boldsymbol{\mu})^T\Sigma^{-1}(\mathbf{x}-\boldsymbol{\mu})\right)\] Now, let...
Thu, 16 Apr 2020 00:00:00 +0000
https://mr-easy.github.io/2020-04-16-kl-divergence-between-2-gaussian-distributions/
https://mr-easy.github.io/2020-04-16-kl-divergence-between-2-gaussian-distributions/charLSTM
A character-level LSTM implemented using PyTorch. Can generate random text. It was trained on Mark Twain’s books. It learnt word spellings and use of words quite well. But doesn’t produce very meaningful sentences. Just tried for fun, inspired by reading Andrej Karpathy’s blog “The Unreasonable Effectiveness of Recurrent Neural Networks”....
Sun, 01 Mar 2020 00:00:00 +0000
https://mr-easy.github.io/2020-03-01-charLSTM/
https://mr-easy.github.io/2020-03-01-charLSTM/Burrows-Wheeler Alignment Part 2
In part 1 of this tutorial we looked at how we can solve the read alignment problem using Burrows-Wheeler transform. In this post, we will continue exploring this algorithm and see how we can do read alignment with mismatches allowed. The read alignment problem is: You are given millions of...
Sat, 21 Dec 2019 00:00:00 +0000
https://mr-easy.github.io/2019-12-21-burrows-wheeler-alignment-part-2/
https://mr-easy.github.io/2019-12-21-burrows-wheeler-alignment-part-2/Burrows-Wheeler Alignment Part 1
Consider the following problem of read alignment. You are given millions of small pieces of DNA sequence, called reads and one large DNA sequence called the reference sequence (DNA sequences contain only 4 letters A, C, G, T representing the four bases). You have to find how many of those...
Thu, 19 Dec 2019 00:00:00 +0000
https://mr-easy.github.io/2019-12-19-burrows-wheeler-alignment-part-1/
https://mr-easy.github.io/2019-12-19-burrows-wheeler-alignment-part-1/Burrows-Wheeler Transform
Burrows-Wheeler transform (or, BWT) is a block compression algorithm and is used in programs like bzip. The output of the algorithm is a string which contains chunks of same characters which can be easily stored in a compact form. The compression is lossless, that is, we can get back the...
Thu, 12 Dec 2019 00:00:00 +0000
https://mr-easy.github.io/2019-12-12-burrows-wheeler-transform/
https://mr-easy.github.io/2019-12-12-burrows-wheeler-transform/Badminton Stroke Classification
This was a part of the Data Analytics course at IISc. In this project our goal was to create model that can classifiy the type of badminton stroke (5 classes). The data was time series sensor data of accelerometer and gyroscope sensors collected by ourselves using a device attached to...
Fri, 01 Nov 2019 00:00:00 +0000
https://mr-easy.github.io/2019-11-01-Badminton-stroke-classification/
https://mr-easy.github.io/2019-11-01-Badminton-stroke-classification/Node embeddings
MACHINE LEARNING COURSE PROJECT:
Explored different methods for embedding graph nodes like deepwalk, node2vec, etc. Performed various experiments like link prediction and label classification on real world datasets.
Thu, 02 May 2019 00:00:00 +0000
https://mr-easy.github.io/2019-05-02-Node-embeddings/
https://mr-easy.github.io/2019-05-02-Node-embeddings/Topological Data Analysis on Dynamic graphs
Course project for Computational Geometry and Topology. Worked on TDA on time-varying graphs. Extracting persistence diagrams of each snapshot and comparing their paiwise Bottleneck/Wasserstein distances. Obtained a timeline plotting first dimension of classical MDS against time. This gave us the insight of the variations in the data over time. Also...
Wed, 01 May 2019 00:00:00 +0000
https://mr-easy.github.io/2019-05-01-Topological-Data-Analysis-on-Dynamic-graphs/
https://mr-easy.github.io/2019-05-01-Topological-Data-Analysis-on-Dynamic-graphs/1D Landscape Profile
This was the Graphics and Visualization course project, which I took in my first semester of MTech at IISc, Bangalore. The aim was to construct a landscape profile for a given input augmented join tree. The join tree could have been extracted from 3D scalar field volume, 2D scalar field...
Sat, 01 Dec 2018 00:00:00 +0000
https://mr-easy.github.io/2018-12-01-1D-Landscape-Profile/
https://mr-easy.github.io/2018-12-01-1D-Landscape-Profile/Programming Gale-Shapley Algorithm in C++
We will be writing program for Gale-Shapley Algorithm in C++. This algorithm is used to solve the Stable Marriage Problem. You can get the problem on SPOJ, or on codechef. You can understand the algorithm from Gale-Shapley’s paper: College Admissions and the Stability of Marriage The Algorithm The algorithm is...
Sun, 19 Aug 2018 00:00:00 +0000
https://mr-easy.github.io/2018-08-19-programming-gale-shapley-algorithm-in-cpp/
https://mr-easy.github.io/2018-08-19-programming-gale-shapley-algorithm-in-cpp/Feature selection using Genetic Algorithm
[BTech Final year project] The objective of the project was to reduce the number of features in a machine learning data set using the genetic algorithm as the optimization technique. Selecting the suitable features while keeping the accuracy of the classifier as high as possible.
Mon, 01 Jan 2018 00:00:00 +0000
https://mr-easy.github.io/2018-01-01-feature-selection-using-genetic-algorithm/
https://mr-easy.github.io/2018-01-01-feature-selection-using-genetic-algorithm/Space Rangers
Space Rangers is a 3D WebGL game that I developed during my internship at IIT Bombay. This game inspires user to answer maths questions as quickly as possible, in order to win the race. The questions are fetched from a JSON file which can be changed to have your own...
Sat, 01 Jul 2017 00:00:00 +0000
https://mr-easy.github.io/2017-07-01-space-rangers/
https://mr-easy.github.io/2017-07-01-space-rangers/Pacman Maths Game
This game was developed during the internship at IITB, with the purpose of testing the gamification framework. This game is inspired by the classic Pac-Man game. The player is given a maths problem and 5 seconds time to solve that question. After the time ends, the player has to control...
Sat, 01 Jul 2017 00:00:00 +0000
https://mr-easy.github.io/2017-07-01-pacman-maths-game/
https://mr-easy.github.io/2017-07-01-pacman-maths-game/Creating Spritesheet Animation in HTML5 canvas using Javascript
In this article, I am going to tell you how to create spritesheet animations in HTML5 canvas using javascript. You can use these for creating animations in your HTML5 game. I will be using javascript(as the title says), but you can use this concept in other canvas, like canvas in...
Mon, 26 Jun 2017 00:00:00 +0000
https://mr-easy.github.io/2017-06-26-creating-spritesheet-animation-in-html5-canvas-using-javascript/
https://mr-easy.github.io/2017-06-26-creating-spritesheet-animation-in-html5-canvas-using-javascript/Space Drift
Space Drift is an Android Game which I developed during my 5th semester of college. This game is a simple one tap infinite game, in which user have to tap the screen to change the direction of the spaceship. The spaceship always keeps rotating in either left or right. You...
Wed, 01 Feb 2017 00:00:00 +0000
https://mr-easy.github.io/2017-02-01-space-drift/
https://mr-easy.github.io/2017-02-01-space-drift/