_2019-04-25_
* Add DiagonalGaussianDistribution and DiagonalGMM classes to speed up the
diagonal covariance computation and deprecate DiagonalConstraint (1666).
* Add kernel density estimation (KDE) implementation with bindings to other
languages (1301).
* Where relevant, all models with a `Train()` method now return a `double`
value representing the goodness of fit (i.e. final objective value, error,
etc.) (1678).
* Add implementation for linear support vector machine (see
`src/mlpack/methods/linear_svm`).
* Change DBSCAN to use PointSelectionPolicy and add OrderedPointSelection (1625).
* Residual block support (1594).
* Bidirectional RNN (1626).
* Dice loss layer (1674, 1714) and hard sigmoid layer (1776).
* `output` option changed to `predictions` and `output_probabilities` to
`probabilities` for Naive Bayes binding (`mlpack_nbc`/`nbc()`). Old options
are now deprecated and will be preserved until mlpack 4.0.0 (1616).
* Add support for Diagonal GMMs to HMM code (1658, 1666). This can provide
large speedup when a diagonal GMM is acceptable as an emission probability
distribution.
* Python binding improvements: check parameter type (1717), avoid copying
Pandas dataframes (1711), handle Pandas Series objects (1700).