_2015-12-24_
* Removed overclustering support from k-means because it is not well-tested,
may be buggy, and is (I think) unused. If this was support you were using,
open a bug or get in touch with us; it would not be hard for us to
reimplement it.
* Refactored KMeans to allow different types of Lloyd iterations.
* Added implementations of k-means: Elkan's algorithm, Hamerly's algorithm,
Pelleg-Moore's algorithm, and the DTNN (dual-tree nearest neighbor)
algorithm.
* Significant acceleration of LRSDP via the use of accu(a % b) instead of
trace(a * b).
* Added MatrixCompletion class (matrix_completion), which performs nuclear
norm minimization to fill unknown values of an input matrix.
* No more dependence on Boost.Random; now we use C++11 STL random support.
* Add softmax regression, contributed by Siddharth Agrawal and QiaoAn Chen.
* Changed NeighborSearch, RangeSearch, FastMKS, LSH, and RASearch API; these
classes now take the query sets in the Search() method, instead of in the
constructor.
* Use OpenMP, if available. For now OpenMP support is only available in the
DET training code.
* Add support for predicting new test point values to LARS and the
command-line `lars` program.
* Add serialization support for `Perceptron` and `LogisticRegression`.
* Refactor SoftmaxRegression to predict into an `arma::Row<size_t>` object,
and add a `softmax_regression` program.
* Refactor LSH to allow loading and saving of models.
* ToString() is removed entirely (487).
* Add `--input_model_file` and `--output_model_file` options to appropriate
machine learning algorithms.
* Rename all executables to start with an "mlpack" prefix (229).
* Add HoeffdingTree and `mlpack_hoeffding_tree`, an implementation of the
streaming decision tree methodology from Domingos and Hulten in 2000.