Shogun (verktygslåda)

Shogun maskininlärningsverktygslåda
Shogun mac os
Originalförfattare
Gunnar Rätsch Soeren Sonnenburg
Utvecklare



Soeren Sonnenburg Sergey Lisitsyn Heiko Strathmann Fernando Iglesias Viktor Gal
Stabil frisättning
6.0.0 / 25 april 2017 ( 2017-04-25 )
Förvar github .com /shogun-toolbox /shogun
Skrivet i C++
Operativ system Cross-plattform
Typ Programvarubibliotek
Licens BSD3 med valfri GNU GPLv3
Hemsida www .shogun .ml

Shogun är ett gratis bibliotek för maskininlärning med öppen källkod skrivet i C ++ . Den erbjuder många algoritmer och datastrukturer för problem med maskininlärning . Den erbjuder gränssnitt för Octave , Python , R , Java , Lua , Ruby och C# med hjälp av SWIG .

Den är licensierad under villkoren i GNU General Public License version 3 eller senare.

Beskrivning

Fokus för Shogun ligger på kärnmaskiner som stödvektormaskiner för regressions- och klassificeringsproblem . Shogun erbjuder också en fullständig implementering av Hidden Markov-modeller . Kärnan i Shogun är skriven i C++ och erbjuder gränssnitt för MATLAB , Octave , Python , R , Java , Lua , Ruby och C# . Shogun har varit under aktiv utveckling sedan 1999. Idag finns det en levande användargemenskap över hela världen som använder Shogun som bas för forskning och utbildning och bidrar till kärnpaketet.

En skärmdump tagen under Mac OS X

Algoritmer som stöds

För närvarande stöder Shogun följande algoritmer:

  • Stöd vektor maskiner
  • Dimensionalitetsreduktionsalgoritmer, såsom PCA, Kernel PCA, Locally Linear Embedding, Hessian Locally Linear Embedding, Local Tangent Space Alignment, Linear Local Tangent Space Alignment, Kernel Locally Linear Inedding, Kernel Local Tangent Space Alignment, Multidimensional Scaling, Isomap, Diffusionskartor, Egenkartor från Laplacian
  • Online inlärningsalgoritmer som SGD-QN, Vowpal Wabbit
  • Klustringsalgoritmer: k-medel och GMM
  • Kernel Ridge-regression, stöd för vektorregression
  • Dolda Markov-modeller
  • K-Närmaste grannar
  • Linjär diskriminantanalys
  • Kärnperceptroner.

Många olika kärnor är implementerade, allt från kärnor för numerisk data (som gaussiska eller linjära kärnor) till kärnor på speciell data (som strängar över vissa alfabet). De för närvarande implementerade kärnorna för numerisk data inkluderar:

  • linjär
  • gaussisk
  • polynom
  • sigmoida kärnor

De kärnor som stöds för speciell data inkluderar:

  • Spektrum
  • Viktad grad
  • Viktad grad med skift

Den senare gruppen av kärnor tillåter bearbetning av godtyckliga sekvenser över fasta alfabet som DNA-sekvenser såväl som hela e-posttexter.

Specialfunktioner

Eftersom Shogun utvecklades med bioinformatikapplikationer i åtanke kan den bearbeta enorma datamängder bestående av upp till 10 miljoner prover. Shogun stöder användningen av förberäknade kärnor. Det är också möjligt att använda en kombinerad kärna, dvs en kärna som består av en linjär kombination av godtyckliga kärnor över olika domäner. Koefficienterna eller vikterna för den linjära kombinationen kan också läras in. För detta ändamål erbjuder Shogun en inlärningsfunktion för flera kärnor .

  • S. Sonnenburg, G. Rätsch, S. Henschel, C. Widmer, J. Behr, A. Zien, F. De Bona, A. Binder, C. Gehl och V. Franc: The SHOGUN Machine Learning Toolbox , Journal of Machine Learning Research , 11:1799−1802, 11 juni 2010.
  • M. Gashler. Waffles: A Machine Learning Toolkit. Journal of Machine Learning Research, 12 (juli):2383–2387, 2011.
  • P. Vincent, Y. Bengio, N. Chapados och O. Delalleau. Lär dig högpresterande maskininlärningsbibliotek. URL http://plearn.berlios.de/ .

externa länkar

  • Shogun verktygslåda hemsida
  • shogun GitHub
  • "SHOGUN" . Frikod .