Book Image

Hands-On Q-Learning with Python

By : Nazia Habib
Book Image

Hands-On Q-Learning with Python

By: Nazia Habib

Overview of this book

Q-learning is a machine learning algorithm used to solve optimization problems in artificial intelligence (AI). It is one of the most popular fields of study among AI researchers. This book starts off by introducing you to reinforcement learning and Q-learning, in addition to helping you become familiar with OpenAI Gym as well as libraries such as Keras and TensorFlow. A few chapters into the book, you will gain insights into model-free Q-learning and use deep Q-networks and double deep Q-networks to solve complex problems. This book will guide you in exploring use cases such as self-driving vehicles and OpenAI Gym’s CartPole problem. You will also learn how to tune and optimize Q-networks and their hyperparameters. As you progress, you will understand the reinforcement learning approach to solving real-world problems. You will also explore how to use Q-learning and related algorithms in scientific research. Toward the end, you’ll gain insight into what’s in store for reinforcement learning. By the end of this book, you will be equipped with the skills you need to solve reinforcement learning problems using Q-learning algorithms with OpenAI Gym, Keras, and TensorFlow.
Table of Contents (14 chapters)
Free Chapter
1
Section 1: Q-Learning: A Roadmap
6
Section 2: Building and Optimizing Q-Learning Agents
9
Section 3: Advanced Q-Learning Challenges with Keras, TensorFlow, and OpenAI Gym

Chapter 4, Teaching a Smartcab to Drive Using Q-Learning

  1. The term state is commonly used in the terminology of solving Markov decision processes, and it refers to the same entity as an observation in RL spaces. When describing MDPs specifically, it is consistent with the existing terminology to use the word state.
  2. We know the Q-function has converged when updates to the Q-table no longer change its values.
  3. The Q-table remains at its current values when the Q-function has converged.
  4. When the Q-function has converged, meaning updates to the Q-table no longer cause its values to change, we know that the agent has found the optimal path to the goal.
  1. The function numpy.argmax() returns the index of the maximum element in an array.
  2. The function numpy.max() returns the value of the maximum element in an array.
  3. The randomly-acting agent cannot learn from its actions. The Q-learning...