Project details for Cognitive Foundry

Screenshot Cognitive Foundry 3.1.0

by Baz - February 24, 2011, 02:41:06 CET [ Project Homepage BibTeX BibTeX for corresponding Paper Download ]

view ( today), download ( today ), 0 subscriptions


The Cognitive Foundry is a modular Java software library for the research and development of cognitive systems. It is primarily designed for research and development to be easy to plug into applications to provide adaptive behaviors.

The main part of the Foundry is the Machine Learning package, which contains reusable components and algorithms for machine learning and statistics. It contains many algorithms for supervised and unsupervised learning as well as statistical modeling. It is interface-centric and uses generics to make it easy to customize to the needs of individual applications.

The Cognitive Foundry's development is led by Sandia National Laboratories and is released under the open source BSD License. It requires Java 1.6.

Changes to previous version:
  • Text: New package in this release for doing statistical text analysis and information retrieval. Especially useful for doing machine learning over text data.
  • Common Core:
  • CollectionUtil: Added toStringDelimited method.
  • VectorFactoryContainer is now an interface, existing implementation moved to DefaultVectorFactoryContainer.
  • ObjectUtil: Added getBytes method.
  • Learning Core:
  • OnlineLearner interface renamed to IncrementalLearner, which is a more appropriate name. Other similar classes also renamed: AbstractBatchAndIncrementalLearner
  • Added BatchLearnerContainer interface and renamed AbstractBatchLearnerWrapper to AbstractBatchLearnerContainer
  • Added DiscriminantCategorizer and BinaryDiscriminantCategorizer interfaces. Almost all Categorizers now implement one of these interfaces; some existing methods were renamed to match these standard interfaces.
  • Added DistanceSamplingClusterInitializer, which is an implementation of the k-means++ initialization algorithm.
  • HiddenMarkovModel and BaumWelchAlgorithm had some performance improvements.
  • Added KernelPrincipalComponentsAnalysis, which is an implementation of kernel PCA using eigen-decomposition.
  • DatasetUtil: Added countOutputValues.
  • TargetEstimatePair and WeightedTargetEstimatePair are now interfaces; existing implementations moved to DefaultTargetEstimatePair and DefaultWeightedTargetEstimatePair.
  • ConstantEvaluator: Now extends AbstractCloneableSerializable.
  • ThresholdBinaryCategorizer is now an interface. Existing implementation moved to ScalarThresholdBinaryCategorizer.
  • AbstractThresholdBinaryCategorizer now longer contains the threshold directly, instead it assumes the threshold is applied in evaluateAsDouble and categorizes based on zero. This is to remove the confusion of having both a bias and a threshold in some classes and to clarify the meaning of evaluateAsDouble so that it matches the new BinaryDiscriminantCategorizer interface.
  • DataHistogram: Added isEmpty method and implemented in AbstractDataHistogram.
  • Made new ConfusionMatrix and BinaryConfusionMatrix interfaces and put them in the gov.sandia.cognition.learning.performance.categorization. Refactored existing confusion matrix code to implement these interfaces; the existing class ending up in DefaultBinaryConfusionMatrix. New confusion matrix interface uses generics to be useful for more than just binary categorization.
  • Now uses JUnit 4.6 for tests.
BibTeX Entry: Download
Corresponding Paper BibTeX Entry: Download
Supported Operating Systems: Agnostic, Platform Independent
Data Formats: Matlab, Csv, Xml, Xstream
Tags: Classification, Clustering, Adaboost, Decision Tree Learning, Algorithms, Gaussian Mixture Models, Bagging, Ensemble Methods, Gaussian Processes, Affinity Propagation, Bfgs, Generics, Genetic Algorith
Archive: download here


No one has posted any comments yet. Perhaps you'd like to be the first?

Leave a comment

You must be logged in to post comments.