Csep-590A-Lec-2

Pytorch tutorial

  • Slides link
  • Notebook link
  • Seems straightforward. Take a bunch of tribal knowledge as to what things work, but in the end you just compose a list of operations, each one changing dimensions and adjusting weights until prediction answers come out better on training data.

Bayes Filter

  • Slides link
  • Framework:
    • Given:
      • Stream of observations and actions: $d_t = \{ u_1, z_2, \ldots, u_{t-1}, z_t \}$
      • Sensor model: $P(z | x)$
      • Action model: $P(x|u, x')$
      • Prior: $P(x)$
    • Output:
      • Estimate of state $X$
      • Belief / posterior: $Bel(x_t) = P(x_t | u_1, z_2, \ldots, u_{t-1}, z_t)$

Note below notation changes into $u_i, z_i$ occurring at the same step.

$$\begin{align} Bel(x_t) &= P(x_t | u_1, z_1, \ldots, u_t, z_t) &\text{by definition} \\ &= \eta P(z_t | x_t, u_1, z_1, \ldots, u_t) P (x_t| u_1, z_1, \ldots, u_t) &\text{by Bayes rule} \\ &= \eta P(z_t | x_t) P (x_t| u_1, z_1, \ldots, u_t) &\text{by Markov assumption}\\ &= \eta P(z_t | x_t) \int P (x_t| u_1, z_1, \ldots, u_t, x_{t-1})P (x_{t-1}| u_1, z_1, \ldots, u_t) ,dx_{t-1} &\text{law of total probability}\\ &= \eta P(z_t | x_t) \int P (x_t| u_t, x_{t-1})P (x_{t-1}| u_1, z_1, \ldots, u_t) ,dx_{t-1} &\text{by Markov assumption}\\ &= \eta P(z_t | x_t) \int P (x_t| u_t, x_{t-1})Bel(x_{t-1}) ,dx_{t-1} &\text{by definition}\end{align}$$

where

  • Markov assumption:
    • if you know the current state $x_t$, then the probability of the current measurement $z_t$ is independent of the past measurements and actions $i \le t$.
    • similarly if you know $x_{t-1}$, then previous observations and actions ($i \le t - 1$) have no bearing on $x_t$.
    • assumes environment is not changing over time
    • assumes noise of measurements are independent
    • no approximation errors in sensor/action models

Probabilistic Motion Models