v1.5
Version 1.5 of DynaML, released August 11, 2017. Updates to global optimization api, improvements and new features in the gaussian process and stochastic process api.
Additions¶
Package dynaml.algebra
- Added support for dual numbers.
//Zero Dual
val zero = DualNumber.zero[Double]
val dnum = DualNumber(1.5, -1.0)
val dnum1 = DualNumber(-1.5, 1.0)
//Algebraic operations: multiplication and addition/subtraction
dnum1*dnum2
dnum1 - dnum
dnum*zero
Package dynaml.probability
- Added support for mixture distributions and mixture random variables.
MixtureRV,ContinuousDistrMixturefor random variables andMixtureDistributionfor constructing mixtures of breeze distributions.
Package dynaml.optimization
- Added
ModelTuner[T, T1]trait as a super trait toGlobalOptimizer[T] GridSearchandCoupledSimulatedAnnealingnow extendAbstractGridSearchandAbstractCSArespectively.- Added
ProbGPMixtureMachine: constructs a mixture model after a CSA or grid search routine by calculating the mixture probabilities of members of the final hyper-parameter ensemble.
Stochastic Mixture Models¶
Package dynaml.models
- Added
StochasticProcessMixtureModelas top level class for stochastic mixture models. - Added
GaussianProcessMixture: implementation of gaussian process mixture models. - Added
MVTMixture: implementation of mixture model over multioutput matrix T processes.
Kulback-Leibler Divergence¶
Package dynaml.probability
- Added method
KL()toprobabilitypackage object, to calculate the Kulback Leibler divergence between two continuous random variables backed by breeze distributions.
Adaptive Metropolis Algorithms.¶
-
AdaptiveHyperParameterMCMC which adapts the exploration covariance with each sample.
-
HyperParameterSCAM adapts the exploration covariance for each hyper-parameter independently.
Splines and B-Spline Generators¶
Package dynaml.analysis
- B-Spline generators
- Bernstein b-spline generators.
- Arbitrary spline functions can be created using the
SplineGeneratorclass.
Cubic Spline Interpolation Kernels¶
Package dynaml.kernels
- Added cubic spline interpolation kernel
CubicSplineKerneland its ARD analogueCubicSplineARDKernel
Gaussian Process Models for Linear Partial Differential Equations¶
Based on a legacy ICML 2003 paper by Graepel. DynaML now ships with capability of performing PDE forward and inverse inference using the Gaussian Process API.
Package dynaml.models.gp
GPOperatorModel: models a quantity of interest which is governed by a linear PDE in space and time.
Package dynaml.kernels
-
LinearPDEKernel: The core kernel primitive accepted by theGPOperatorModelclass. -
GenExpSpaceTimeKernel: a kernel of the exponential family which can serve as a handy base kernel forLinearPDEKernelclass.
Basis Function Gaussian Processes¶
DynaML now supports GP models with explicitly incorporated basis functions as linear mean/trend functions.
Package dynaml.models.gp
GPBasisFuncRegressionModelcan be used to create GP models with trends incorporated as a linear combination of basis functions.
Log Gaussian Processes¶
- LogGaussianProcessModel represents a stochastic process whose natural logarithm follows a gaussian process.
Improvements¶
Package dynaml.probability
- Changes to
RandomVarWithDistr: made type parameterDistcovariant. - Reform to
IIDRandomVarhierarchy.
Package dynaml.probability.mcmc
- Bug-fixes to the
HyperParameterMCMCclass.
General
- DynaML now ships with Ammonite
v1.0.0.
Fixes¶
Package dynaml.optimization
- Corrected energy calculation in
CoupledSimulatedAnnealing; added log likelihood due to hyper-prior.
Package dynaml.optimization
- Corrected energy calculation in
CoupledSimulatedAnnealing; added log likelihood due to hyper-prior.