Sergey Lisitsyn | 17 Mar 14:02 2013

Announcement: Shogun 2.1 is out!

Dear all,

on behalf of the team, I am pleased to announce that we have released the new version of the Shogun machine learning toolbox - 2.1.0. This release is the result of hard work of all developers - no jokes, we've got almost 800 commits since 2.0.0 and it contains a load of bugfixes, new features and improvements (see verbose list below) that make Shogun more efficient, robust and versatile.

Please check the website to download the new release or check the project at GitHub to see the sources.

Let me insight you on the changes that is going on. I am glad to state that we have finally comprehended the need of software quality - we increase (thanks to Heiko) test coverage day-to-day. This makes the software much more reliable and in the end saves time of both users and developers. Another thing I'd like to point is that (I believe) we should strive for ultimate usability and that could be even more important than the number of algorithms we integrate. A great change is that we are improving our code with the Eigen3 library instead of using BLAS/ATLAS - that makes our code shorter and more efficient. 

We are planning two events in the near future. First of all, we are going to apply for GSoC 2013 to hopefully expand our team with new day-to-day contibutors. Second, we are planning to hold Shogun Toolbox Days 2013 in Berlin <at> C-base. Please stay tuned if you are interested, more announcements to come later!

And finally, some Oscar-award-like part.

We have received a bunch of bug reports and suggestions from our users - we'd like to thank you all for using the Shogun toolbox and for your help to make it better. Please keep on providing a feedback, we really appreciate that!

I'd like to thank our most hard-working teammates Soeren Sonnenburg and Heiko Strathmann. I'd also like to especially thank the developers who stayed with us after GSoC 2012, namely Fernando Iglesias and Viktor Gal. That's just great we have such team.

Here comes a little more verbose list of changes that we have done:

* SHOGUN Release version 2.1.0 (libshogun 13.0, data 0.5, parameter 1)
* This release also contains several enhancements, cleanups and bugfixes:
* Features:
- Linear Time MMD two-sample test now works on streaming-features, which 
 allows to perform tests on infinite amounts of data. A block size may
 be specified for fast processing. The below features were also added.
 By Heiko Strathmann.
- It is now possible to ask streaming features to produce an instance
 of streamed features that are stored in memory and returned as a
 CFeatures* object of corresponding type. See
- New concept of artificial data generator classes: Based on streaming
 features. First implemented instances are CMeanShiftDataGenerator and
 Use above new concepts to get non-streaming data if desired. 
- Accelerated projected gradient multiclass logistic regression classifier 
 by Sergey Lisitsyn.
- New CCSOSVM based structured output solver by Viktor Gal
- A collection of kernel selection methods for MMD-based kernel two-
 sample tests, including optimal kernel choice for single and combined
 kernels for the linear time MMD. This finishes the kernel MMD framework
 and also comes with new, more illustrative examples and tests.
 By Heiko Strathmann.
- Alpha version of Perl modular interface developed by Christian Montanari.
- New framework for unit-tests based on googletest and googlemock by
 Viktor Gal. A (growing) number of unit-tests from now on ensures basic
 funcionality of our framework. Since the examples do not have to take
 this role anymore, they should become more ilustrative in the future.
- Changed the core of dimension reduction algorithms to the Tapkee library.
* Bugfixes:
- Fix for shallow copy of gaussian kernel by Matt Aasted.
- Fixed a bug when using StringFeatures along with kernel machines in
 cross-validation which cause an assertion error. Thanks to Eric (yoo)!
- Fix for 3-class case training of MulticlassLibSVM reported by Arya Iranmehr
 that was suggested by Oksana Bayda.
- Fix for wrong Spectrum mismatch RBF construction in static interfaces reported
 by Nona Kermani.
- Fix for wrong include in SGMatrix causing build fail on Mac OS X 
 (thanks to <at> bianjiang).
- Fixed a bug that caused kernel machines to return non-sense when using
          custom kernel matrices with subsets attached to them.
- Fix for parameter dictionary creationg causing dereferencing null pointers
 with gaussian processes parameter selection.
- Fixed a bug in exact GP regression that caused wrong results.
- Fixed a bug in exact GP regression that produced memory errors/crashes.
- Fix for a bug with static interfaces causing all outputs to be
 -1/+1 instead of real scores (reported by Kamikawa Masahisa).
* Cleanup and API Changes:
- SGStringList is now based on SGReferencedData.
- "confidences" in context of CLabel and subclasses are now "values".
- CLinearTimeMMD constructor changes, only streaming features allowed.
- CDataGenerator will soon be removed and replaced by new streaming-
 based classes.
- SGVector, SGMatrix, SGSparseVector, SGSparseVector, SGSparseMatrix
 refactoring: Now contains load/save routines, relevant functions from
 CMath, and implementations went to .cpp file.

Shogun team