Skip to main content
5 of 6
added 156 characters in body
mugoh
  • 539
  • 4
  • 21

Simple suggestion: Tabular Q-Learning

Why?

Let's say we interpret MNIST's label as a Hello World of Supervised Learning to mean something showing the basic "syntax" of a Supervised Learning algorithm: Create a model, load the data, then train.

If that interpretation is not far off, we can say the basic "syntax" of Reinforcement Learning (RL) would focus on showing a working Markov Decision Process (MDP) which is the backbone of the RL decision making process. As such, this minimal working syntax would involve: Observing the world, selecting an action, as shown in this loop:

Simple MDP

This picture is missing two important steps in an RL algorithm learning loop:

  1. Estimating the rewards or Fitting the model
  2. Improving how you select actions. (Updating your policy)

How we decide to update the policy, or fit the model is what makes difference in the RL algorithm most of the time.

So a simple hello world RL algorithm would be one that helps you see the MDP in action, while keeping steps 1 and 2 simple enough so that you understand how the agent learns. Tabular Q-Learning seems simple enough for this because it uses a Q-table represented as a 2D array to do the two steps.

You will be unable to use it anywhere else than in a toy environment though, typically Frozen-Lake and CartPole. An improvement would be using a neural network instead of a table to estimate Q values.

Here are a few useful resources:

  1. Q-Learning with Tables (Guide)
  2. Q-learning jupyter notebook (Code ~25 lines)
  3. Q-Learning with Frozen-Lake and Taxi (Code)
  4. Reinforcement Learning with Q-Learning (Guide)

A multi-armed bandit would also be great in introducing you to exploration-exploitation trade-off (which Q-learning does too), though it wouldn't be considered a full RL algorithm since it has no context.

mugoh
  • 539
  • 4
  • 21