JKenelMachines 2.2

Here we go again, it seems I'm only alternating new publications and update to jkms on this page.

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

The can now optionaly depend on EJML in order accelerate the eigen-decomposition. I had a lot of fun implementing some algorithms (Jacobi, QR, householder transforms, Givens rotation, ...), which allows the library to perform all available BLAS on its own. However, it will never be competitive with dedicated libraries. So I checked the current pure java blas library, and EJML is probably the best out there (kudos to the people behind). I made a simple wrapper that checks that the library is in the classpath, and uses it in that case. No older code should break because of this. If it does, email me rapidly...

Next, I will wrap more things around EJML (i.e. not only eig), but I still want jkms to be totally autonomous. That is, not existing feature will ever require EJML (nor any other library).

Another new feature is a fast Kernel based on the Nystrom approximation, with an active learning strategy for fast training. this was among the stuff I worked with Hedi Tabia and presented at BMVC last september.

JKernelMachines 1.3

New version of my pure Java ML library. It seems I'm working a lot on it these days. The main novel item is the introduction of a multiclass classifier compatible will all binary classifier thanks to Java Generics. I also made a class for N-Fold cross-validation, and add a package for generating toys data. As usual, there is also some bug fixes.

The updated entry is on mloss.

JKernelMachines 1.2

Short update on JKernelMachines with few news features (new non-convex SVM algorithm, customizable MKL regarding internal SVM solver), many bug fixes, and a more complete example usable as a standalone application.

The reference page can be found on mloss.

JKernelMachines 1.1 is out!

Check the new version: https://mloss.org/software/view/409/

Among the new features worth noting are:

  • Improved building procedure
  • Evaluation and cross validation packages
  • Csv file format
  • Lot more of documentation
  • Very simple and naive unit testing
This version is a must-have! (ok maybe it's too much, but I'm quiet happy with the results).

JKernelMachines on mloss.org and github

I opened an entry on mloss.org for JKernelMachines, as well as a repository on github.

I've also added some sort of documentation in the wiki. I've added a libsvm data format parser and I'm planing a few more new features. Everything is moving a bit fast right now, although the API shouldn't change at all.

Please have a look and make as much comment as you can.