All Versions
Latest Version
Avg Release Cycle
70 days
Latest Release

Changelog History
Page 3

  • v2.2.2 Changes

    • Install backwards-compatibility mlpack_allknn and mlpack_allkfn programs; note they are deprecated and will be removed in mlpack 3.0.0 (#992).

    • Fix RStarTree bug that surfaced on OS X only (#964).

    • Small fixes for MiniBatchSGD and SGD and tests.

  • v2.2.1 Changes

    • Compilation fix for mlpack_nca and mlpack_test on older Armadillo versions (#984).
  • v2.2.0 Changes

    • Bugfix for mlpack_knn program (#816).

    • Add decision tree implementation in methods/decision_tree/. This is very similar to a C4.5 tree learner.

    • Add DBSCAN implementation in methods/dbscan/.

    • Add support for multidimensional discrete distributions (#810, #830).

    • Better output for Log::Debug/Log::Info/Log::Warn/Log::Fatal for Armadillo objects (#895, #928).

    • Refactor categorical CSV loading with boost::spirit for faster loading (#681).

  • v2.1.1 Changes

    • HMMs now use random initialization; this should fix some convergence issues (#828).

    • HMMs now initialize emissions according to the distribution of observations (#833).

    • Minor fix for formatted output (#814).

    • Fix DecisionStump to properly work with any input type.

  • v2.1.0 Changes

    • Fixed CoverTree to properly handle single-point datasets.

    • Fixed a bug in CosineTree (and thus QUIC-SVD) that caused split failures for some datasets (#717).

    • Added mlpack_preprocess_describe program, which can be used to print statistics on a given dataset (#742).

    • Fix prioritized recursion for k-furthest-neighbor search (mlpack_kfn and the KFN class), leading to orders-of-magnitude speedups in some cases.

    • Bump minimum required version of Armadillo to 4.200.0.

    • Added simple Gradient Descent optimizer, found in src/mlpack/core/optimizers/gradient_descent/ (#792).

    • Added approximate furthest neighbor search algorithms QDAFN and DrusillaSelect in src/mlpack/methods/approx_kfn/, with command-line program mlpack_approx_kfn.

  • v2.0.3 Changes

    • Added multiprobe LSH (#691). The parameter 'T' to LSHSearch::Search() can now be used to control the number of extra bins that are probed, as can the -T (--num_probes) option to mlpack_lsh.

    • Added the Hilbert R tree to src/mlpack/core/tree/rectangle_tree/ (#664). It can be used as the typedef HilbertRTree, and it is now an option in the mlpack_knn, mlpack_kfn, mlpack_range_search, and mlpack_krann command-line programs.

    • Added the mlpack_preprocess_split and mlpack_preprocess_binarize programs, which can be used for preprocessing code (#650, #666).

    • Added OpenMP support to LSHSearch and mlpack_lsh (#700).

  • v2.0.2 Changes

    • Added the function LSHSearch::Projections(), which returns an arma::cube with each projection table in a slice (#663). Instead of Projection(i), you should now use Projections().slice(i).

    • A new constructor has been added to LSHSearch that creates objects using projection tables provided in an arma::cube (#663).

    • Handle zero-variance dimensions in DET (#515).

    • Add MiniBatchSGD optimizer (src/mlpack/core/optimizers/minibatch_sgd/) and allow its use in mlpack_logistic_regression and mlpack_nca programs.

    • Add better backtrace support from Grzegorz Krajewski for Log::Fatal messages when compiled with debugging and profiling symbols. This requires libbfd and libdl to be present during compilation.

    • CosineTree test fix from Mikhail Lozhnikov (#358).

    • Fixed HMM initial state estimation (#600).

    • Changed versioning macros __MLPACK_VERSION_MAJOR, __MLPACK_VERSION_MINOR, and __MLPACK_VERSION_PATCH to MLPACK_VERSION_MAJOR, MLPACK_VERSION_MINOR, and MLPACK_VERSION_PATCH. The old names will remain in place until mlpack 3.0.0.

    • Renamed mlpack_allknn, mlpack_allkfn, and mlpack_allkrann to mlpack_knn, mlpack_kfn, and mlpack_krann. The mlpack_allknn, mlpack_allkfn, and mlpack_allkrann programs will remain as copies until mlpack 3.0.0.

    • Add --random_initialization option to mlpack_hmm_train, for use when no labels are provided.

    • Add --kill_empty_clusters option to mlpack_kmeans and KillEmptyClusters policy for the KMeans class (#595, #596).

  • v2.0.1 Changes

    • Fix CMake to properly detect when MKL is being used with Armadillo.

    • Minor parameter handling fixes to mlpack_logistic_regression (#504, #505).

    • Properly install arma_config.hpp.

    • Memory handling fixes for Hoeffding tree code.

    • Add functions that allow changing training-time parameters to HoeffdingTree class.

    • Fix infinite loop in sparse coding test.

    • Documentation spelling fixes (#501).

    • Properly handle covariances for Gaussians with large condition number (#496), preventing GMMs from filling with NaNs during training (and also HMMs that use GMMs).

    • CMake fixes for finding LAPACK and BLAS as Armadillo dependencies when ATLAS is used.

    • CMake fix for projects using mlpack's CMake configuration from elsewhere (#512).

  • v2.0.0 Changes

    • 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 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.

  • v1.0.12 Changes

    • Switch to 3-clause BSD license (from LGPL).