Shogun (verktygslåda)
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
|
Förvar | |
Skrivet i | C++ |
Operativ system | Cross-plattform |
Typ | Programvarubibliotek |
Licens | BSD3 med valfri GNU GPLv3 |
Hemsida |
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.
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/ .