# Automatic basis function construction

In machine learning, automatic basis function construction, also known as basis discovery, is a technique that finds a set of general-purpose (task-independent) basis functions to simplify complex data (state space) into a smaller, manageable form (lower-dimensional embedding) while accurately capturing the value function. Unlike methods relying on expert-designed functions, this approach works without prior knowledge of the specific problem area (domain), making it effective in situations where creating tailored basis functions is challenging or impractical.

## Motivation

In reinforcement learning (RL), many real-world problems modeled as Markov Decision Processes (MDPs) involve large or continuous state spaces—sets of all possible situations an agent might encounter—which are too complex to handle directly and often need approximation for efficient computation.
Linear function approximators (LFAs), valued for their simplicity and low computational demands, are a common solution. Using LFAs effectively requires addressing two challenges: optimizing weights (adjusting importance of features) and building basis functions (creating simplified representations). While specially designed basis functions can excel in specific tasks, they are limited to those particular areas (domains). Automatic basis function construction offers a more flexible approach, enabling broader use across diverse problems without relying on task-specific expertise.

## Problem definition

A Markov decision process with finite state space and fixed policy is defined with a 5-tuple ${s,a,p,\gamma ,r}$, which includes the finite state space $S={1,2,\ldots ,s}$, the finite action space $A$, the reward function $r$, discount factor $\gamma \in [0,1)$, and the transition model $P$.
Bellman equation is defined as:
    $v=r+\gamma Pv.\,$
When the number of elements in $S$ is small, $v$ is usually maintained as tabular form. While $S$ grows too large for this kind of representation. $v$ is commonly being approximated via a linear combination of basis function $\Phi ={\phi _{1},\phi _{2},\ldots ,\phi _{n}}$, so that we have:
    $v\approx {\hat {v}}=\sum _{i=1}^{n}\theta _{n}\phi _{n}$
Here $\Phi$ is a $|S|\times n$ matrix in which every row contains a feature vector for corresponding row, $\theta$ is a weight vector with n parameters and usually $n\ll |s|$.
Basis construction looks for ways to automatically construct better basis function $\Phi$ which can represent the value function well.
A good construction method should have the following characteristics:
* Small error bounds between the estimate and real value function
* Form orthogonal basis in the value function space
* Converge to stationary value function fast

## Popular methods
### Proto-value basis

In this approach, Mahadevan analyzes the connectivity graph between states to determine a set of basis functions.
The normalized graph Laplacian is defined as:
    $L=I-D^{-{\frac {1}{2}}}WD^{-{\frac {1}{2}}}$
Here W is an adjacency matrix which represents the states of fixed policy MDP which forms an undirected graph (N,E). D is a diagonal matrix related to nodes' degrees.
In discrete state space, the adjacency matrix $W$ could be constructed by simply checking whether two states are connected, and D could be calculated by summing up every row of W. In continuous state space, we could take random walk Laplacian of W.
This spectral framework can be used for value function approximation (VFA). Given the fixed policy, the edge weights are determined by corresponding states' transition probability. To get smooth value approximation, diffusion wavelets are used.

### Krylov basis

Krylov basis construction uses the actual transition matrix instead of random walk Laplacian. The assumption of this method is that transition model P and reward r are available.
The vectors in Neumann series are denoted as $y_{i}=P^{i}r$ for all $i\in [0,infty)$.
It shows that Krylov space spanned by $y_{0},y_{1},\ldots ,y_{m-1}$ is enough to represent any value function, and m is the degree of minimal polynomial of $(I-\gamma P)$.
Suppose the minimal polynomial is $p(A)={\frac {1}{\alpha _{0}}}\sum _{i=0}^{m-1}\alpha _{i+1}A^{i}$, and we have $BA=I$, the value function can be written as:
    $v=Br={\frac {1}{\alpha _{0}}}\sum _{i=0}^{m-1}\alpha _{i+1}(I-\gamma P)^{i}r=\sum _{i=0}^{m-1}\alpha _{i+1}\beta _{i}y_{i}.$
    Algorithm Augmented Krylov Method
    $z_{1},z_{2},\ldots ,z_{k}$ are top real eigenvectors of P
    $z_{k+1}:=r$
    for $i:=1:(l+k)$ do
       if $i>k+1$ then
          $z_{i}:=Pz_{i-1}$;
       end if
       for $j:=1:(i-1)$ do
          $z_{i}:=z_{i}-<z_{j},z_{i}>z_{j};$
       end for
       if $\parallel z_{i}\parallel \approx 0$ then
          break;
       end if
    end for
   * k: number of eigenvectors in basis
   * l: total number of vectors

### Bellman error basis

Bellman error (or BEBFs) is defined as: $\varepsilon =r+\gamma P{\hat {v}}-{\hat {v}}=r+\gamma P\Phi \theta -\Phi \theta$.
Loosely speaking, Bellman error points towards the optimal value function. The sequence of BEBF form a basis space which is orthogonal to the real value function space; thus with sufficient number of BEBFs, any value function can be represented exactly.
    Algorithm BEBF
    stage stage i=1, $\phi _{1}=r$;
    stage $i\in [2,N]$
       compute the weight vector $\theta _{i}$ according to current basis function $\Phi _{i}$;
       compute new bellman error by $\varepsilon =r+\gamma P\Phi _{i}\theta _{i}-\Phi _{i}\theta _{i}$;
       add bellman error to form new basis function: $\Phi _{i+1}=[\Phi _{i}:\varepsilon ]$;
   * N represents the number of iterations till convergence.
   * ":" means juxtaposing matrices or vectors.

### Bellman average reward bases

Bellman Average Reward Bases (or BARBs) is similar to Krylov Bases, but the reward function is being dilated by the average adjusted transition matrix $P-P^{*}$. Here $P^{*}$ can be calculated by many methods in.
BARBs converges faster than BEBFs and Krylov when $\gamma$ is close to 1.
    Algorithm BARBs
    stage stage i=1, $P^{*}r$;
    stage $i\in [2,N]$
       compute the weight vector $\theta _{i}$ according to current basis function $\Phi _{i}$;
       compute new basis: $:\phi _{i+1}=r-P^{*}r+P\Phi _{i}\theta _{i}-\Phi _{i}\theta _{i}$, and add it to form new bases matrix$\Phi _{i+1}=[\Phi _{i}:\phi _{i+1}]$;
   * N represents the number of iterations till convergence.
   * ":" means juxtaposing matrices or vectors.

## Discussion and analysis

There are two principal types of basis construction methods.
The first type of methods are reward-sensitive, like Krylov and BEBFs; they dilate the reward function geometrically through transition matrix. However, when discount factor $\gamma$ approaches to 1, Krylov and BEBFs converge slowly. This is because the error Krylov based methods are restricted by Chebyshev polynomial bound. To solve this problem, methods such as BARBs are proposed. BARBs is an incremental variant of Drazin bases, and converges faster than Krylov and BEBFs when $\gamma$ becomes large.
Another type is reward-insensitive proto value basis function derived from graph Lapalacian. This method uses graph information, but the construction of adjacency matrix makes this method hard to analyze.