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)$
- Given:
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