Oct. 28, 2013 - Soeren Sonnenburg - email@example.com>
SHOGUN Release version 3.0.0 (libshogun 14.0,
data 0.6, parameter 1)
This release features 8 successful Google Summer of Code projects and it is the result of an incredible effort by our students. All projects come with very cool ipython-notebooks that contain background, code examples and visualizations. These can be found on our webpage!
The projects are:
- Gaussian Processes for binary classification [Roman Votjakov]
- Sampling log-determinants for large sparse matrices [Soumyajit De]
- Metric Learning via LMNN [Fernando Iglesias]
- Independent Component Analysis (ICA) [Kevin Hughes]
- Hashing Feature Framework [Evangelos Anagnostopoulos]
- Structured Output Learning [Hu Shell]
- A web-demo framework [Liu Zhengyang] Other important changes are the change of our build-system to cmake and the addition of clone/equals methods to our base-class. In addition, you get the usual ton of bugfixes, new unit-tests, and new mini-features.
- In addition, the following features have been added:
- Added method to importance sample the (true) marginal likelihood of a Gaussian Process using a posterior approximation.
- Added a new class for classical probability distribution that can be sampled and whose log-pdf can be evaluated. Added the multivariate Gaussian with various numerical flavours.
- Cross-validation framework works now with Gaussian Processes
- Added nu-SVR for LibSVR class
- Modelselection is now supported for parameters of sub-kernels of combined kernels in the MKL context. Thanks to Evangelos Anagnostopoulos
- Probability output for multi-class SVMs is now supported using various heuristics. Thanks to Shell Xu Hu.
- Added an "equals" method to all Shogun objects that recursively compares all registered parameters with those of another instance -- up to a specified accuracy.
- Added a "clone" method to all Shogun objects that creates a deep copy
- Multiclass LDA. Thanks to Kevin Hughes.
- Added a new datatype, complex128_t, for complex numbers. Math functions, support for SGVector/Matrix, SGSparseVector/Matrix, and serialization with Ascii and Xml files added. [Soumyajit De].
- Added mini-framework for numerical integration in one variable. Implemented Gauss-Kronrod and Gauss-Hermite quadrature formulas.
- Changed from configure script to CMake by Viktor Gal.
- Add C++0x and C++11 cmake detection scripts
- ND-Array typmap support for python and octave modular.
- Fix json serialization.
- Fixed bugs in FITC inference method that caused wrong posterior results.
- Fixed bugs in GP Regression that caused negative values for the variances.
- Fixed two memory errors in the streaming-features framework.
- Fixed bug in the Kernel Mean Matching implementation (thanks to Meghana Kshirsagar).
Cleanup and API Changes:
- Switch compile system to cmake
- SGSparseVector/Matrix are now derived from SGReferenceData and thus refcounted.
- Move README and INSTALL files to top level directory.
- Use common RefCount class for ReferencedData and CSGObjects.
- Rename HMSVMLabels to SequenceLabels
- Refactored method to fit a sigmoid to SVM scores, now in CStatistics, still called from CBinaryLabels.
- Use Dynamic arrays to hold preprocessors in features instead of raw pointers.
- Use Dynamic arrays to hold Features in CombinedFeatures.
- Use Dynamic arrays to hold Kernels in CombinedKernels/ProductKernels.
- Use Eigen3 for GPs, LDA
March 17, 2013 - Soeren Sonnenburg - firstname.lastname@example.org>
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 CStreamingFeatures::get_streamed_features().
- New concept of artificial data generator classes: Based on streaming features. First implemented instances are CMeanShiftDataGenerator and CGaussianBlobsDataGenerator. 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 @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.