Author Archive

Cognitive Foundry 3.3.1 Released

October 6th, 2011 Comments off

Version 3.3.1 of the Cognitive Foundry is released. Go and download it now. Here is the list of changes:

Release 3.3.1 (2011-10-06):

  * Common Core:
    * Added NumericMap interface, which provides a mapping of keys to numeric
    * Added ScalarMap interface, which extends NumericMap to provide a mapping
      of objects to scalar values represented as doubled.
    * Added AbstractScalarMap and AbstractMutableDoubleMap to provide abstract,
      partial implementations of the ScalarMap interface.
    * Added VectorSpace interface, where a VectorSpace is a type of Ring that
      you can perform Vector-like operations on such as norm, distances, etc.
    * Added AbstractVectorSpace, which provides an abstract, partial
      implementation of the VectorSpace interface.
    * Updated Vector, AbstractVector, VectorEntry to build on new VectorSpace
      interface and AbstractVectorSpace class.
    * Added InfiniteVector interface, which has a potentially infinite number
      of indices, but contains only a countable number in any given instance.
    * Added DefaultInfiniteVector, an implementation of the InfiniteVector
      interface backed by a LinkedHashMap.
    * Rewrote FiniteCapacityBuffer from the ground up, now with backing from a
      fixed-size array to minimize memory allocation.
    * Renamed IntegerCollection to IntegerSpan.
  * Learning Core:
    * Updated ReceiverOperatingCharacteristic to improve calculation
    * Added PriorWeightedNodeLearner interface, which provides for configuring the
      prior weights on the learning algorithm that searches for a decision
      function inside a decision tree.
    * Updated AbstractDecisionTreeNode to fix off by one error in computing node's
    * Updated CategorizationTreeLearner to add ability to specify class priors
      for decision tree algorithm.
    * Updated VectorThresholdInformationGainLearner to add class priors to
      information gain calculation.
    * Updated SequentialMinimalOptimization to improve speed.
    * Added LinearBasisRegression, which uses a basis function to generate
      vectors before performing a LinearRegression.
    * Added MultivariateLinearRegression, which performs multivariate regression;
      does not explicitly estimate a bias term or perform regularization.
    * Added LinearDiscriminantWithBias, which provides a LinearDiscriminant with
      an additional bias term that gets added to the output of the dot product.
    * Updated LinearRegression and LogisticRegression to provide for bias term
      estimation and use of L2 regularization.
    * Renamed SquashedMatrixMultiplyVectorFunction to GeneralizedLinearModel.
    * Renamed DifferentiableSquashedMatrixMultiplyVectorFunction to
    * Renamed MatrixMultiplyVectorFunction to MultivariateDiscriminant.
    * Added MultivariateDiscriminantWithBias, which provides a multivariate
      discriminant with a bias term.
    * Renamed DataHistogram to DataDistribution.
    * Renamed AbstractDataHistogram to AbstractDataDistribution.
    * Added DefaultDataDistribution, a default implementation of the
      DataDistribution interface that uses a backing map.
    * Added LogisticDistribution, an implementation of the scalar logistic
    * Updated MultivariateGaussian to provide for incremental estimation of
      covariance-matrix inverse without a single matrix inversion.
    * Removed DecoupledVectorFunction.
    * Removed DecoupledVectorLinearRegression.
    * Removed PointMassDistribution.
    * Removed MapBasedDataHistogram.
    * Removed MapBasedPointDistribution.
    * Removed MapBasedSortedDataHistogram.
    * Removed AbstractBayseianRegression.
    * Additional general reworking and clean up of distribution code,
      impacting classes in gov.sandia.cognition.statistics.distribution
  * Text Core:
    * Renamed LatentDirichetAllocationVectorGibbsSampler to
      LatentDirichletAllocationVectorGibbsSampler to fix misspelling.
    * Added ParallelLatentDirichletAllocationVectorGibbsSampler, a parallelized
      version of Latent Dirichlet Allocation.

We’ll try to get it up in Maven central soon.

Categories: Releases Tags:

Cognitive Foundry Now Available via Maven and Ivy

September 8th, 2011 1 comment

The current version of the Cognitive Foundry (3.3.0) is now available in the Maven central repository. Thus, if you use Maven or Ivy as part of your build system, you can easily add the Foundry to your Java projects and get all the goodness of dependency management. Each of the 6 primary jars for Common Core, Common Data, Learning Core, Text Core, Framework Core, and Framework Learning are available, so you can pick and choose the parts you want to use. Future versions of the Foundry will be posted to Maven central as well.

If you use Maven, then you can add the following dependencies to your pom.xml file for the various parts of the Foundry you want to use, or include all of them:


If you use Ivy, you can add dependencies using the following declarations in your ivy.xml file:

    <dependency org="gov.sandia.foundry" name="gov-sandia-cognition-common-core"        rev="3.3.0"/>
    <dependency org="gov.sandia.foundry" name="gov-sandia-cognition-common-data"        rev="3.3.0"/>
    <dependency org="gov.sandia.foundry" name="gov-sandia-cognition-learning-core"      rev="3.3.0"/>
    <dependency org="gov.sandia.foundry" name="gov-sandia-cognition-text-core"          rev="3.3.0"/>
    <dependency org="gov.sandia.foundry" name="gov-sandia-cognition-framework-core"     rev="3.3.0"/>
    <dependency org="gov.sandia.foundry" name="gov-sandia-cognition-framework-learning" rev="3.3.0"/>

Unless you have changed your Ivy resolvers, you should be able to pick these up just by adding the above.

Let us know if you have any questions. Thanks to Andrew for the suggestion.

Categories: News Tags:

Forums added

June 6th, 2011 Comments off

I set up some forums for this site. Please make use of them to ask questions, provide answers, and share information about the Cognitive Foundry.

Categories: News Tags:

Welcome to

June 5th, 2011 Comments off

Welcome to, the community site for the Cognitive Foundry. The Cognitive Foundry was created by the Cognitive Systems group at Sandia National Laboratories to be a software platform for building intelligent systems. Started in 2006, it was open sourced in 2010 under a BSD-style license. It is primarily written in Java and has a heavy emphasis on machine learning algorithms.

This site was created to help provide information about the Foundry and to foster the community of Foundry users.

Categories: News Tags: