SHOGUN es un proyecto de software de código abierto diseñado desde el offset para proporcionar una caja de herramientas de aprendizaje automático dirigido a métodos kernel a gran escala, y diseñado específicamente para máquinas de soporte vectorial (SVM). El software se puede utilizar fácilmente desde el interior de varios lenguajes de programación, incluyendo C, C ++, Python, Octave, Matlab, Java, C #, Ruby, Lua, UNIX Shell, y R.
La aplicación ofrece un objeto estándar SVM (Support Vector Machines) que puede interactuar con diversas implementaciones SVM. También incluye muchos métodos lineales, como la máquina de Programación Lineal (LPM), análisis discriminante lineal (LDA), (Kernel) Perceptrons, así como algunos algoritmos que pueden ser utilizados para entrenar oculto de Markov models.Features en una serie de características glanceKey incluyen uno clase clasificación, clasificación, regresión, el aprendizaje de salida estructurado, pre-procesamiento multiclase, estrategias de selección de modelo incorporadas, marco de pruebas, de apoyo al aprendizaje a gran escala, múltiples tareas de aprendizaje, adaptación de dominio, la serialización, el código paralelizado, medidas de rendimiento, regresión contraída kernel, vector apoyo regresión y procesos gaussianos.
Además, apoya el aprendizaje del núcleo múltiple, incluyendo MKL q-norma y multiclase MKL, es compatible con los clasificadores y Gaussianos Clasificación de proceso, compatible con la máquina de programación lineal, cadenas LDA, Markov, modelos Naive Bayes, regresión logística, LASSO, k-NN ocultos de Markov, PCA, kernel PCA, Isomap, escalamiento multidimensional, incrustación localmente lineal, mapa difusión, adaptación local espacio tangente, así como eigenmaps laplacianas.
Además, cuenta con el apoyo Barnes-Hut t-SNE, normalizador kernel, kernel sigmoide, granos de cuerda, polinomio, lineal y kernels gaussianos, agrupación jerárquica, k-medias, optimización BFGS, descenso de gradiente, enlaces a CPLEX, enlaces a Mosek, etiqueta el aprendizaje de secuencias, factor de aprendizaje gráfica, SO-SGD, latente SO-SVM y escasos datos representation.Under el capó y availabilitySHOGUN está gestionado escritos en Python y C ++ lenguajes de programación, lo que significa que y rsquo; s compatible con cualquier sistema operativo GNU / Linux donde existen Python y GCC. Está disponible para su descarga como un archivo fuente universal, por lo que se puede instalar en cualquier sistema operativo basado en el kernel Linux
¿Qué hay de nuevo en esta versión:.
- Características:
- Apoyar plenamente python3 ahora
- Agregar mini-lotes k-medias [Parijat Mazumdar]
- Agregar k-medias ++ [Parijat Mazumdar]
- Añadir kernel cadena sub-secuencia [lambday]
- Corrección de errores:
- Compilar correcciones para próxima swig3.0
- Speedup para el proceso de Gauss 'apply ()
- Mejorar cheques unidad de prueba / integración
- libbmrm memoria sin inicializar lee
- libocas memoria sin inicializar lee
- Octave 3.8 compilar correcciones [Orion Poplawski]
- error java Fix compilación modular [Bjoern Esser]
¿Qué hay de nuevo en la versión 3.1.1:
- Fix compilar error que se produce con CXX0X
- Bump versión de los datos a la versión requerida
¿Qué hay de nuevo en la versión 3.1.0:
- Esta versión contiene correcciones de errores en su mayoría, pero también cuentan con mejoras .
- El más importante, un par de pérdidas de memoria relacionadas a aplicar () han sido corregidos.
- La escritura y la lectura de las características shogun como protobuf objetos es ahora posible.
- Matrices núcleo personalizado ahora puede ser de 2 ^ 31-1 * 2 ^ 31-1 en tamaño.
- ordenadores portátiles Multiclase IPython, y los otros mejoraron.
- Deja-un-out validación cruzada está convenientemente apoyada.
Se añadieron
¿Qué hay de nuevo en la versión 2.0.0:
- Incluye todo lo que se ha llevado a cabo antes y durante el Google Summer of Code 2012.
- Los estudiantes han puesto en marcha varias características nuevas, como el aprendizaje estructurado de salida, procesos gaussianos, variable latente SVM (y el aprendizaje de salida estructurado), las pruebas estadísticas en kernel espacios que reproducen, diversos algoritmos de aprendizaje de múltiples tareas, y varias mejoras de usabilidad, para nombrar unos pocos.
¿Cuál es nuevo en la versión 1.1.0:
- Esta versión introdujo el concepto de 'convertidores, que le permite construir incrustaciones de elementos arbitrarios.
- También incluye algunas técnicas de reducción de dimensiones nuevas y mejoras significativas de rendimiento en el kit de herramientas de reducción de dimensionalidad.
- Otras mejoras incluyen una significativa aceleración de la compilación, varias correcciones de errores para interfaces modulares y algoritmos, y la mejora de Cygwin, Mac OS X, y clang ++ compatibilidad.
- Problemas Github ahora se utiliza para los problemas y errores de seguimiento.
¿Cuál es nuevo en la versión 1.0.0:
- Esta versión cuenta con interfaces para nuevos lenguajes como Java, C #, Ruby, y Lua, un marco de selección de modelos, muchas técnicas de reducción de dimensiones, Gauss estimación Mezcla Modelo, y un marco de aprendizaje en línea en toda regla.
¿Qué hay de nuevo en la versión 0.10.0:
- Características:
- La serialización de objetos derivados de CSGObject, es decir, todos los objetos shogun (SVM, Kernel, Características, Preprocesadores, ...) como ASCII, JSON, XML y HDF5
- Crear SVMLightOneClass
- Añadir CustomDistance en analogía con el kernel personalizado
- Añadir HistogramIntersectionKernel (gracias Koen van de Sande para el parche)
- Soporte 2010a Matlab
- soporte modular SpectrumMismatchRBFKernel (gracias Rob Patro para el parche)
- Añadir ZeroMeanCenterKernelNormalizer (gracias Gorden Jemwa para el parche)
- Swig apoyo 2.0
- Corrección de errores:
- Custom Kernels ahora puede ser & gt; 4G (gracias Koen van de Sande para el parche)
- Set C localidad en el arranque en init_shogun para evitar incompatiblies con carrozas ascii y fprintf
- Compilar solución cuando el recuento de referencias se desactiva
- set_position_weights Arreglo para el kernel wd (reportado por Dave duVerle)
- set_wd_weights Arreglo para el kernel wd.
- crasher Fix en SVMOcas (reportado por Yaroslav)
- Limpieza y API:
- Renombrado SVM_light / SVR_light a SVMLight etc.
- Eliminar prefijo C delante de nombres de clase no serializables
- CSimpleKernel e introducir CDotKernel como su clase base gota. Se necesita esta manera todos los núcleos basados punto-producto puede ser aplicado en la parte superior de DotFeatures y sólo una única aplicación para este tipo de granos.
Cambios
¿Qué hay de nuevo en la versión 0.9.3:
- Características:
- Experimental lp-norma MCMKL
- núcleos nuevos: SpectrumRBFKernelRBF, SpectrumMismatchRBFKernel, WeightedDegreeRBFKernel
- kernel WDK apoya aminoácidos
- Cuerda ahora soportan anexar operaciones (y creación de
- Soporte python-dbg
- Permitir carrozas como entrada para el kernel personalizado (y matrices & gt; 4 GB de tamaño)
- Corrección de errores:
- fix vinculación estática.
- Fix add_to_normal del kernel lineal dispersa
- Limpieza y API:
- Eliminar init () en medidas de desempeño
- Ajuste .so sufijo para python y utilizar distutils pitón de averiguar instalar caminos
Características del
Cambios
¿Qué hay de nuevo en la versión 0.9.2:
- Características:
- Lectura directa y escritura de archivos en función ASCII / Archivos binarios / HDF5.
- Implementado múltiples normalizador kernel tarea.
- Implementar kernel SNP.
- Implementar plazo para libsvm / libsvr.
- Integrar elástico neto MKL (gracias Ryoata Tomioka para el parche).
- Implementar Características hash WD.
- Implementar en hash Características Sparse Poly.
- Integrar LIBLINEAR 1.51
- LibSVM puede ahora ser entrenado con sesgo deshabilitado.
- Añadir funciones a Set / Get io / paralelo global y local / ... objetos.
- Corrección de errores:
- set_w Fix () para clasificadores lineales.
- estático Octave, interfaces de Python, CMDLINE y Modular Python Compilar limpiamente bajo Windows / Cygwin de nuevo.
- En las interfaces estáticas pruebas podría fallar cuando no se realiza directamente después del entrenamiento.
Comentarios que no se encuentran