Shogun (toolbox)


Shogun (toolbox)

Infobox Software
name = Shogun



caption =
collapsible =
author = Gunnar Raetsch
Soeren Sonnenburg
developer =
released =
latest release version = 0.6.4
latest release date = August 15, 2008
latest preview version =
latest preview date =
frequently updated =
programming language = C++
operating system = Linux, Mac OS X
platform =
size =
language =
status =
genre = Machine learning
license = GNU General Public License v3
website = http://www.shogun-toolbox.org/

Shogun is an Free software, open source toolbox written in C++. It offers numerous algorithms and data structures for machine learning problems.

Shogun is licensed under the terms of the GNU General Public License version 3 or later.

Description

The focus of "Shogun" is on kernel machines such as support vector machines for regression and classification problems. "Shogun" also offers a full implementation of Hidden Markov models.The core software itself is written in C++ and offers interfaces for MATLAB, Octave, Python and R."Shogun" has been under active development since 1999. Today there is a vibrant user community all over the world using "Shogun" as a base for research and education, and contributing to the core package.

Supported algorithms

Currently "Shogun" supports the following algorithms:
* Kernel Ridge Regression
* Hidden Markov Models
* Support vector machine
* K-Nearest Neighbors
* Linear discriminant analysis
* Kernel Perceptrons.

Many different kernels are implemented, ranging from kernels for numerical data (such as gaussian or linear kernels) to kernels on special data (such as strings over certain alphabets). The currently implemented kernels for numeric data include:
* linear
* gaussian
* polynomial
* sigmoid kernels

The supported kernels for special data include:
* Spectrum
* Weighted Degree
* Weighted Degree with Shifts

The latter group of kernels allows processing of arbitrary sequences over fixed alphabets such as DNA sequences as well as whole e-mail texts.

Special features

As "Shogun" was developed with bioinformatics applications in mind it is capable of processing huge datasets consisting of up to 10 million samples. "Shogun" supports the use of pre-calculated kernels. It is also possible to use a combined kernel i.e. a kernel consisting of a linear combination of arbitrary kernels over different domains. The coefficients or weights of the linear combination can be learned as well. For this purpose "Shogun" offers a "multiple kernel learning" functionality.

References

* C.Cortes und V.N. Vapnik. "Support-vector networks" Machine Learning, 20(3):273--297, 1995.
* S.Sonnenburg, G.Rätsch, C.Schäfer und B.Schölkopf:, "Large Scale Multiple Kernel Learning" Journal of Machine Learning Research,7:1531-1565, July 2006, K.Bennett and E.P.-Hernandez Editors.
* T.Joachims. "Making large-scale SVM learning practical" In B.Schölkopf, C.J.C. Burges, and A.J. Smola, editors, "Advances in Kernel Methods - Support Vector Learning", pages 169--184, Cambridge, MA, 1999. MIT Press.
* C.-C. Chang and C.-J. Lin, "LIBSVM : a library for support vector machines", 2001.

External links

* [http://www.shogun-toolbox.org/ Shogun toolbox homepage]
* [http://freshmeat.net/projects/shogun/ SHOGUN] on Freshmeat


Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Shogun (Toolbox) — Shogun ist eine Open Source Toolbox aus dem Bereich des Maschinellen Lernens. Mit ihr lassen sich Regressions und Klassifikations Probleme lösen, sowie unter anderem Hidden Markov Models lernen. Inhaltsverzeichnis 1 Anwendungsschwerpunkt 2… …   Deutsch Wikipedia

  • Shogun (disambiguation) — Shogun is a military rank and historical title in Japan.Media* Shōgun (novel), the first novel in James Clavell s Asian Saga * Shōgun (film) *Shogun (album), Trivium s fourth studio album * Shōgun (TV miniseries), a Japanese American television… …   Wikipedia

  • Shogun (Begriffsklärung) — Shogun bezeichnet: Shōgun, japanischer Titel Shogun (Roman), Roman von James Clavell Shogun (Fernsehserie), Verfilmung des Romans von Clavell Shogun (Toolbox), Toolbox aus dem Bereich des Maschinellen Lernens Shogun (Album), Album der Band… …   Deutsch Wikipedia

  • Support vector machine — Support vector machines (SVMs) are a set of related supervised learning methods used for classification and regression. Viewing input data as two sets of vectors in an n dimensional space, an SVM will construct a separating hyperplane in that… …   Wikipedia

  • Support-Vector-Machine — Eine Support Vector Machine [səˈpɔːt ˈvektə məˈʃiːn] (SVM, die Übersetzung aus dem Englischen, „Stützvektormaschine“ oder Stützvektormethode, ist nicht gebräuchlich) ist ein Klassifikator (vgl. Klassifizierung). Eine Support Vector Machine… …   Deutsch Wikipedia

  • Support-Vector-Maschine — Eine Support Vector Machine [səˈpɔːt ˈvektə məˈʃiːn] (SVM, die Übersetzung aus dem Englischen, „Stützvektormaschine“ oder Stützvektormethode, ist nicht gebräuchlich) ist ein Klassifikator (vgl. Klassifizierung). Eine Support Vector Machine… …   Deutsch Wikipedia

  • Support-Vektor-Maschine — Eine Support Vector Machine [səˈpɔːt ˈvektə məˈʃiːn] (SVM, die Übersetzung aus dem Englischen, „Stützvektormaschine“ oder Stützvektormethode, ist nicht gebräuchlich) ist ein Klassifikator (vgl. Klassifizierung). Eine Support Vector Machine… …   Deutsch Wikipedia

  • Supportvektormaschine — Eine Support Vector Machine [səˈpɔːt ˈvektə məˈʃiːn] (SVM, die Übersetzung aus dem Englischen, „Stützvektormaschine“ oder Stützvektormethode, ist nicht gebräuchlich) ist ein Klassifikator (vgl. Klassifizierung). Eine Support Vector Machine… …   Deutsch Wikipedia

  • Lernen von Maschinen — Maschinelles Lernen ist ein Oberbegriff für die „künstliche“ Generierung von Wissen aus Erfahrung: Ein künstliches System lernt aus Beispielen und kann nach Beendigung der Lernphase verallgemeinern. Das heißt, es lernt nicht einfach die Beispiele …   Deutsch Wikipedia

  • Machine Learning — Maschinelles Lernen ist ein Oberbegriff für die „künstliche“ Generierung von Wissen aus Erfahrung: Ein künstliches System lernt aus Beispielen und kann nach Beendigung der Lernphase verallgemeinern. Das heißt, es lernt nicht einfach die Beispiele …   Deutsch Wikipedia