Machine learning and data mining 

Problems

Supervised learning (classification • regression)

Clustering

Dimensionality reduction

Structured prediction

Anomaly detection

Neural nets

Reinforcement Learning

Theory

Machine learning venues


Reinforcement learning is an area of machine learning inspired by behaviorist psychology, concerned with how software agents ought to take actions in an environment so as to maximize some notion of cumulative reward. The problem, due to its generality, is studied in many other disciplines, such as game theory, control theory, operations research, information theory, simulationbased optimization, multiagent systems, swarm intelligence, statistics, and genetic algorithms. In the operations research and control literature, the field where reinforcement learning methods are studied is called approximate dynamic programming. The problem has been studied in the theory of optimal control, though most studies are concerned with the existence of optimal solutions and their characterization, and not with the learning or approximation aspects. In economics and game theory, reinforcement learning may be used to explain how equilibrium may arise under bounded rationality.
In machine learning, the environment is typically formulated as a Markov decision process (MDP) as many reinforcement learning algorithms for this context utilize dynamic programming techniques. The main difference between the classical techniques and reinforcement learning algorithms is that the latter do not need knowledge about the MDP and they target large MDPs where exact methods become infeasible.
Reinforcement learning differs from standard supervised learning in that correct input/output pairs are never presented, nor suboptimal actions explicitly corrected. Further, there is a focus on online performance, which involves finding a balance between exploration (of uncharted territory) and exploitation (of current knowledge). The exploration vs. exploitation tradeoff in reinforcement learning has been most thoroughly studied through the multiarmed bandit problem and in finite MDPs.
Introduction
The basic reinforcement learning model consists of:
 a set of environment and agent states
 a set of actions
 policies of transitioning from states to actions;
 rules that determine the scalar immediate reward of a transition; and
 rules that describe what the agent observes.
The rules are often stochastic. The observation typically involves the scalar immediate reward associated with the last transition. In many works, the agent is also assumed to observe the current environmental state, in which case we talk about full observability, whereas in the opposing case we talk about partial observability. Sometimes the set of actions available to the agent is restricted (e.g., you cannot spend more money than what you possess).
A reinforcement learning agent interacts with its environment in discrete time steps. At each time
$$, the agent receives an observation
$$, which typically includes the reward
$$. It then chooses an action
$$from the set of actions available, which is subsequently sent to the environment. The environment moves to a new state
$$and the reward
$$associated with the transition
$$is determined. The goal of a reinforcement learning agent is to collect as much reward as possible. The agent can choose any action as a function of the history and it can even randomize its action selection.
When the agent’s performance is compared to that of an agent which acts optimally from the beginning, the difference in performance gives rise to the notion of regret. Note that in order to act near optimally, the agent must reason about the long term consequences of its actions: In order to maximize my future income I had better go to school now, although the immediate monetary reward associated with this might be negative.
Thus, reinforcement learning is particularly wellsuited to problems which include a longterm versus shortterm reward tradeoff. It has been applied successfully to various problems, including robot control, elevator scheduling, telecommunications, backgammon, checkers (Sutton & Barto 1998, Chapter 11) and go (AlphaGo).
Two components make reinforcement learning powerful: The use of samples to optimize performance and the use of function approximation to deal with large environments. Thanks to these two key components, reinforcement learning can be used in large environments in any of the following situations:
 A model of the environment is known, but an analytic solution is not available;
 Only a simulation model of the environment is given (the subject of simulationbased optimization);
 The only way to collect information about the environment is by interacting with it.
The first two of these problems could be considered planning problems (since some form of the model is available), while the last one could be considered as a genuine learning problem. However, under a reinforcement learning methodology both planning problems would be converted to machine learning problems.
Exploration
The reinforcement learning problem as described requires clever exploration mechanisms. Randomly selecting actions, without reference to an estimated probability distribution, is known to give rise to very poor performance. The case of (small) finite MDPs is relatively well understood by now. However, due to the lack of algorithms that would provably scale well with the number of states (or scale to problems with infinite state spaces), in practice people resort to simple exploration methods. One such method is
$$greedy, when the agent chooses the action that it believes has the best longterm effect with probability
$$, and it chooses an action uniformly at random, otherwise. Here,
$$is a tuning parameter, which is sometimes changed, either according to a fixed schedule (making the agent explore less as time goes by), or adaptively based on some heuristics.
Algorithms for control learning
Even if the issue of exploration is disregarded and even if the state was observable (which we assume from now on), the problem remains to find out which actions are good based on past experience.
Criterion of optimality
For simplicity, assume for a moment that the problem studied is episodic, an episode ending when some terminal state is reached. Assume further that no matter what course of actions the agent takes, termination is inevitable. Under some mild regularity conditions the expectation of the total reward is then welldefined, for any policy and any initial distribution over the states. Here, a policy refers to a mapping that assigns some probability distribution over the actions to all possible histories.
Given a fixed initial distribution
$$, we can thus assign the expected return
$$to policy
$$:
where the random variable
$$denotes the return and is defined by
where
$$is the reward received after the
$$th transition, the initial state is sampled at random from
$$and actions are selected by policy
$$. Here,
$$denotes the (random) time when a terminal state is reached, i.e., the time when the episode terminates.
In the case of nonepisodic problems the return is often discounted,
giving rise to the total expected discounted reward criterion. Here
$$is the socalled discountfactor. Since the undiscounted return is a special case of the discounted return, from now on we will assume discounting. Although this looks innocent enough, discounting is in fact problematic if one cares about online performance. This is because discounting makes the initial time steps more important. Since a learning agent is likely to make mistakes during the first few steps after its “life” starts, no uninformed learning algorithm can achieve nearoptimal performance under discounting even if the class of environments is restricted to that of finite MDPs. (This does not mean though that, given enough time, a learning agent cannot figure how to act nearoptimally, if time was restarted.)
The problem then is to specify an algorithm that can be used to find a policy with maximum expected return. From the theory of MDPs it is known that, without loss of generality, the search can be restricted to the set of the socalled stationary policies. A policy is called stationary if the actiondistribution returned by it depends only on the last state visited (which is part of the observation history of the agent, by our simplifying assumption). In fact, the search can be further restricted to deterministic stationary policies. A deterministic stationary policy is one which deterministically selects actions based on the current state. Since any such policy can be identified with a mapping from the set of states to the set of actions, these policies can be identified with such mappings with no loss of generality.
Brute force
The brute force approach entails the following two steps:
 For each possible policy, sample returns while following it
 Choose the policy with the largest expected return
One problem with this is that the number of policies can be extremely large, or even infinite. Another is that variance of the returns might be large, in which case a large number of samples will be required to accurately estimate the return of each policy.
These problems can be ameliorated if we assume some structure and perhaps allow samples generated from one policy to influence the estimates made for another. The two main approaches for achieving this are value function estimation and direct policy search.
Value function approaches
Value function approaches attempt to find a policy that maximizes the return by maintaining a set of estimates of expected returns for some policy (usually either the “current” (onpolicy) or the optimal (offpolicy) one).
These methods rely on the theory of MDPs, where optimality is defined in a sense which is stronger than the above one: A policy is called optimal if it achieves the best expected return from any initial state (i.e., initial distributions play no role in this definition). Again, one can always find an optimal policy amongst stationary policies.
To define optimality in a formal manner, define the value of a policy
$$by
where
$$stands for the random return associated with following
$$from the initial state
$$. Define
$$as the maximum possible value of
$$, where
$$is allowed to change:
A policy which achieves these optimal values in each state is called optimal. Clearly, a policy that is optimal in this strong sense is also optimal in the sense that it maximizes the expected return
$$, since
$$, where
$$is a state randomly sampled from the distribution
$$.
Although statevalues suffice to define optimality, it will prove to be useful to define actionvalues. Given a state
$$, an action
$$and a policy
$$, the actionvalue of the pair
$$under
$$is defined by
where, now,
$$stands for the random return associated with first taking action
$$in state
$$and following
$$, thereafter.
It is wellknown from the theory of MDPs that if someone gives us
$$for an optimal policy, we can always choose optimal actions (and thus act optimally) by simply choosing the action with the highest value at each state. The actionvalue function of such an optimal policy is called the optimal actionvalue function and is denoted by
$$. In summary, the knowledge of the optimal actionvalue function alone suffices to know how to act optimally.
Assuming full knowledge of the MDP, there are two basic approaches to compute the optimal actionvalue function, value iteration and policy iteration. Both algorithms compute a sequence of functions
$$(
$$) which converge to
$$. Computing these functions involves computing expectations over the whole statespace, which is impractical for all, but the smallest (finite) MDPs, never mind the case when the MDP is unknown. In reinforcement learning methods the expectations are approximated by averaging over samples and one uses function approximation techniques to cope with the need to represent value functions over large stateaction spaces.
Monte Carlo methods
The simplest Monte Carlo methods can be used in an algorithm that mimics policy iteration. Policy iteration consists of two steps: policy evaluation and policy improvement.
The Monte Carlo methods are used in the policy evaluation step. In this step, given a stationary, deterministic policy
$$, the goal is to compute the function values
$$(or a good approximation to them) for all stateaction pairs
$$. Assume (for simplicity) that the MDP is finite and in fact a table representing the actionvalues fits into the memory. Further, assume that the problem is episodic and after each episode a new one starts from some random initial state. Then, the estimate of the value of a given stateaction pair
$$can be computed by simply averaging the sampled returns which originated from
$$over time. Given enough time, this procedure can thus construct a precise estimate
$$of the actionvalue function
$$. This finishes the description of the policy evaluation step.
In the policy improvement step, as it is done in the standard policy iteration algorithm, the next policy is obtained by computing a greedy policy with respect to
$$: Given a state
$$, this new policy returns an action that maximizes
$$. In practice one often avoids computing and storing the new policy, but uses lazy evaluation to defer the computation of the maximizing actions to when they are actually needed.
A few problems with this procedure are as follows:
 The procedure may waste too much time on evaluating a suboptimal policy;
 It uses samples inefficiently in that a long trajectory is used to improve the estimate only of the single stateaction pair that started the trajectory;
 When the returns along the trajectories have high variance, convergence will be slow;
 It works in episodic problems only;
 It works in small, finite MDPs only.
