From 9aaa09eeda0a62a80131512fecd6d7fd45fbab49 Mon Sep 17 00:00:00 2001 From: Alex Date: Thu, 10 Mar 2022 15:05:00 +0000 Subject: [PATCH 1/2] Add tiling image --- docs/source/Examples/images/tiling_example.png | Bin 0 -> 66448 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/source/Examples/images/tiling_example.png diff --git a/docs/source/Examples/images/tiling_example.png b/docs/source/Examples/images/tiling_example.png new file mode 100644 index 0000000000000000000000000000000000000000..64417aeff87864769dbba60d64ec769b1baa3345 GIT binary patch literal 66448 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 Ue@x;`5Cxw-yG#tSes;L Date: Thu, 10 Mar 2022 15:05:17 +0000 Subject: [PATCH 2/2] Update documentation --- .../semi_gradient_sarsa_three_columns.rst | 43 +++++++++++++++---- 1 file changed, 34 insertions(+), 9 deletions(-) diff --git a/docs/source/Examples/semi_gradient_sarsa_three_columns.rst b/docs/source/Examples/semi_gradient_sarsa_three_columns.rst index eb14de9..846066b 100644 --- a/docs/source/Examples/semi_gradient_sarsa_three_columns.rst +++ b/docs/source/Examples/semi_gradient_sarsa_three_columns.rst @@ -2,19 +2,41 @@ Semi-gradient SARSA algorithm ============================= In this example, we continue using a three-column data set as in the `Q-learning on a three columns dataset `_. -In that example, we used a state aggregation approach to model the overall distortion of the data set in the range :math:`\[0, 1]`. -In this example, we take an alternative approach. We will use bins to discretize the deformation range for each column in the data set. -The state vector will contain these deformations. Hence, for the three column data set, the state vector will have three entries, -each indicating the distortion of the respective column. +In that example, we used a state aggregation approach to model the overall distortion of the data set in the range :math:`[0, 1]`. +Herein, we take an alternative approach. We will assume that the column distortion is in the range :math:`\[0, 1]` where the edge points mean no distortion +and full distortion of the column respectively. For each column, we will use the same approach to discretize the continuous :math:`[0, 1]` range +into a given number of disjoint bins. +Contrary to representing the state-action function :math:`q_{\pi}` using a table as we did in `Q-learning on a three columns dataset `_, we will assume a functional form for +it. Specifically, we assume that the state-action function can be approximated by :math:`\hat{q} \approx q_{\pi}` given by - +.. math:: + \hat{q}(s, \alpha) = \mathbf{w}^T\mathbf{x}(s, \alpha) = \sum_{i}^{d} w_i, x_i(s, \alpha) + +where :math:`\mathbf{w}` is the weights vector and :math:`\mathbf{x}(s, \alpha)` is called the feature vector representing state :math:`s` when taking action :math:`\alpha` [1]. For our case the components of the feature vector will be distortions of the three columns when applying action :math:`\alpha` on the data set. Our goal now is to find the components of the weight vector. We can the stochastic gradient descent (or SGD ) +for this [1]. In this case, the update rule is [1] + +.. math:: + \mathbf{w}_{t + 1} = \mathbf{w}_t + \eta\left[U_t - \gamma \hat{q}(s_t, \alpha_t, \mathbf{w}_t)\right] \nabla_{\mathbf{w}} \hat{q}(s_t, \alpha_t, \mathbf{w}_t) + +where :math:`U_t` for one-step SARSA is given by [1]: + +.. math:: + U_t = R_t + \gamma \hat{q}(s_{t + 1}, \alpha_{t + 1}, \mathbf{w}_t) + +Since, :math:`\hat{q}(s, \alpha)` is a linear function with respect to the weights, its gradient is given by + +.. math:: + \nabla_{\mathbf{w}} \hat{q}(s, \alpha) = \mathbf{x}(s, \alpha) + +We will use bins to discretize the deformation range for each column in the data set. +The state vector will contain these deformations. Hence, for the three column data set, the state vector will have three entries, each indicating the distortion of the respective column. The semi-gradient SARSA algorithm is shown below .. figure:: images/semi_gradient_sarsa.png - Episodic semi-gradient SARSA algorithm. Image from [1] + Episodic semi-gradient SARSA algorithm. Image from [1]. @@ -24,8 +46,11 @@ Tiling We will use a linear function approximation for :math:`\hat{q}`: -.. math:: - \hat{q} = \mathbf{w}^T\mathbf{x} + +.. figure:: images/tiling_example.png + + Multiple, overlapping grid-tilings on a limited two-dimensional space. + These tilings are offset from one another by a uniform amount in each dimension. Image from [1]. Code @@ -210,4 +235,4 @@ Code References ---------- -1. Sutton and Barto, Reinforcement Learning +1. Richard S. Sutton and Andrw G. Barto, Reinforcement Learning. An Introduction 2nd Edition, MIT Press