Mercurial > pylearn
annotate doc/v2_planning/sampler.txt @ 1029:0ddb5f637ce3
Merged
author | Olivier Delalleau <delallea@iro> |
---|---|
date | Mon, 06 Sep 2010 20:41:58 -0400 |
parents | a1b6ccd5b6dc |
children | 875d53754bd0 |
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 | |
32 * inversion sampling | |
33 * rejection sampling | |
34 * importance sampling | |
35 * Markov Chain Monte Carlo | |
36 * Gibbs sampling | |
37 * Metropolis Hastings | |
38 * Slice Sampling | |
39 * Annealing | |
40 * Parallel Tempering, Tempered Transitions, Simulated Tempering | |
41 * Nested Sampling (?) | |
1027
a1b6ccd5b6dc
few comments added
Yoshua Bengio <bengioy@iro.umontreal.ca>
parents:
1018
diff
changeset
|
42 * Hamiltonian Monte Carlo --> or is it Hybrid Monte Carlo? |
a1b6ccd5b6dc
few comments added
Yoshua Bengio <bengioy@iro.umontreal.ca>
parents:
1018
diff
changeset
|
43 |
a1b6ccd5b6dc
few comments added
Yoshua Bengio <bengioy@iro.umontreal.ca>
parents:
1018
diff
changeset
|
44 3. USAGE PATTERNS |
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 |
a1b6ccd5b6dc
few comments added
Yoshua Bengio <bengioy@iro.umontreal.ca>
parents:
1018
diff
changeset
|
47 * MCMC methods have a usage pattern that is quite different from the kind of univariate sampling methods |
a1b6ccd5b6dc
few comments added
Yoshua Bengio <bengioy@iro.umontreal.ca>
parents:
1018
diff
changeset
|
48 needed for nice-and-easy parametric families. |
a1b6ccd5b6dc
few comments added
Yoshua Bengio <bengioy@iro.umontreal.ca>
parents:
1018
diff
changeset
|
49 |
a1b6ccd5b6dc
few comments added
Yoshua Bengio <bengioy@iro.umontreal.ca>
parents:
1018
diff
changeset
|
50 |