Recurrent Neural Networks (RNNs) are gaining a lot of attention in recent years because it has shown great promise in many natural language processing tasks.
Build an AI Programmer using Recurrent Neural Network (2)
Recurrent Neural Networks (RNNs) are gaining a lot of attention in recent years because it has shown great promise in many natural language processing tasks.
Build an AI Programmer using Recurrent Neural Network (1)
Recurrent Neural Networks (RNNs) are gaining a lot of attention in recent years because it has shown great promise in many natural language processing tasks.
Automatically detecting server downtime using Linux cron job
If you run a website, you may have experienced some down time. Occasionally, the web server can go down. It would be great if we can get an email when the server is down.
Different Types of Recurrent Neural Network Structures
The following table summarizes the different recurrent neural network structures and the problems they are good at solving. The structure diagrams are pretty intuitive for understanding what kind of network structure is good for your problem.
How to select the right tool for deep learning?
For deep learning beginners, choosing the right tool can help learning. There are many different tools available and it is confusing to select one at the beginning. The following diagram shows the popular tools.
Set up development environment for deep learning
Deep learning has gained a lot of attention because it is particularly good at some type of learning which is very useful for real-world applications. Running some simple examples is a good way to start learning this technique. Setting up a development environment is the first step.
Java Exception Handling Examples in Open Source Projects
In “Effective Java“, Joshua Bloch wrote 9 tips about how to handle exceptions in Java. These tips have become the de facto standard for Java exception handling. In this post, I list some examples of Java exception handling in some open source projects and comment the usage by following the 9 tips of exception handling.
LeetCode – Minimum Area Rectangle (Java)
Given a set of points in the x and y axes, determine the minimum area of a rectangle formed from these points, with sides parallel to the x and y axes.
Compile Async-Await to Generators and Promises
Async/Await is introduced in ES2017. In order to let ES2017 code run in very old browsers/platforms, ES2017 code need to be transpiled/compiled to earlier versions. Async/await need to be transpiled to older-version JavaScript code. In this post, I will list three ways to do the same thing: 1) async/await [ES2017+], 2) generator function + promise … Read more
LeetCode – Russian Doll Envelopes (Java)
You have a number of envelopes with widths and heights given as a pair of integers (w, h). One envelope can fit into another if and only if both the width and height of one envelope is greater than the width and height of the other envelope.
Maximum Sum of Subarray Close to K
Given an array, find the maximum sum of subarray close to k but not larger than k.
Design a Data Structure with Insert, Delete and GetMostFrequent of O(1)
Design a data structure that allows O(1) time complexity to insert, delete and get most frequent element.
LeetCode – Kth Smallest Element in a Sorted Matrix (Java)
Given a n x n matrix where each of the rows and columns are sorted in ascending order, find the kth smallest element in the matrix.
Note that it is the kth smallest element in the sorted order, not the kth distinct element.
Neural Network Backpropagation Derivation
I have spent a few days hand-rolling neural networks such as CNN and RNN. This post shows my notes of neural network backpropagation derivation. The derivation of Backpropagation is one of the most complicated algorithms in machine learning. There are many resources for understanding how to compute gradients using backpropagation. But in my opinion, most of them lack a simple example to demonstrate the problem and walk through the algorithm.