Before training can occur, the GM paremeters must be initialized with a call to software/init_gmix.m, which was described in section 13.2.3, where we discussed two approaches to training. The top-down approach and bottom-up approaches are implemented simply by defining either a large number of modes or else just one mode, respectively. The number of modes is specified by in the arguments of software/init_gmix.m. But, training is more involved than just repeatedly calling software/gmix_step.m. Training involves five operations that are handled by software/gmix_trainscript.m:
  1. E-M algorithm ( software/gmix_step.m), sections 13.2.2,13.2.4.
  2. Pruning modes ( software/gmix_deflate.m), section 13.2.5.
  3. Merging modes ( software/gmix_merge.m), section 13.2.5.
  4. Splitting modes ( software/gmix_kurt.m), section 13.2.5.
  5. Determining if algorithm has converged, section 13.2.5.
A simplified version software/gmix_est.m is good for general purose PDF estimation if you know how many modes to use. The operations are discussed in the indicated sections. An overall training script ( software/gmix_trainscript.m) is discussed in section 13.2.5. The user has some control over some parameters used in training. In addition to the initial number of mixture modes, there are five other parameters that affect the training over which the user has some control.
  1. The covariance constraints $ \rho _n$ (and selection of BIAS or CONSTRAINT method).
  2. The minimum mode weight used in pruning modes.
  3. The threshold used to determine if two modes should be merged.
  4. The threshold to determine if a mode should be split.
  5. The criterion for determining if convergence has occurred.
These parameters correspond directly to the five steps outlined above and are discussed in the indicated sections.

Baggenstoss 2017-05-19