Skip to content

Machine Learning Algorithms

Justin Basilico edited this page Feb 12, 2014 · 20 revisions

Here is a list of the machine learning algorithms available in the Foundry. These algorithms are all implemented in Java and are designed to be used in applications and extended for research.

Supervised Learning

Supervised learning algorithms take input-output pairs to train a function that attempts generalize to produce outputs for new and unseen inputs.

Batch Supervised Learning

Batch supervised learning is one of the most typical type of machine learning algorithm. They are given a collection of input-output pairs of examples and train a function to generalize from them.

Incremental Supervised Learning

These are supervised algorithms that can learn incrementally from a stream of data, commonly called online learning. Many have both linear and kernel forms.

Unsupervised Learning

The unsupervised learning algorithms are used with data that is not labeled. Clustering algorithms are usually dependent on using a provided distance metric.

Optimization Algorithms for Learning

General optimization methods can usually work with a variety of learned function types. A common one would be a Generalized Linear Model (GLM) or Neural Network that can be used with various activation functions.

Statistical Modeling for Learning

These algorithms are in the statistics packages

  • [Kalman Filtering]
  • [Importance Sampling]
  • [Markov Chain Monte Carlo (MCMC)]
  • Monte Carlo Integration
  • [Metropolis Hastings]
  • [Particle Filtering]
  • [Rejection Sampling]

Topic Detection Algorithms

These are algorithms in the Text package that are typically used for topic detection.

Baseline Learners

These are just simple baseline learners that others can be compared against.

Clone this wiki locally