Project details for JKernelMachines

Logo JMLR JKernelMachines 2.2

by dpicard - May 5, 2014, 09:44:25 CET [ Project Homepage BibTeX BibTeX for corresponding Paper Download ]

view (9 today), download ( 2 today ), 2 subscriptions

OverallWhole StarWhole Star1/2 StarEmpty StarEmpty Star
FeaturesWhole StarWhole StarWhole StarEmpty StarEmpty Star
UsabilityWhole StarWhole StarEmpty StarEmpty StarEmpty Star
DocumentationWhole StarWhole StarEmpty StarEmpty StarEmpty Star
(based on 1 vote)
Description:

JKernelMachines: A simple framework for Kernel Machines

JKernelMachines is a java library for learning with kernels. It is primary designed to deal with custom kernels that are not easily found in standard libraries, such as kernels on structured data.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Copyright David Picard 2013

picard@ensea.fr

Features

  • Several learning algorithms (LaSVM, LaSVM-I, SMO, SimpleMKL, GradMKL, QNPKL, SGDQN, Pegasos, ...)
  • Multiclass classification through generic classifiers.
  • Datatype agnosticism through Java Generics
  • Easy coding of new kernels
  • Several standard and exotic kernels (kernel on bags, combination kernels, ...)
  • Input system (can read libsvm, csv and fvec files)
  • Toys generator for artificial data
  • Basic linear algebra package (optionally based on EJML)
  • Evaluation and Cross Validation packages
  • Stand alone (requires only a working jdk and ant for easy compiling)

HowTo

Javadoc

Available with the ant doc command, or here

FAQ

frequently asked questions are answered here

Acknowledgement

This work was mostly done while working at Lip6 - http://www.lip6.fr

Changes to previous version:

Version 2.2.

  • Fast kernel using Nystrom approximation (with fast active learning procedure as in (Tabia BMVC13))
  • Large scale Kernel SVM using the Nystrom approximation
  • New algorithms and better tuning in the algebra package
  • Multhithreading support for algebra
  • Optional dependency on EJML for faster eigen decomposition (check is at runtime, compatible with older code)
  • Revised and online Javadoc
BibTeX Entry: Download
Corresponding Paper BibTeX Entry: Download
URL: Project Homepage
JMLR MLOSS PaperURL: JMLR-MLOSS Paper Homepage
Supported Operating Systems: Agnostic
Data Formats: Csv, Libsvm, Fvec
Tags: Svm, Kernel Methods, Java
Archive: download here

Other available revisons

Version Changelog Date
2.4

Version 2.4

  • Added a simple GUI to rapidly test some algorithms
  • New Active Learning package
  • New algorithms (LLSVM, KMeans)
  • New Kernels (Polynomials, component wise)
  • Many bugfixes and improvements to existing algorithms
  • Many optimization

The number of changes in this version is massive, test it! Don't forget to report any regression.

July 24, 2014, 13:51:44
2.3

Version 2.3 (density edition)

  • Cleaned up a lot of thing in density estimators
  • New density estimator algorithms
  • New MKL interface
  • Updated algebra functionalities
  • Better default tunning of parameters in various algorithms
April 17, 2014, 18:42:10
2.2

Version 2.2.

  • Fast kernel using Nystrom approximation (with fast active learning procedure as in (Tabia BMVC13))
  • Large scale Kernel SVM using the Nystrom approximation
  • New algorithms and better tuning in the algebra package
  • Multhithreading support for algebra
  • Optional dependency on EJML for faster eigen decomposition (check is at runtime, compatible with older code)
  • Revised and online Javadoc
November 29, 2013, 16:07:12
2.1

Version 2.1.

  • new algorithms: SDCA (Shalev-Shwartz 2013), SAG (Le Roux 2012)
  • new custom matrix kernel to handle train and test separately
  • add fvec file format
  • add experimental package for linear algebra and corresponding processing (i.e. PCA, KPCA), use at your own risk!
  • add example app to perform VOC style classification
  • Lots of bug fixes
June 10, 2013, 15:03:58
2.0

Version 2.0.

  • Separation of the core library and unit testing
  • Junit testing added
  • Lots of bug fixes
  • Better examples, and many useless test classes removed
  • A small demo script to benchmark the library was added

Warning: all classes have migrated under the fr.lip6.jkernelmachines package, which breaks backward compatibility, but was necessary to keep the project going on sanely.

February 28, 2013, 21:09:31
1.4

Version 1.4.

  • New MKL algorithm ("A Binary Classification Framework for Two-Stage Multiple Kernel Learning", Kumar et al., ICML 2012)
  • Better support for CSV data
  • various bug fixes
  • Many small bug fixes
  • Improved documentation
November 7, 2012, 07:45:13
1.3

Version 1.3.

  • Multiclass classification package (independent of underlying learning algorithm)
  • Toys generators for artificial data
  • NFold Cross-validation
  • Many small bug fixes
  • Improved documentation
July 4, 2012, 09:48:05
1.2

Version 1.2.

New non-convex learning algorithm (LaSVM-I), MKL algorithms can use several SVM solvers, Standalone program doing cross-validation (provides a useful example), many bug fixes.

June 21, 2012, 19:12:11
1.1

Version 1.1.

New features: Evaluation package, CrossValidation package, CSV data format, Many more documentation, More complete building procedure, (very naive unit testing)

June 4, 2012, 17:39:59
1.0

Initial Announcement on mloss.org.

May 25, 2012, 10:46:06

Comments

No one has posted any comments yet. Perhaps you'd like to be the first?

Leave a comment

You must be logged in to post comments.