For the past few weeks (in addition to the school grind), I’ve been improving my Java Machine Learning library. After a few weeks of learning from online blog posts and papers, I have completed an overhaul of the existing code and I’ve added support for convolutional layers and GRU recurrent layers.
Around 2-3 weeks ago, I decided to create my own programming language and to write an interpreter for it in Java. Now, after fixing many bugs, the interpreter and the language documentation is finally finished. The whole project, called reCall, is available here, on GitHub. The whole experience was very interesting because I looked at many other programming language (even esoteric ones) and examined their syntax. Continue reading “Java Interpreter for reCall, a Programming Language”
This uses my neural network Java library that can be found here. The trained weights can also be found in the GitHub repository. Continue reading “Handwriting Recognition With MNIST Data in Java”
My Java machine learning library is now on GitHub. It contains a basic neural network that can be trained using backpropagation and gradient descent (Adam, Adagrad, or SGD). Continue reading “My Java Machine Learning Library and Other Source Codes are Now on GitHub!”
Levenshtein distance is a metric for the distance between two strings. It is defined by three different types of edits: substitution, insertion, and deletion. The Levenshtein distance between two strings is the minimum number of edits to get from one string to the other. Continue reading “Using Dynamic Programming to Calculate Levenshtein Distance in Java”
That’s my new project.
Over the summer, I’ve been working on a bioinformatics tool for my internship. It does preprocessing for the genotyping by sequencing (GBS) pipeline and parses .fastq files so that the processed sequences can later be aligned or base called or analyzed.