-
Notifications
You must be signed in to change notification settings - Fork 3
/
ChangeLog
126 lines (94 loc) · 5.26 KB
/
ChangeLog
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
ReBEL ChangeLog
***************
This is the main ReBEL Changelog file documenting the ongoing evolution
and debugging process of the ReBEL Toolkit. Below the changes from one
major or minor release to the next is outlined. The numbers in brackets
after each release version number is the number of subsequent 'bugfix'
releases which has been made. So "Version 0.2 (1,2)" implies 2 bugfix
versions has been released since the release of ReBEL-0.2, namely
ReBEL-0.2.1 and ReBEL-0.2.2. The details of each bugfix release is
documented in more detail in the Bugfixes file which can be found the
root ReBEL directory.
Version 0.2 (1,2,3,4,5,6,7)
===========
* Added new inference algorithms:
- Gaussian Sum Particle Filter (gspf)
- Gaussian Mixture Sigma-Point Particle Filter (gmsppf)
<still in beta state>
These hybrid particle filters try to improve on the generic bootstrap
particle filter. The GSPF (developed by J. Kotecha & P. Djuric) uses
a GMM representation of the posterior state distribution, effectively
smoothing out the particle based representation. This filter requires
the noise sources to be modeled as GMMs themselves.
The GMSPPF is a hybrid extension of the Sigma-Point Particle Filter
(sppf) that uses a SPKF-filterbank propagated GMM proposal distribution
to sample the particles from. The actual posterior state distribution
is also modeled with a GMM (like in the GSPF), but the difference is
that this GMM is fitted to the posterior weighted particle set (as
generated by the importance sampling step) by means of an EM algorithm.
This eliminate the need for a variance increasing final resampling stage.
This filter has equal (or better) performance compared to the SPPF, but
has a significantly lower computational cost. See code for more details.
* Added a new noise source type to the 'gennoiseds' function. This is
a Gaussian mixture model noise source (type='gmm'). See gennoiseds.m
for more detail.
* Added a new data structure (GMM) and functions to the core module of
ReBEL to support Gaussian mixture models (GMMs). These functions are:
- gmmfit : Fit/train a GMM to data using the EM algorithm.
- gmminitialize : Initialize a GMM (used internally by gmmfit)
- gmmsample : Sample efficiently from a GMM
- gmmprobability : calculate all probabilities of a GMM and a related
data set.
See the function definitions for more detail.
* The Netlab toolkit (neural network software for Matlab) is now bundled
with ReBEL. This is not a needed/crucial component of ReBEL, but
complements it nicely when certain neural network structures are needed
within user defined models, etc. For more detail on Netlab, see
http://www.ncrg.aston.ac.uk/netlab/ (Thanks to Ian Nabney and
Christopher Bishop for developing such a useful resource).
* Added more examples:
- Dual Estimation : Added a speech enhancement demo based on dual SPKF
estimation. A speech fragment (phoneme), corrupted by additive
colored Gaussian noise is cleaned up (filtered) through the use of a
dual SPKF estimator. This example demonstrates how colored noise
is implemented within the ReBEL framework as well as how dual
estimation is done.
* All particle filters : Changed the definition for all particle filters
of the '.resampleThreshold' field in the InferenceDS data structure.
It used to be an absolute number of particles, the threshold size
of the effective particle set. This (the threshold) has now been
changed to a relative ratio of resampleThreshold = N_efective/N_total.
* Changes (actually additions) to the parameter estimation
meta system blocks in 'geninfds.m':
- Changed the paramFunSelect option of 'both' to 'both-p' which
indicates the use of a parallel combination of FFUN and HFUN in
the parameter estimation observation function, i.e.
observ = |FFUN(X)|
|HFUN(X)|
- Changed the meaning and implementation of the paramFunSelect
option 'both'. This option (the default) now implies a serial
concatenation of the original system state transition and state
observation functions (FFUN and HFUN) to form the observation
function for parameter estimation. The following is now implied
for the paramFunSelect='both' option
observ = HFUN(FFUN(X))
* Made changes to the NoiseDS data structure:
- Changed '.ns_subtype' field to '.cov_type' (covariance type)
Note : The '.subtype' field of the argument data structure used as
input to the 'gennoiseds' function has also changed to '.cov_type'.
- Changed covariance field name in all 'NoiseDS' data structures from
'.P' and '.S' to '.cov'. This might seem ambiguous, but the type of
covariance (full, sqrt, diag, etc.) is already clearly evident
from the '.cov_type' field.
- Removed the '.sqrt_flag' and '.diag_flag' fields. These where
superfluous and did not serve the originally planned beneficial
purpose.
* Bug fixes : Numerous bugs/typos have been fixed. Some of the more
serious ones were:
- geninfds::linearize_generic :
o Interface to function requires a varargout list which was
not honored. This is now fixed.
o Internal indexing error.
Version 0.1 (1)
===========
* Initial Alpha release