Commit 142b844c authored by Hakan GIRGIN's avatar Hakan GIRGIN
Browse files

Notebooks tested and re-run.

parent ffe507f8
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
%% Cell type:markdown id: tags:
$
\newcommand{\Tau}{\mathcal{T}}
\newcommand{\bm}[1]{{\boldsymbol{#1}}}
\newcommand{\dt}[1]{{\frac{d#1}{dt}}}
%\newcommand{\bm}{\mathbf{#1}}
\newcommand{\trsp}{{\scriptscriptstyle\top}}$
%% Cell type:markdown id: tags:
This notebook demonstrate the principal functionalities of pbdlib.
%% Cell type:code id: tags:
``` python
import numpy as np
import os
import matplotlib.pyplot as plt
import pbdlib as pbd
from pprint import pprint as print # for pretty printing
%matplotlib inline
%load_ext autoreload
%autoreload 2
from pbdlib.utils.jupyter_utils import *
np.set_printoptions(precision=2)
```
%% Cell type:markdown id: tags:
# Multivariate Normal Distribution (MVN) - Gaussian
Here we create a multivariate Gaussian distribution, plot it, transform it and make product.
%% Cell type:markdown id: tags:
## Transformation
We demonstrate how to transform MVN distributions. Suppose that the distribution acts on transformed datapoint $\bm{x}$ as $\mathcal{N}(\bm{A}\bm{x} + \bm{b}|\, \bm{\mu}, \bm{\Sigma})$. This distribution can be expressed on the original data point by transforming the parameters $\bm{\mu}, \bm{\Sigma}$ instead :
$$\mathcal{N}(\bm{A}\bm{x} + \bm{b}|\, \bm{\mu}, \bm{\Sigma}) = \mathcal{N}(\bm{x} |\, \bm{\mu}_{transf}, \bm{\Sigma}_{transf})$$
with
$$\bm{\mu}_{transf} = \bm{A}^\dagger (\bm{\mu}-\bm{b})$$
$$\bm{\Lambda}_{transf} = \bm{A}^\trsp\bm{\Lambda} \bm{A}$$
$$\bm{\Sigma}_{transf} = \bm{\Lambda}_{transf}^{-1}$$
see [Liu](http://www.cs.columbia.edu/~liulp/pdf/linear_normal_dist.pdf) for more precision. **WARNING** The transformation here are not the same as in the paper, they are the inverse.
%% Cell type:code id: tags:
``` python
# create distribution
mvn = pbd.MVN(mu=np.array([1., 3.]), sigma=np.diag([0.1, 2.]))
# plot distribution
plt.axes().set_aspect('equal')
pbd.plot_gmm(mvn.mu, mvn.sigma)
# transformation
rot_mat = pbd.utils.angle_to_rotation(np.pi/2) # create rotation matrix from angle
mvn = mvn.transform(A=rot_mat, b=np.array([0., -2.])) # apply the transformation on the distribution
pbd.plot_gmm(mvn.mu, mvn.sigma, color='y');
```
%%%% Output: display_data
![](data:image/png;base64,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7TCMhdD1DhjGgomrA+NnfZISDMYhRG18Jk61Zd6VwLlKF8U0Qtcbz/uZlDZsexSWNQwpSxONWlZ6YuLRYdj2yMTjFEplAUy/0567eyHP+bMknw/BNKcvwpn5Ij57jMnH9kTuKHS9aeLaiZaJyUaboesxaFps4u/N/JSEqjbvS+BihNCg681z7htPTtc1+1TjxRmPzfOe29LSctZp10JoM7YwpqceL31vemJTbraTW3xdAuU6e7quWEXPbWyMI5/nZjjVLr7dEPkcS4DI51gCRD7HEiDyOZYAkc+xBIh8jiVA5HMsASKfE7J0ojoR+dS83BJ46KGHvI4wpVay1EoOoHay1EoOwNss87IEiKh8LAEin9Mff/zxx70O4YTly5d7HWFKrWSplRxA7WSplRyAd1l4YJDI57g7QORz834+gVdffRW7d+/Gs88+i6Ym9+8C9Itf/AL79++HEALNzc2477770Nra6noOANi9ezcOHDgAwzDQ3t6O++67D7FYZfMjqLJ371786le/wsmTJ/G9730PK1ascHX9hw4dwgsvvADbtrF582Zs2bLF1fVPeuaZZ9DT04Pm5mbs2rXLkwyQ89iZM2fkd77zHfnlL39ZjoyMeJJhfHx86u+///3v5c9+9jNPckgp5aFDh6RpmlJKKXfv3i13797tWZbjx4/LkydPyh07dsje3l5X121ZlvzqV78qT58+LYvFonzggQfk8ePHXc0w6fDhw/K9996T27Zt82T9Uko5r3cHXnrpJXz2s5/1dLrxmXcCzufznma55pproOulyUdXrVqFwcFBz7IsXry47Btmqtbb24uOjg60t7fDMAxs2LAB+/bt8yTLmjVr0NDg7X025+3uwL59+9Da2oply5Z5HQU///nP8frrryMajWLHjh1exwEA/PnPf8aGDRu8juGJwcFBtLW1TT1ua2vDu+++62Eib9V1CTzxxBNnTeI56Y477sArr7yCb33rW57nWLduHe68807ceeedeOWVV/DHP/4RW7du9SwLAPz2t7+FruvYuHGjYznKzULeq+sSePTRR2f9/rFjx9Df34/t27cDAFKpFB588EHs3LkTLS0truU418aNG7Fz505HS2CuLK+99hoOHDiAxx57zPFdk3L/XdzW2tqKVCo19TiVSnl2sLYW1HUJXMjSpUvx7LPPTj3+yle+gp07d3ry6UBfXx8WLlwIoLSL4tV+MFA6Iv673/0O3/72txEKhTzL4bUVK1agr68P/f39aG1txZ49e3D//fd7HcszvjhZyMsSePLJJ9HX1wchBOLxOO69917P3nW+9rWvwTTNqQNRK1euxL333utJlrfeegvPP/880uk0YrEYli1bhkceecS19ff09OCll16CbdvYtGkTPvOZz7i27pmeeuopHDlyBKOjo2hubsbWrVtx8803u5rBFyVARBc2rz8iJKK5sQSIfI4lQORzLAEin2MJEPkcS4DI51gCRD7HEiDyuf8HuW/pDZpywJMAAAAASUVORK5CYII=)
![](data:image/png;base64,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)
%% Cell type:markdown id: tags:
## Product
Suppose we want to combine evidences from multiples experts, whose belief is expressed as probability distributions with parameters $\bm{\theta}^{(j)}$ for expert $j$. One way to combine this distribution to get the best agreement between the expert is to make the product of them, see [Hinton](http://www.cs.toronto.edu/~hinton/absps/nccd.pdf).
\begin{equation}
p(\bm{\xi}_t|\bm{\theta}^{(1)}, \ldots, \bm{\theta}^{(P)}) =
\frac{\prod_j p_j(\bm{\xi}_t\,| \bm{\theta}^{(j)})}
{\int_x \prod_j p_j(\bm{x}\,| \bm{\theta}^{(j)})}
\end{equation}
%% Cell type:markdown id: tags:
If the expert distributions are Gaussian with $\bm{\theta}^{(j)}=\{\bm{\mu}^{(j)}, \bm{\Sigma}^{(j)}\}$, the product as an analytical solution and is Gaussian as well. With
$\bm{\Lambda} = \bm{\Sigma}^{-1}$
$\bm{\Lambda} = \sum_j {\bm{\Lambda}}^{(j)}$
$\bm{\mu} = \bm{\Lambda}^{-1 }\sum_j {\bm{\Lambda}}^{(j)} {\bm{\mu}}^{(j)}$
See [Bromiley](http://www.tina-vision.net/docs/memos/2003-003.pdf) for more precision.
%% Cell type:code id: tags:
``` python
mvn = pbd.MVN(mu=np.array([1., 3.]), sigma=np.diag([0.1, 2.]))
mvn_2 = pbd.MVN(mu=np.array([2., 0.]), sigma=np.diag([10., 0.02]))
mvn_product = mvn * mvn_2
plt.axes().set_aspect('equal')
pbd.plot_gmm(mvn.mu, mvn.sigma)
pbd.plot_gmm(mvn_2.mu, mvn_2.sigma, color='y')
pbd.plot_gmm(mvn_product.mu, mvn_product.sigma, color='b');
```
%%%% Output: display_data
![](data:image/png;base64,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)
![](data:image/png;base64,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)
%% Cell type:markdown id: tags:
# Gaussian Mixture Model (GMM)
This is an example on how to create a Gaussian Mixture model and train it over some data.
%% Cell type:code id: tags:
``` python
from scipy.io import loadmat # loading data from matlab
letter = 'C' # choose a letter in the alphabet
datapath = os.path.dirname(pbd.__file__) + '/data/2Dletters/'
data = loadmat(datapath + '%s.mat' % letter)
demos = [d['pos'][0][0].T for d in data['demos'][0]] # cleaning awful matlab data
```
%% Cell type:code id: tags:
``` python
model = pbd.GMM(nb_dim=2, nb_states=4)
data = np.concatenate(demos)
model.em(data=data, reg=1e-3)
plt.figure(figsize=(2,2))
for p in demos:
plt.plot(p[:, 0], p[:, 1])
pbd.plot_gmm(model.mu, model.sigma);
```
%%%% Output: stream
GMM did not converge before reaching max iteration. Consider augmenting the number of max iterations.
%%%% Output: display_data
![](data:image/png;base64,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)
![](data:image/png;base64,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)
%% Cell type:markdown id: tags:
# Hidden Markov Model (HMM)
%% Cell type:code id: tags:
``` python
model = pbd.HMM(nb_states=4, nb_dim=2)
model.init_hmm_kbins(demos) # initializing model
# plotting
fig, ax = plt.subplots(ncols=2)
fig.set_size_inches(5,2.5)
pbd.plot_gmm(model.mu, model.sigma, alpha=0.5, color='steelblue', ax=ax[0]); # plot after init only
# EM to train model
model.em(demos, reg=1e-3)
# plotting demos
for p in demos:
ax[0].plot(p[:, 0], p[:, 1])
pbd.plot_gmm(model.mu, model.sigma, ax=ax[0]);
# plotting transition matrix
ax[1].imshow(np.log(model.Trans+1e-10), interpolation='nearest', vmin=-5, cmap='viridis');
plt.tight_layout()
```
%%%% Output: stream
EM did not converge
%%%% Output: display_data
![](data:image/png;base64,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)
![](data:image/png;base64,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)
%% Cell type:markdown id: tags:
#### Compute most likely sequence of state with Viterbi and forward variable
%% Cell type:code id: tags:
``` python
q = model.viterbi(demos[1])
alpha, _, _, _, _ = model.compute_messages(demos[1])
plt.figure(figsize=(5, 1))
plt.plot(q, lw=3);
plt.plot(alpha.T * (model.nb_states-0.1), lw=1);
plt.xlabel('timestep');
```
%%%% Output: display_data
![](data:image/png;base64,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)
![](data:image/png;base64,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)
%% Cell type:markdown id: tags:
#### Compute likelihood of HMM model for given demo
This can be used for action recognition when considering multiple HMMs corresponding to different actions.
%% Cell type:code id: tags:
``` python
score = model.score(demos)
print score
print(score)
```
%%%% Output: stream
[604.77532650710077, 622.21722294986239, 690.36818465333215, 627.90848472088783, 687.86406780327115, 671.99491016173624, 714.6971630615808, 765.40881580123289, 653.04279562616421, 635.65783418611136, 644.3801285840027, 643.07362870797783, 669.93546349681139, 627.19016919356841]
[604.6126291210751,
615.4742325655292,
676.9734162587175,
628.3800469230067,
692.0712916907947,
676.734947027159,
706.0265046373031,
757.6929194837971,
639.183185782786,
627.6829986051359,
639.7431497857071,
636.7105802407547,
670.0450601922861,
634.3556249319649]
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment