17 Mar 2013 14:02
Announcement: Shogun 2.1 is out!
Sergey Lisitsyn <sergey.lisitsyn@...>
2013-03-17 13:02:33 GMT
2013-03-17 13:02:33 GMT
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.
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:
- 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.
- 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-
- SGVector, SGMatrix, SGSparseVector, SGSparseVector, SGSparseMatrix
refactoring: Now contains load/save routines, relevant functions from
CMath, and implementations went to .cpp file.