Releases: algorithmfoundry/Foundry
Cognitive Foundry 4.0.1
Released March 5, 2019
- Common:
- Performance improvement to SparseVector set method to avoid a double lookup.
Cognitive Foundry 4.0.0
Released March 24, 2017
- General:
- Added new custom matrix package implementation. MTJ-based implementation is still default and the two should interoperate, though sticking to one implementation is generally more efficient.
- Added new Graph package containing several graph algorithms.
- Common:
- New custom matrix package implementation in gov.sandia.cognition.math.matrix.custom. Contains both sparse and dense implementations of Vector and Matrix. It is optimized for certain use-cases around sparse matrices and dynamically switching between sparse and dense.
- Added default implementations to scalar function interfaces. Makes them easier to use as lambdas.
- Improved interoperability between matrix/vector implementations through abstract class implementations.
- Added method to get vector and matrix factories from those objects.
- Added methods create uniform or Gaussian random vectors and matrices.
- Added method to check for multiplication dimensions matching for matrices.
- Added method to count non-zeros in a vector.
- Added methods to get max and min value from a VectorSpace, which includes implementations on vectors.
- Added primitive ArrayList implementations: DoubleArrayList, IntArrayList.
- CollectionUtil: Added collection equality checkers.
- Added equals and hashCode implementations to DefaultKeyValuePair.
- Indexer and DefaultIndexer: Added a clear method.
- KDTree: Added method to find within a given radius.
- Learning:
- Changed implementation of Gamma distribution sampling algorithm to greatly improve performance. Also improves performance of Beta and Dirichlet distribution sampling.
- Added DBSCAN clustering implementation.
- Added mini-batch k-means clustering implementation.
- Improvements to K-means and partitional cluster performance.
- Added normalized centroid cluster creator, within-cluster divergence, and random cluster initializer.
- Added implementation of Burrows Delta algorithm.
- Added out-of-bag stopping criteria for bagging and refactored it for IVoting.
- Improved memory use of IVoting by removing redundant allocation.
- Added several conjugate gradient matrix solvers and matrix-vector solvers, also with preconditioning.
- Added multi-partite valance algorithm.
- Added hard sigmoid and hard tanh activation functions.
- Text:
- Added valance spreading implementation.
Cognitive Foundry 3.4.3
Released March 21, 2016
Release notes:
- General:
- Updated to Java 1.8.
- Common:
- Added callback-based transform methods to Vector that pass index and value.
- Learning:
- Fixed issue in RandomSubVectorThresholdLearner where feature selection was
ignored if no sampling was done. - Fixed mean and variance computation in StudentTConfidence.
- Added hyperbolic tangent function.
- Fixed issue in RandomSubVectorThresholdLearner where feature selection was
Cognitive Foundry 3.4.2
Released October 30, 2015
This version contains several new components, performance enhancements, and an upgraded version of MTJ.
Release notes:
- General:
- Upgraded MTJ to 1.0.3.
- Common:
- Added package for hash function computation including Eva, FNV-1a, MD5, Murmur2, Prime, SHA1, SHA2
- Added callback-based forEach implementations to Vector and InfiniteVector, which can be faster for iterating through some vector types.
- Optimized DenseVector by removing a layer of indirection.
- Added method to compute set of percentiles in UnivariateStatisticsUtil and fixed issue with percentile interpolation.
- Added utility class for enumerating combinations.
- Adjusted ScalarMap implementation hierarchy.
- Added method for copying a map to VectorFactory and moved createVectorCapacity up from SparseVectorFactory.
- Added method for creating square identity matrix to MatrixFactory.
- Added Random implementation that uses a cached set of values.
- Learning:
- Implemented feature hashing.
- Added factory for random forests.
- Implemented uniform distribution over integer values.
- Added Chi-squared similarity.
- Added KL divergence.
- Added general conditional probability distribution.
- Added interfaces for Regression, UnivariateRegression, and MultivariateRegression.
- Fixed null pointer exception that can happen in K-means with an empty cluster.
- Fixed name of maxClusters property on AgglomerativeClusterer (was called maxMinDistance).
- Text:
- Improvements to LDA Gibbs sampler.
Cognitive Foundry 3.4.1
Released May 11, 2015
This version contains mainly upgraded versions of dependencies. It also has some bug fixes, performance improvements, and adds an ALS implementation of Factorization Machines.
Release notes:
- General:
- Updated MTJ to version 1.0.2 and netlib-java to 1.1.2.
- Updated XStream to version 1.4.8.
- Common:
- Fixed issue in VectorUnionIterator.
- Learning:
- Added Alternating Least Squares (ALS) Factorization Machine training
implementation. - Fixed performance issue in Factorization Machine where linear component
was not making use of sparsity. - Added utility function to sigmoid unit.
- Added Alternating Least Squares (ALS) Factorization Machine training
Cognitive Foundry 3.4.0
Released April 2, 2015
This version contains an implementation of factorization machines, improvements to statistical distributions, improvements to tree learners, convenience methods, performance improvements, and bug fixes. It also upgrades to Java 1.7.
Release notes:
- General:
- Now requires Java 1.7 or higher.
- Improved compatibility with Java 1.8 functions by removing
ClonableSerializable requirement from many function-style interfaces.
- Common Core:
- Improved iteration speed over sparse MTJ vectors.
- Added utility methods for more stable log(1 x), exp(1-x), log(1 - exp(x)),
and log(1 exp(x)) to LogMath. - Added method for creating a partial permutations to Permutation.
- Added methods for computing standard deviation to UnivariateStatisticsUtil.
- Added increment, decrement, and list view methods to Vector and Matrix.
- Added shorter versions of get and set for Vector and Matrix getElement and
setElement. - Added aliases of dot for dotProduct in VectorSpace.
- Added utility methods for divideByNorm2 to VectorUtil.
- Learning:
- Added a learner for a Factorization Machine using SGD.
- Added a iterative reporter for validation set performance.
- Added new methods to statistical distribution classes to allow for faster
sampling without boxing, in batches, or without creating extra memory. - Made generics for performance evaluators more permissive.
- ParameterGradientEvaluator changed to not require input, output, and
gradient types to be the same. This allows more sane gradient definitions
for scalar functions. - Added parameter to enforce a minimum size in a leaf node for decision
tree learning. It is configured through the splitting function. - Added ability to filter which dimensions to use in the random subspace
and variance tree node splitter. - Added ReLU, leaky ReLU, and soft plus activation functions for neural
networks. - Added IntegerDistribution interface for distributions over natural numbers.
- Added a method to get the mean of a numeric distribution without boxing.
- Fixed an issue in DefaultDataDistribution that caused the total to be off
when a value was set to less than or equal to 0. - Added property for rate to GammaDistribution.
- Added method to get standard deviation from a UnivariateGaussian.
- Added clone operations for decision tree classes.
- Fixed issue TukeyKramerConfidence interval computation.
- Fixed serialization issue with SMO output.
Cognitive Foundry 3.3.3
Released May 20, 2013
This version contains performance improvements and bug fixes.
Cognitive Foundry 3.3.2
Released November 7, 2011
This version contains improvements to regression methods, ROC, performance improvements, and bug fixes.
Cognitive Foundry 3.3.1
Released October 6, 2011
This version contains improvements to statistics distributions, regression methods, performance improvements, and bug fixes.
Cognitive Foundry 3.2.0
Released June 22, 2011
This version contains new learning algorithms, statistical methods, and bug fixes.