Shogun (Toolbox)

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

Anwendungsschwerpunkt

Abb. 1. Die Abbildung zeigt das Python Interface der Shogun-Toolbox. Zu sehen ist ein Support Vector Machine-Klassifikations-(links) und Regressions-Ergebnis (rechts)

Der Fokus dieser Toolbox liegt ganz klar auf so genannten Kern-Methoden (siehe Kernel (Maschinelles Lernen)), mit dem Anwendungsschwerpunkt Bioinformatik. Dazu wurde eine Reihe von Kernen auf Sequenzen (sogenannte String-Kerne) implementiert und besonders auf Geschwindigkeit zur Anwendung auf großen Datenmengen getrimmt. So lassen sich mit der Toolbox Probleme mit String-Kernen auf sehr großen Datenmengen lösen (bis zu 10 Millionen).

Insbesondere bietet Shogun generische Schnittstellen zu vielen verschiedenen Implementierungen von Support Vector Machines (SVMs), wie z. B. SVMlight und libSVM. Dies ermöglicht es allen SVMs, dieselben Kern-Implementierungen zu verwenden, und erleichtert das Hinzufügen neuer kernbasierter Lernmethoden. Neben den folgenden Standard-Kernen (linearer, polynomieller, Gauss- und Sigmoid-Kern (siehe Kernel (Maschinelles Lernen)) sind in Shogun effiziente Implementierungen für kürzlich publizierte String-Kerne vorhanden, wie z. B. der Locality Improved, Fischer, TOP, Spektrum, Weighted Degree Kernel (with shifts). Für die letzteren wurden die effizienten LINADD Optimierungen implementiert.

Besonderheiten

Shogun ermöglicht es außerdem, mit eigenen vorberechneten Kernen zu arbeiten. Eines der Hauptmerkmale dieser Toolbox ist der so genannte kombinierbare Kern (engl. combined Kernel), welcher sich aus einer gewichteten Linearkombination von Unter-Kernen zusammensetzt: k(x,x')=\sum_{i=1}^m \beta_i k_i(x,x'). Dabei müssen die Unter-Kerne nicht notwendigerweise auf demselben Eingabe-Raum arbeiten, sondern auf verschiedenen Domänen. Shogun kann eine optimale Unter-Kern-Gewichtung, d. h. \beta_i,\;i=1\dots m, durch den Multiple Kernel Learning Algorithmus lernen. Neben den SVM 2-Klassen Klassifikations und Regressionsproblemen ist in Shogun auch eine Reihe von linearen Methoden implementiert. Beispiele hierfür sind die Diskriminanzanalyse (engl. Linear Discriminant Analysis (LDA)), Linear Programming Machine (LPM), (Kernel) Perceptronen und Hidden Markov Modelle. Shogun kann ein reiches Spektrum an Daten verarbeiten. Nicht nur sind voll besetzte Eingabe-Matrizen, sondern auch dünn besetzte, sowie Strings, die jeweils vom Typ Integer/Gleitkomma (einfache oder doppelte Genauigkeit) sein können, möglich. Weiterhin können Ketten von Präprozessoren an die Eingaben angehängt werden, so dass die Eingaben on-the-fly von den Lernalgorithmen weiterverarbeit werden können.

Schnittstellen

Shogun ist in C++ implementiert und bietet Schnittstellen zu Matlab™, R, Octave und Python. Diese Schnittstellen erlauben interaktives experimentieren mit den Lernalgorithmen (siehe Abbildung 1 für die Python-Schnittstelle), aber auch Batch-Skript-Verarbeitung auf Rechenclustern.

Literatur

  • C. Cortes, Wladimir Wapnik: Support-vector networks. In: Machine Learning. Band 20, Nr. 3, 1995, Seiten 273–297.
  • S. Sonnenburg, G. Rätsch, C. Schäfer und B. Schölkopf: Large Scale Multiple Kernel Learning. In: Journal of Machine Learning Research. Band 7, Juli 2006, Seiten 1531–1565.
  • T. Joachims: Making large-scale SVM learning practical. In: B. Schölkopf, C. J. C. Burges, A. J. Smola (Hrsg.): Advances in Kernel Methods – Support Vector Learning. MIT Press, Cambridge, MA, 1999, Seiten 169–184.
  • C.-C. Chang, C.-J. Lin: LIBSVM: a library for support vector machines. 2001.

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужно сделать НИР?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • 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 …   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

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”