August 11, 2013

Re-ran training after several bug-fixes.

`train/tr_train_all.m`

- Utility method for training all four models.`experiments/exp_2013_08_11_train_all.m`

- end-to-end training example; recreates results here.

All results generated by `exp_2013_08_11_train_all.m`

.

*No-perturb model*

```
smoothing_variance: 0.0024
noise_variance: 1.2308
position_variance: 1.6072e+04
rate_variance: 0.2743
perturb_smoothing_variance: 1
perturb_rate_variance: 1
perturb_position_variance: 1
perturb_scale: 2.5000
```

*Ind-perturb model*

```
smoothing_variance: 0.0019
noise_variance: 0.7192
position_variance: 1.6132e+04
rate_variance: 0.2451
perturb_smoothing_variance: 7.1854e-19
perturb_rate_variance: 1.1292e-06
perturb_position_variance: 0.4849
perturb_scale: 2.5000
```

*OU-perturb model*

```
smoothing_variance: 0.0019
noise_variance: 0.7204
position_variance: 1.6111e+04
rate_variance: 0.2465
perturb_smoothing_variance: 7.1854e-19
perturb_rate_variance: 1.1296e-06
perturb_position_variance: 0.5931
perturb_scale: 2.4654
```

*SqExp-perturb model*

```
smoothing_variance: 0.0018
noise_variance: 0.7207
position_variance: 1.6117e+04
rate_variance: 0.2480
perturb_smoothing_variance: 7.1854e-19
perturb_rate_variance: 1.1355e-06
perturb_position_variance: 0.5172
perturb_scale: 0.9202
```

Surprised to see that noise-variance only changed by a factor of 10, not 100. However, the resulting noise_variance is right in the range that you'd expect arising from pixel-grid rasterization error.

OU perturb-scale is lower than in the last case, and perturb position and rate variance is lower, too.

SqExp perturb-scale is higher than in the last case, and perturb rate variance is lower.

Lower position and rate variance makes sense after correcting curve-reversals.

However, since we trimmed the pre-tails, a higher global and perturb position variance should result. The result we're seeing is a combination of these competing effects.

Some curves are flipped; need to an approach that will detect and correct flipped curves.

Images and javascript generated by `../experiments/exp_2013_08_11_reconstruct_for_web.m`

*Ind-perturb model*

*OO-perturb model*

*SqExp-perturb model*

Experiment: `../experiments/exp_2013_08_11_flip_curves.m`

Result: doesn't really work. Lots of false negatives.

Algorithm output: 2 4 5 6 8 10 12 Ground Truth: 1 2 4 5 6 8 9 10 11 12 14 15

Not really sure why this is failing. After flipping, most of these curves are closer to the origin, which is promoted by position_variance. And any tip-perturbations should be better modelled after flipping.

- Think more on curve-reversing
- Central curve extraction
- add branching
- end-to-end correspondence sampling