Skip to main content
3 of 6
added 193 characters in body
mugoh
  • 539
  • 4
  • 21

Simple suggestion: Tabular Q-Learning

Why?

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

If that interpration 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.

Here is are a few useful resources:

  1. Q-Learning with Tables (Guide)
  2. Q-learning jupyter notebook (25lines Code)
  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, though it wouldn't be considered a full RL algorithm since it has no context.

mugoh
  • 539
  • 4
  • 21