Mercurial > pylearn
annotate doc/v2_planning/sampler.txt @ 1253:826d78f0135f
Prototype for "hooks" simpler than full control-flow rewrite.
author | Pascal Lamblin <lamblinp@iro.umontreal.ca> |
---|---|
date | Fri, 24 Sep 2010 01:46:12 -0400 |
parents | 0e12ea6ba661 |
children |
rev | line source |
---|---|
1027
a1b6ccd5b6dc
few comments added
Yoshua Bengio <bengioy@iro.umontreal.ca>
parents:
1018
diff
changeset
|
1 |
a1b6ccd5b6dc
few comments added
Yoshua Bengio <bengioy@iro.umontreal.ca>
parents:
1018
diff
changeset
|
2 Inference / Sampling committee: JB, GD, AC |
a1b6ccd5b6dc
few comments added
Yoshua Bengio <bengioy@iro.umontreal.ca>
parents:
1018
diff
changeset
|
3 |
1018 | 4 OVERVIEW |
5 ======== | |
6 | |
7 Before we start defining what a sampler is and how it should be defined in | |
8 pylearn, we should first know what we're up against. | |
9 | |
10 The workflow I have in mind is the following: | |
11 1. identify the most popular sampling algorithms in the litterature | |
12 2. get up to speed with methods we're not familiar with | |
13 3. identify common usage patterns, properties of the algorithm, etc. | |
14 4. decide on an API / best way to implement them | |
15 5. prioritize the algorithms | |
16 6. code away | |
17 | |
18 1.BACKGROUND | |
19 ============= | |
20 | |
21 This section should provide a brief overview of what exists in the litterature. | |
22 We should make sure to have a decent understanding of all of these (not everyone | |
23 has to be experts though), so that we can *intelligently* design our sampler | |
24 interface based on common usage patterns, properties, etc. | |
25 | |
26 Sampling from basic distributions | |
27 * already supported: uniform, normal, binomial, multinomial | |
28 * wish list: beta, poisson, others ? | |
29 | |
30 List of sampling algorithms: | |
31 * inversion sampling | |
32 * rejection sampling | |
33 * importance sampling | |
34 * Markov Chain Monte Carlo | |
35 * Gibbs sampling | |
36 * Metropolis Hastings | |
37 * Slice Sampling | |
38 * Annealing | |
39 * Parallel Tempering, Tempered Transitions, Simulated Tempering | |
40 * Nested Sampling (?) | |
1027
a1b6ccd5b6dc
few comments added
Yoshua Bengio <bengioy@iro.umontreal.ca>
parents:
1018
diff
changeset
|
41 * Hamiltonian Monte Carlo --> or is it Hybrid Monte Carlo? |
a1b6ccd5b6dc
few comments added
Yoshua Bengio <bengioy@iro.umontreal.ca>
parents:
1018
diff
changeset
|
42 |
a1b6ccd5b6dc
few comments added
Yoshua Bengio <bengioy@iro.umontreal.ca>
parents:
1018
diff
changeset
|
43 3. USAGE PATTERNS |
a1b6ccd5b6dc
few comments added
Yoshua Bengio <bengioy@iro.umontreal.ca>
parents:
1018
diff
changeset
|
44 ================= |
a1b6ccd5b6dc
few comments added
Yoshua Bengio <bengioy@iro.umontreal.ca>
parents:
1018
diff
changeset
|
45 |
a1b6ccd5b6dc
few comments added
Yoshua Bengio <bengioy@iro.umontreal.ca>
parents:
1018
diff
changeset
|
46 * MCMC methods have a usage pattern that is quite different from the kind of univariate sampling methods |
1189
0e12ea6ba661
fix many rst syntax error warning.
Frederic Bastien <nouiz@nouiz.org>
parents:
1040
diff
changeset
|
47 needed for nice-and-easy parametric families. |
1027
a1b6ccd5b6dc
few comments added
Yoshua Bengio <bengioy@iro.umontreal.ca>
parents:
1018
diff
changeset
|
48 |
a1b6ccd5b6dc
few comments added
Yoshua Bengio <bengioy@iro.umontreal.ca>
parents:
1018
diff
changeset
|
49 |