mahout-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject [CONF] Apache Mahout > Algorithms
Date Fri, 15 Jul 2011 17:40:00 GMT
Space: Apache Mahout (
Page: Algorithms (

Edited by Grant Ingersoll:
h2. Algorithms

This section contains links to information, examples, use cases, etc. for the various algorithms
we intend to implement.  Click the individual links to learn more. The initial algorithms
descriptions have been copied here from the original project proposal. The algorithms are
grouped by the application setting, they can be used for. In case of multiple applications,
the version presented in the paper was chosen, versions as implemented in our project will
be added as soon as we are working on them.

Original Paper: [Map Reduce for Machine Learning on Multicore|]

Papers related to Map Reduce:
* [Evaluating MapReduce for Multi-core and Multiprocessor Systems|]
* [Map Reduce: Distributed Computing for Machine Learning|]

For Papers, videos and books related to machine learning in general, see [Machine Learning

All algorithms are either marked as _integrated_, that is the implementation is integrated
into the development version of Mahout. Algorithms that are currently being developed are
annotated with a link to the JIRA issue that deals with the specific implementation. Usually
these issues already contain patches that are more or less major, depending on how much work
was spent on the issue so far. Algorithms that have so far not been touched are marked as

[What, When, Where, Why (but not How or Who)] \- Community tips, tricks, etc. for when to
use which algorithm in what situations, what to watch out for in terms of errors.  That is,
practical advice on using Mahout for your problems.

h3. Classification

A general introduction to the most common text classification algorithms can be found at Google
Answers: [] For information
on the algorithms implemented in Mahout (or scheduled for implementation) please visit the
following pages.

[Logistic Regression] (SGD)


[Support Vector Machines] (SVM) (open: [MAHOUT-14|],
[MAHOUT-232|] and [MAHOUT-334|])

[Perceptron and Winnow] (open: [MAHOUT-85|])

[Neural Network] (open, but [MAHOUT-228|] might

[Random Forests] (integrated - [MAHOUT-122|],
[MAHOUT-140|], [MAHOUT-145|])

[Restricted Boltzmann Machines] (open, [MAHOUT-375|],

[Online Passive Aggressive] (awaiting patch commit, [MAHOUT-702|])

h3. Clustering

[Reference Reading]

[MAHOUT:Canopy Clustering] ([MAHOUT-3|] - integrated)

[K-Means Clustering] ([MAHOUT-5|] - integrated)

[Fuzzy K-Means] ([MAHOUT-74|] - integrated)

[Expectation Maximization] (EM) ([MAHOUT-28|])

[Mean Shift Clustering] ([MAHOUT-15|] - integrated)

[Hierarchical Clustering] ([MAHOUT-19|])

[Dirichlet Process Clustering] ([MAHOUT-30|]
- integrated)

[Latent Dirichlet Allocation] ([MAHOUT-123|]
- integrated)

[Spectral Clustering] ([MAHOUT-363|] - integrated)

h3. Pattern Mining

[Parallel FP Growth Algorithm|Parallel Frequent Pattern Mining] (Also known as Frequent Itemset

h3. Regression

[Locally Weighted Linear Regression] (open)

h3. Dimension reduction

[Singular Value Decomposition and other Dimension Reduction Techniques|Dimensional Reduction]
(available since 0.3)

[Principal Components Analysis] (PCA) (open)

[Independent Component Analysis] (open)

[Gaussian Discriminative Analysis] (GDA) (open)

h3. Evolutionary Algorithms

see also: [MAHOUT-56 (integrated)|]

You will find here information, examples, use cases, etc. related to Evolutionary Algorithms.

Introductions and Tutorials:
* [Evolutionary Algorithms Introduction|]
* [How to distribute the fitness evaluation using Mahout.GA|Mahout.GA.Tutorial]

* [Traveling Salesman]
* [Class Discovery]

h3. Recommenders / Collaborative Filtering

Mahout contains both simple non-distributed recommender implementations and distributed Hadoop-based

 * [Non-distributed recommenders ("Taste")|Recommender Documentation] (integrated)
 * [Distributed recommenders (item-based)|Itembased Collaborative Filtering] (integrated)
 * [First-timer FAQ|Recommender First-Timer FAQ]

h3. Vector Similarity

Mahout contains implementations that allow one to compare one or more vectors with another
set of vectors.  This can be useful if one is, for instance, trying to calculate the pairwise
similarity between all documents (or a subset of docs) in a corpus.

* RowSimilarityJob -- Builds an inverted index and then computes distances between items that
have co-occurrences.  This is a fully distributed calculation.
* VectorDistanceJob -- Does a map side join between a set of "seed" vectors and all of the
input vectors.

h3. Other

 * [Collocations]

h3. Non-MapReduce algorithms

Some algorithms and applications appeared on the mailing list, that have not been published
in map reduce form so far. As we do not restrict ourselves to Hadoop-only versions, these
proposals are listed here.

[Hidden Markov Models] (HMM) (open)

Change your notification preferences:

View raw message