Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Practical Multi-Armed Bandit Algorithms in Python
Rating: 4.6 out of 5(164 ratings)
988 students

Practical Multi-Armed Bandit Algorithms in Python

Acquire skills to build digital AI agents capable of adaptively making critical business decisions under uncertainties.
Created byEdward Pie
Last updated 2/2022
English

What you'll learn

  • Understanding and being able to identify Multi-Armed Bandit problems.
  • Modelling real business problems as MAB and implementing digital AI agents to automate them.
  • Understanding the challenge of RL regarding the exploration-exploitation dilema.
  • Practical implementation of the various algorithmic strategies for balancing between exploration and exploitation.
  • Python implementation of the Epsilon-greedy strategy.
  • Python implementation of the Softmax Exploration strategy.
  • Python implementation of the Optimistic Initialization strategy.
  • Python implementation of the Upper Confidence Bounds (UCB) strategy.
  • Understand the challenges of RL in terms of the design of reward functions and sample efficiency.
  • Estimation of action values through incremental sampling.

Course content

2 sections23 lectures5h 28m total length
  • Introduction to Reinforcement Learning & Multi-Armed Bandit Problems22:30
  • Multi-Armed Bandit Problems
  • Implementing Simulated MAB Environments in Python28:35
  • Estimating Action Values Through Sampling10:56
  • Implementing Incremental Average In Code12:30
  • Implementing Incremental Average For Non-Stationary Bandits10:08
  • Building A Baseline Agent That Behaves Randomly35:55
  • Why Are The Results Not Repeatable?3:54
  • Using Incremental Average To Estimate Action Values
  • Implementing And Analysing A Greedy Agent15:36
  • Balancing Exploration & Exploitation With Epsilon Greedy Agents19:55
  • Controlling Exploration With A Decay13:35
  • Exploring Intelligently With Softmax Exploration22:30
  • Being Optimistic Under Uncertainties11:55
  • Realistic Optimism Under Uncertainties17:31
  • Strategies For Balancing Exploration & Exploitation

Requirements

  • Be able to understand basic OOP programs in Python.
  • Have basic Numpy and Matplotlib knowledge.
  • Basic algebra skills. If you know how to add, subtract, multiply, and divide numbers, you are good to go.

Description

This course is your perfect entry point into the exciting field of Reinforcement Learning where digital Artificial Intelligence agents are built to automatically learn how to make sequential decisions through trial-and-error. Specifically, this course focuses on the Multi-Armed Bandit problems and the practical hands-on implementation of various algorithmic strategies for balancing between exploration and exploitation. Whenever you desire to consistently make the best choice out of a limited number of options over time, you are dealing with a Multi-Armed Bandit problem and this course teaches you every detail you need to know to be able to build realistic business agents to handle such situations.

With very concise explanations, this course teaches you how to confidently translate seemingly scary mathematical formulas into Python code painlessly. We understand that not many of us are technically adept in the subject of mathematics so this course intentionally stays away from maths unless it is necessary. And even when it becomes necessary to talk about mathematics, the approach taken in this course is such that anyone with basic algebra skills can understand and most importantly easily translate the maths into code and build useful intuitions in the process.

Some of the algorithmic strategies taught in this course are Epsilon Greedy, Softmax Exploration, Optimistic Initialization, Upper Confidence Bounds, and Thompson Sampling. With these tools under your belt, you are adequately equipped to readily build and deploy AI agents that can handle critical business operations under uncertainties.

To bridge the gap between theory and application, I've updated this course to include a section where I show how to apply the MAB algorithms in Robotics using the EV3 Mindstorm. I'll soon upload a section that will show how to apply the algorithms taught in this course to optimize advertisements.

Who this course is for:

  • Anyone with a basic Python skills desiring to the started in Reinforcement Learning.
  • Experienced AI Engineers, ML Engineers, Data Scientist, and Software Engineers wanting to apply Reinforcement Learning to real business problems.
  • Business professionals willing to learn how Reinforcement Learning can help with automating adaptive decision making processes.