-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathTODO
68 lines (53 loc) · 2.88 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
## 11 July 2015
Remove the set_parameters and set_evidence and add them as parameters to the calibrate method (more sklearn-like).
## 5 July 2015
Move everything that mutates the model out to an Inference object - the model shouldn't change.
Maybe it will be possible to re-use previous inference results with a slightly changed model?
Differentiate between factors and beliefs. Beliefs are mutable factors.
## 25 February 2015
Figuring out how to approximate Z if I already have approximate cluster beliefs - looks like just evaluating the
factored energy functional at these beliefs. One problem with this is that we need the original potentials - which
are destroyed because we're doing belief updates. So possibly add 'potential' and 'belief' tables to each factor. Other
option is to keep potentials with the model/factors, and beliefs with the inference object.
## 12 February 2015
Fixed a long standing bug with belief updates. Get Z approximation from model so we can learn some parameters in loopy
graphs.
## 24 January 2015
It seems that damping beliefs in a loopy graph is very useful, but not useful enough - especially for a grid.
Therefore need to add a sampling/variational/etc inference class. Might go with Gibbs sampler first.
## 17 December 2014
Apparently you have to normalize the factors when the graph has loops.
## 4 November 2014
Since the shape of data give the cardinalities, it can be omitted when specifying DiscreteFactor.
## 29 October 2014
Tidy up stuff - examples, docs, run pylint, etc
## 20 October 2014
Report approximate ll, evidence each iteration.
Learn with approximate gradient for first few iterations.
Do whole update function with numba.
Does distribute/collect work with non-trees?
## 11 October 2014
Document as clique templates (from Sutton and McCallum's tutorial)
## 27 September 2014
Optimise for speed. - Numba looks like it is working. Add Numba update function.
Flooding protocol is slow - build distribute/collect protocol for trees.
## 17 September 2014
Example HMM.
## 14 September 2014
Running into numerical problems - time to factor out the normalising constant.
This will complicate testing - for now replace existing data tests with data * constant.
For new tests use accessor methods.
Wondering about architecture - should only inplace updates be allowed?
## 3 July 2014
Looks like I'm rather going with un-normalised models first.
Gaussian prior.
Factors should now be parametrised - add place where parameter variables can be added to a factor.
Use BFGS to find MAP
Then approximate posterior with Laplace approximation using Hessian returned by BFGS.
## 1 July 2014
Maybe concentrate on getting a discrete bayesian network going first.
Factor out the update ordering.
Add gaussian priors [rather dirichlet priors?] - variable and conditional. (Variational/expectation update?)
Add plates - update order should take this into account.
Plates for dynamic models.
Clusters?