
This lecture explains the educator's teaching philosophy. It avoids handing full code to force active learning, encourages typing and testing code yourself, and uses live coding to build true understanding.
Compare model-based and model-free reinforcement learning, focusing on transition and reward models, planning, and trial-and-error learning. Examine state and action spaces, their dynamics, and the Bernoulli objective guiding optimal policies.
Explore policy classes in reinforcement learning, compare classical methods, and outline how essential approaches shape policy selection within these frameworks.
Explore essential math symbols used in reinforcement learning and their role in classical methods, building a foundation for understanding algorithms and theory.
Explore functions and basic functional programming in Python, including def, lambdas, map, filter, and reduce. Learn how to write reusable, modular code with parameters, return values, and default parameters.
Explore intermediate functions, including recursion and tailored recursion, currying, partial functions, closures, decorators, and generators, to build modular, efficient, and reusable Python code.
Explore Python dictionaries as key-value data structures with unique immutable keys, safe access via square brackets or the get method, and powerful operations like adding, removing, and dictionary comprehensions.
Master exception handling in Python with try, accept, and finally; catch zero division and file not found errors, use else and bareExcept carefully, and design custom exceptions for input validation.
Master advanced list operations in Python, including list comprehensions with conditions and nested loops, and apply transforms like upper(). Use enumerate and zip to index, pair, and combine data efficiently.
Explore Thompson sampling, a Bayesian approach to reinforcement learning and multi-armed bandits that balances exploration and exploitation by sampling from beta distributions and updating priors with new rewards.
Analyze a policy matrix from a Markov decision process that maps time periods and demand states to optimal price levels, revealing low-price emphasis and fluctuating strategies.
Develop a dynamic programming solution for the multidimensional knapsack problem to maximize the value of products loaded on each track under weight and volume constraints.
Compute state values under a given policy with the iterative policy evaluation algorithm. Initialize v to zero and update via transitions, rewards, and gamma until convergence.
Explore blackjack as a reinforcement learning example, where an agent uses q-learning to decide when to hit or stand based on the total, dealer card, and ace.
This course focuses on the foundational concepts of reinforcement learning. Instead of diving into complex neural network-based models, we stick to the mathematical and logical basics that are used across most reinforcement learning algorithms. If you're new to the subject or trying to get a clear understanding of the core principles behind RL, this course is a good starting point.
We begin by explaining what reinforcement learning actually is, and how agents, environments, actions, states, rewards, and policies fit into the picture. Then we cover Thompson Sampling and Upper Confidence Bound—two useful strategies for learning under uncertainty.
A large part of the course is dedicated to Markov Decision Processes (MDPs), which provide the structure for many RL problems. You’ll learn the components of an MDP, see how value functions are computed, and work through them using Python.
We also look at dynamic programming methods, including policy evaluation and value iteration, and how they are implemented step-by-step. Then we move to model-free approaches like Monte Carlo, SARSA, and Q-learning. All of these are explained with hands-on coding examples using environments like Blackjack, Taxi, Frozen Lake, and Cliff Walking.
This course is suitable for anyone who wants a clearer understanding of how RL works under the hood. Basic Python is helpful, but you don’t need any machine learning background to follow along.