Temporal difference methods
The first issue is easily corrected by allowing the procedure to change the policy (at all, or at some states) before the values settle. However good this sounds, this may be problematic as this might prevent convergence. Still, most current algorithms implement this idea, giving rise to the class of generalized policy iteration algorithm. We note in passing that actor critic methods belong to this category.
The second issue can be corrected within the algorithm by allowing trajectories to contribute to any stateaction pair in them. This may also help to some extent with the third problem, although a better solution when returns have high variance is to Sutton’s temporal difference (TD) methods which are based on the recursive Bellman equation. Note that the computation in TD methods can be incremental (when after each transition the memory is changed and the transition is thrown away), or batch (when the transitions are collected and then the estimates are computed once based on a large number of transitions). Batch methods, a prime example of which is the leastsquares temporal difference method due to Bradtke & Barto 1996, may use the information in the samples better, whereas incremental methods are the only choice when batch methods become infeasible due to their high computational or memory complexity. In addition, there exist methods that try to unify the advantages of the two approaches. Methods based on temporal differences also overcome the second but last issue.
In order to address the last issue mentioned in the previous section, function approximation methods are used. In linear function approximation one starts with a mapping
$$that assigns a finitedimensional vector to each stateaction pair. Then, the action values of a stateaction pair
$$are obtained by linearly combining the components of
$$with some weights
$$:
The algorithms then adjust the weights, instead of adjusting the values associated with the individual stateaction pairs. However, linear function approximation is not the only choice. More recently, methods based on ideas from nonparametric statistics (which can be seen to construct their own features) have been explored.
So far, the discussion was restricted to how policy iteration can be used as a basis of the designing reinforcement learning algorithms. Equally importantly, value iteration can also be used as a starting point, giving rise to the QLearning algorithm (Watkins 1989) and its many variants.
The problem with methods that use actionvalues is that they may need highly precise estimates of the competing action values, which can be hard to obtain when the returns are noisy. Though this problem is mitigated to some extent by temporal difference methods and if one uses the socalled compatible function approximation method, more work remains to be done to increase generality and efficiency. Another problem specific to temporal difference methods comes from their reliance on the recursive Bellman equation. Most temporal difference methods have a socalled
$$parameter
$$that allows one to continuously interpolate between MonteCarlo methods (which do not rely on the Bellman equations) and the basic temporal difference methods (which rely entirely on the Bellman equations), which can thus be effective in palliating this issue.
Direct policy search
An alternative method to find a good policy is to search directly in (some subset of) the policy space, in which case the problem becomes an instance of stochastic optimization. The two approaches available are gradientbased and gradientfree methods.
Gradientbased methods (giving rise to the socalled policy gradient methods) start with a mapping from a finitedimensional (parameter) space to the space of policies: given the parameter vector
$$, let
$$denote the policy associated to
$$. Define the performance function by
Under mild conditions this function will be differentiable as a function of the parameter vector
$$. If the gradient of
$$was known, one could use gradient ascent. Since an analytic expression for the gradient is not available, one must rely on a noisy estimate. Such an estimate can be constructed in many ways, giving rise to algorithms like Williams’ REINFORCE method (which is also known as the likelihood ratio method in the simulationbased optimization literature). Policy gradient methods have received a lot of attention in the last couple of years (e.g., Peters, Vijayakumar & Schaal 2003), but they remain an active field. An overview of policy search methods in the context of robotics has been given by Deisenroth, Neumann and Peters. The issue with many of these methods is that they may get stuck in local optima (as they are based on local search).
A large class of methods avoids relying on gradient information. These include simulated annealing, crossentropy search or methods of evolutionary computation. Many gradientfree methods can achieve (in theory and in the limit) a global optimum. In a number of cases they have indeed demonstrated remarkable performance.
The issue with policy search methods is that they may converge slowly if the information based on which they act is noisy. For example, this happens when in episodic problems the trajectories are long and the variance of the returns is large. As argued beforehand, valuefunction based methods that rely on temporal differences might help in this case. In recent years, several actorcritic algorithms have been proposed following this idea and were demonstrated to perform well in various problems.
Theory
The theory for small, finite MDPs is quite mature. Both the asymptotic and finitesample behavior of most algorithms is wellunderstood. As mentioned beforehand, algorithms with provably good online performance (addressing the exploration issue) are known.
The theory of large MDPs needs more work. Efficient exploration is largely untouched (except for the case of bandit problems). Although finitetime performance bounds appeared for many algorithms in the recent years, these bounds are expected to be rather loose and thus more work is needed to better understand the relative advantages, as well as the limitations of these algorithms.
For incremental algorithm asymptotic convergence issues have been settled. Recently, new incremental, temporaldifferencebased algorithms have appeared which converge under a much wider set of conditions than was previously possible (for example, when used with arbitrary, smooth function approximation).
Current research
Current research topics include: adaptive methods which work with fewer (or no) parameters under a large number of conditions, addressing the exploration problem in large MDPs, largescale empirical evaluations, learning and acting under partial information (e.g., using Predictive State Representation), modular and hierarchical reinforcement learning, improving existing valuefunction and policy search methods, algorithms that work well with large (or continuous) action spaces, transfer learning, lifelong learning, efficient samplebased planning (e.g., based on MonteCarlo tree search). Multiagent or Distributed Reinforcement Learning is also a topic of interest in current research. There is also a growing interest in real life applications of reinforcement learning. Successes of reinforcement learning are listed here.
Reinforcement learning algorithms such as TD learning are also being investigated as a model for Dopaminebased learning in the brain. In this model, the dopaminergic projections from the substantia nigra to the basal ganglia function as the prediction error. Reinforcement learning has also been used as a part of the model for human skill learning, especially in relation to the interaction between implicit and explicit learning in skill acquisition (the first publication on this application was in 19951996, and there have been many followup studies).
There are multiple applications of reinforcement learning to generate models and train them to play video games, such as Atari games. In these models, reinforcement learning finds the actions with the best reward at each play. This method is a widely used method in combination with deep neural networks to teach computers to play Atari video games.
Implementations
 RLGlue provides a standard interface that allows you to connect agents, environments, and experiment programs together, even if they are written in different languages.
 Maja Machine Learning Framework (MMLF) is a general framework for problems in the domain of Reinforcement Learning (RL) written in Python.
 Software Tools for Reinforcement Learning (Matlab and Python)
 PyBrain (Python)
 RLPy A Python library for Reinforcement Learning.
 TeachingBox is a Java reinforcement learning framework supporting many features like RBF networks, gradient descent learning methods, …
 “C++ and Python implementations] for some well known reinforcement learning algorithms with source”. Archived from the original on 27 October 2015.
 Orange, a free data mining software suite, module orngReinforcement
 Policy Gradient Toolbox provides a package for learning about policy gradient approaches.
 BURLAP is an open source Java library that provides a wide range of single and multiagent learning and planning methods.
Inverse reinforcement learning
In inverse reinforcement learning (IRL), no reward function is given. Instead, one tries to extract the reward function given an observed behavior from an expert. The idea is to mimic the observed behavior which is often optimal or close to optimal .
In apprenticeship learning, one assumes that an expert demonstrating the ideal behavior, and tries to recover the policy directly using the observations from the expert.