forked from shogun-toolbox/shogun
-
Notifications
You must be signed in to change notification settings - Fork 0
/
NEWS
863 lines (784 loc) · 39.4 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
2013-10-01 Soeren Sonnenburg <[email protected]>
* SHOGUN Release version 3.0.0 (libshogun 14.0, data 0.6, parameter 1)
* This release contains several cleanups and bugfixes:
* Features:
- 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
- Add LMNN support.
- Add various ICA algorithms.
- Add Random Fourier Dot Features
- Add HashedDocDotFeatures and HashedDocConverter
- Add LBPyrDotFeatures
- ND-Array typmap support for python and octave modular.
* Bugfixes:
- 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.
* 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
2013-03-17 Soeren Sonnenburg <[email protected]>
* 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
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.
* 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 @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.
2012-09-01 Soeren Sonnenburg <[email protected]>
* SHOGUN Release version 2.0.0 (libshogun 12.0, data 0.4, parameter 1)
* This release also contains several enhancements, cleanups and bugfixes:
* Features:
- This release contains first release of Efficient Dimensionality Reduction Toolkit (EDRT).
- Support for new SWIG -builtin python interface feature (SWIG 2.0.4 is required now).
- EDRT algorithms are now available using static interfaces such as matlab and octave.
- Jensen-Shannon kernel and Homogeneous kernel map preprocessor (thanks to Viktor Gal).
- New 'multiclass' module for multiclass classification algorithms, generic linear
and kernel multiclass machines, multiclass LibLinear and OCAS wrappers,
new rejection schemes concept by Sergey Lisitsyn.
- Various multitask learning algorithms including L1/Lq multitask group lasso logistic regression
and least squares regression, L1/L2 multitask tree guided group lasso logistic regression
and least squares regression, trace norm regularized multitask logistic regression, clustered multitask
logistic regression and L1/L2 multitask group logistic regression by Sergey Lisitsyn.
- Group and tree-guided logistic regression for binary and multiclass problems by Sergey Lisitsyn.
- Mahalanobis distance, QDA, Stochastic Proximity Embedding,
generic OvO multiclass machine and CoverTree & KNN integation (thanks to Fernando J. Iglesias Garcia).
- Structured output learning framework by Fernando J. Iglesias Garcia.
- Hidden markov support vector machine structured output model by Fernando J. Iglesias Garcia.
- Implementations of three Bundle method for risk minimization (BMRM) variants by Michal Uricar.
- Latent SVM framework and latent detector example by Viktor Gal.
- Gaussian processes framework for parameters selection and gaussian processes regression estimation
framework by Jacob Walker.
- New framework for statistical hypothesis testing and algorithms for kernel-based two-sample and
independence tests using MMD and HSIC by Heiko Strathmann.
- New graphical python modular examples.
- Standard Cross-Validation splitting for regression problems by Heiko Strathmann
- New data-locking concept by Heiko Strathmann which allows to tell machines that data
is not going to change during training/testing until unlocked.
KernelMachines now make use of that by not recomputing kernel matrix in cross-validation.
- Cross-validation for KernelMachines is now parallelized.
- Cross-validation is now possible with custom kernels.
- Features may now have arbritarily many index subsets (of subsets (of subsets (...))).
- Various clustering measures, Least Angle Regression and new multiclass strategies
concept (thanks to Chiyuan Zhang).
- A bunch of multiclass learning algorithms including the ShareBoost algorithm, ECOC framework,
conditional probability tree, balanced conditional probability tree, random conditional probability
tree and relaxed tree by Chiyuan Zhang.
- Python Sparse matrix typemap for octave modular interface (thanks to Evgeniy Andreev).
- Newton SVM port (thanks to Harshit Syal).
- Some progress on native windows compilation using
cmake and mingw-w64 (thanks to Josh aka jklontz).
- CMake compilation improvements (thanks to Eric aka yoo).
* Bugfixes:
- Fix for bug in the Gaussian Naive Bayes classifier, its domain was
changed to log-space.
- Fix for R_static interface installation (thanks Steve Lianoglou).
- SVMOcas memsetting and max_train_time bugfix.
- Various fixes for compile errors with clang.
- Stratified-cross-validation now used different indices for each run.
* Cleanup and API Changes:
- Various code cleanups by Evan Shelhamer
- Parameter migration framework by Heiko Strathmann. From now on,
changes in the shogun objects will not break loading old serialized
files anymore
2011-12-01 Soeren Sonnenburg <[email protected]>
* SHOGUN Release version 1.1.0 (libshogun 11.0, data 0.3, parameter 0)
* This release contains several enhancements, cleanups and bugfixes:
* Features:
- New dimensionality reduction algorithms:
Diffusion Maps, Kernel Locally Linear Embedding,
Kernel Local Tangent Space Alignment, Linear Local Tangent Space Alignment,
Neighborhood Preserving embedding, Locality Preserving Projections.
- Various performance improvements for dimensionality reduction methods (BLAS,
alignment formulation of the LLE, ..)
- Automatical k determination mode for Locally Linear Embedding dimension
reduction method based on reconstruction error.
- ARPACK and SUPERLU integration.
- Introduce the concept of Converters that can embed (arbitrary) feature
types into different feature types.
- LibSVM is now pthread-parallelized.
- Create modshogun.dll for csharp.
- Various new c# examples (thanks Daniel Korn and Ori Cohen).
- Dimensionality reduction examples application is introduced
* Bugfixes:
- Octave_static and octave_modular examples fix.
- Memory leak in custom kernel is now eliminated (thanks Madeleine Seeland for reporting).
- Fix for linear machine set_w method (thanks Brian Cheung for reporting).
- DotFeatures fix for assert bug.
- FibonacciHeap memory leak fix.
- Fix for Java modular interface typemapping bug.
- Fix errors uncovered by LLVM / clang++.
- Fix for configure on Darwin-x86_64 (thanks Peter Romov for patch).
- Improve lua / ruby detection.
- Fix configure / compilation under osx and cygwin for variuos interfaces.
* Cleanup and API Changes:
- Most of the inline functions have been (re)moved to the corresponding
.cpp file
- Libshogun is now being compiled with sse support for math (if available) but
interfaces are now being compiled with -O0 key which drastically reduces compilation time
2011-08-31 Soeren Sonnenburg <[email protected]>
* SHOGUN Release version 1.0.0 (libshogun 10.0, data 0.2, parameter 0)
* This release contains major enhancements, cleanups and bugfixes:
* Features:
- Support for new languages: java, c#, ruby, lua in modular interfaces
(GSoC project of Baozeng Ding)
- Port all examples to the new languages:
Ruby examples with example transition tool (thanks to Justin Patera aka serialhex)
- Dimensionality reduction (manifold learning) algorithms
are now available. In particular: Locally Linear Embedding (LLE), Hessian
Locally Linear Embedding (HLLE), Local Tangent Space Alignment (LTSA),
Kernel PCA (kPCA), Multidimensional Scaling (MDS, with possible landmark
approximation), Isomap (using Fibonacci Heap Dijkstra for shortest paths),
Laplacian Eigenmaps
(GSoC project of Sergey Lisitsyn)
- Various new kernels: TStudentKernel, CircularKernel, WaveKernel,
SplineKernel, LogKernel, RationalQuadraticKernel, WaveletKernel,
BesselKernel, PowerKernel, ExponentialKernel, CauchyKernel,
ANOVAKernel, MultiquadricKernel, SphericalKernel,
DistantSegmentsKernel (thanks GSoC students for the contributions!)
- Streaming / Online Feature Framework for SimpleFeatures,
SparseFeatures, StringFeatures (GSoC project of Shashwat Lal Das)
- SGD-QN, Online SGD, Online Liblinear, Online Vowpal Vabit (GSoC
project of Shashwat Lal Das)
- Model selection framework for arbitrary Machines
(GSoC project of Heiko Strathmann)
- Gaussian Mixture Models (GSoC project of Alesis Novik)
- FibonacciHeap for efficient shortest-path
problem solving (thanks to Evgeniy Andreev)
- Efficient HashSet (thanks to Evgeniy Andreev)
- ARPACK wrapper (dseupd) for symmetric eigenproblems (both
generalized and non-generalized),
some new LAPACK wrappers (Sergey Lisitsyn)
- New Statistics module for various statistics measures (Heiko Strathmann)
- Subset support to features (Heiko Strathmann)
- Java externalization support (Sergey Lisitsyn)
- Support matlab 2011a.
* Bugfixes:
- Fix build failure with ld --as-needed (thanks Matthias Klose for the
patch).
- Fix initialization error in KRR static interfaces (thanks Maxwell
Collins for the patch).
* Cleanup and API Changes:
- Introduce Machine, KernelMachine, LinearMachine, LinearOnlineMachine,
DistanceMachine with train() and apply() functions and drop Classifier.
- Restructure source code layout: Merge libshogunui and libshogun into
src/shogun and move all interfaces into src/shogun. Split up lib into
lib, io and mathematics.
- Create a single 'modshogun' module resembling the functionality found
in libshogun. Now octave_modular and other modular interfaces work reliably.
- Introduce SGVector, SGMatrix, SGNDArray, SGStringList for transfering
object-pointers and meta-data from/to shogun.
- Classes no longer store copies of e.g. matrices, and just pass
pointers on set/get operations.
- Stop using new[] / delete[] and switch to SG_MALLOC, SG_CALLOC,
SG_REALLOC, SG_FREE macros.
- Preproc renamed to preprocessor, PCACut renamed to PCA
2010-12-07 Soeren Sonnenburg <[email protected]>
* SHOGUN Release version 0.10.0 (libshogun 9.0, libshogunui 6.0, data 0.1)
* This release contains several enhancements, cleanups and bugfixes:
* Features:
- Serialization of objects deriving from CSGObject, i.e. all shogun objects
(SVM, Kernel, Features, Preprocessors, ...) as ASCII, JSON, XML and HDF5
- Create SVMLightOneClass
- Add CustomDistance in analogy to custom kernel
- Add HistogramIntersectionKernel (thanks Koen van de Sande for the patch)
- Matlab 2010a support
- SpectrumMismatchRBFKernel modular support (thanks Rob Patro for the patch)
- Add ZeroMeanCenterKernelNormalizer (thanks Gorden Jemwa for the patch)
- Swig 2.0 support
* Bugfixes:
- Custom Kernels can now be > 4G (thanks Koen van de Sande for the patch)
- Set C locale on startup in init_shogun to prevent incompatiblies with
ascii floats and fprintf
- Compile fix when reference counting is disabled
- Fix set_position_weights for wd kernel (reported by Dave duVerle)
- Fix set_wd_weights for wd kernel.
- Fix crasher in SVMOcas (reported by Yaroslav)
* Cleanup and API Changes:
- Renamed SVM_light/SVR_light to SVMLight etc.
- Remove C prefix in front of non-serializable class names
- Drop CSimpleKernel and introduce CDotKernel as its base class. This
way all dot-product based kernels can be applied on top of DotFeatures
and only a single implementation for such kernels is needed.
2010-05-31 Soeren Sonnenburg <[email protected]>
* SHOGUN Release version 0.9.3 (libshogun 8.0, libshogunui 5.0)
* This release contains several enhancements, cleanups and bugfixes:
* Features:
- Experimental lp-norm MCMKL
- New Kernels: SpectrumRBFKernelRBF, SpectrumMismatchRBFKernel, WeightedDegreeRBFKernel
- WDK kernel supports amino acids
- String Features now support append operations (and creation of
- python-dbg support
- Allow floats as input for custom kernel (and matrices > 4GB in size)
* Bugfixes:
- Static linking fix.
- Fix sparse linear kernel's add_to_normal
* Cleanup and API Changes:
- Remove init() function in Performance Measures
- Adjust .so suffix for python and use python distutils to figure out
install paths
2010-03-31 Soeren Sonnenburg <[email protected]>
* SHOGUN Release version 0.9.2 (libshogun 7.0, libshogunui 4.0)
* This release contains several enhancements, cleanups and bugfixes:
* Features:
- Direct reading and writing of ASCII/Binary files/HDF5 based files.
- Implemented multi task kernel normalizer.
- Implement SNP kernel.
- Implement time limit for libsvm/libsvr.
- Integrate Elastic Net MKL (thanks Ryoata Tomioka for the patch).
- Implement Hashed WD Features.
- Implement Hashed Sparse Poly Features.
- Integrate liblinear 1.51
- LibSVM can now be trained with bias disabled.
- Add functions to set/get global and local io/parallel/... objects.
* Bugfixes:
- Fix set_w() for linear classifiers.
- Static Octave, Python, Cmdline and Modular Python interfaces Compile
cleanly under Windows/Cygwin again.
- In static interfaces testing could fail when not directly done after
training.
* Cleanup and API Changes:
- None
2009-11-16 Soeren Sonnenburg <[email protected]>
* SHOGUN Release version 0.9.1 (libshogun 6.0, libshogunui 3.1)
* This release contains several enhancements, cleanups and bugfixes:
* Features:
- Integrate LaRank.
- Memory Mapped Features (for data sets that don't fit into memory).
- Compressor module with compression and decompression support for
lzo, gzip, bzip2 and lzma.
- Compressed String Features with on-the-fly decompression
(CDecompressString preproc).
- Parallel computation of get_kernel_matrix().
- One may now prefix all shogun print/outputs with file name and
line number (obj.io.enable_file_and_line())
- Chinese Documentation thanks Elpmis Lee.
* Bugfixes:
- Fix One class MKL testing in static interfaces.
- Configure fixes: Let octave not write history on configure; fail
when cplex is forcefully enabled but not found; add cplex 12 support.
- Fix a problem with regression and CombinedKernels employing only
Custom kernels.
* Cleanup and API Changes:
- String Features now (like SimpleFeatures) upon get_feature_vector
require an additional do_free argument and need to be freed using
free_feature_vector.
2009-10-23 Soeren Sonnenburg <[email protected]>
* SHOGUN Release version 0.9.0 (libshogun 5.0, libshogunui 3.0)
* This release contains several cleanups and enhancements:
* Features:
- Implement set_linear_classifier for static interfaces.
- Implement Polynomial DotFeatures.
- Implement domain adaptation SVM.
- Speed up ScatterSVM.
- Initial implementation for saving and Loading of shogun objects.
- Examples have been polished/split up into separate files.
- Documentation and webpage improvements.
* Bugfixes:
- Fix one class MKL for static interfaces.
- Fix performance measures integer overflow.
- Configure fixes to run under OSX's snow leopard.
- Compiles and runs under solaris both using suncc and gcc.
* Cleanup and API Changes:
- It is no longer necessary to call init_kernel TRAIN/TEST.
- Removed kernel {load,save}_init.
- Removed preproc {load,save}_init.
- Move the mkl code from classifier/svm to classifier/mkl.
- Removed obsolete mindy support.
- Rename MCSVM to ScatterSVM
- Move distributions to distributions/ directory.
- CClassifier::classify() no longer has a label as argument.
- Introduce CClassifier::train(CFeatures* ) and classify(CFeatures*)
for more effective training/testing.
- Remove unnecessary global symbols.
2009-08-16 Soeren Sonnenburg <[email protected]>
* SHOGUN Release version 0.8.0 (libshogun 4.0, libshogunui 2.0)
* This release contains several cleanups, features and bugfixes:
* Features:
- Implements new multiclass svm formulation.
- 1,2 and general q-norm MKL for classification, regression and
one-class for wrapper and chunking algorithm for arbitrary (dual) SVM
solvers.
- Dynamic Programming code is now accessible from python.
- Implements Regulatory Modules kernel.
- Documentation updates (Tutorial, improved installation instructions,
overview about the implemented algorithms).
* Bugfixes:
- Correct q-norm MKL for Newton.
- Upon make install of elwms don't install files into R/octave/python
if these interfaces were not configured
- Svm-nu parameter was not set correctly.
- Fix custom kernel initialization.
- Correct get_subkernel_weights.
- Proper Intel core2 compile flags detection
- Fix number of outputs for KNN.
- Run tests with proper LD_LIBRARY_PATH set.
- Fix several memory leaks.
* Cleanup and API Changes:
- Rename svm_one_class_nu to svm_nu.
- Clean up dynamic programming code.
- Remove commands from_position_list and slide_window and move
functionallity into set/add_features,
- Remove now obsolete legacy examples.
2009-05-02 Soeren Sonnenburg <[email protected]>
* SHOGUN Release version 0.7.3 (libshogun 3.0, libshogunui 1.1)
* This release contains several bugfixes:
* Features:
- Improve libshogun/developer tutorial.
- Implement convenience function for parallel quicksort.
- Fasta/fastq file loading for StringFeatures.
* Bugfixes:
- get_name function was undefined in Evaluation causing the
PerformanceMeasures class to be defunct.
- Workaround bugs in the std template library for math functions.
- Compiles cleanly under OSX now, thanks to James Kyle.
* Cleanup and API Changes:
- Make sure that all destructors are declared virtual.
2009-03-23 Soeren Sonnenburg <[email protected]>
* SHOGUN Release version 0.7.2 (libshogun 2.0, libshogunui 1.1)
* This release contains several cleanups and enhancements:
* Features:
- Support all data types from python_modular: dense, scipy-sparse
csc_sparse matrices and strings of type bool, char, (u)int{8,16,32,64},
float{32,64,96}. In addition, individual vectors/strings can now be
obtained and even changed. See examples/python_modular/features_*.py
for examples.
- AUC maximization now works with arbitrary kernel SVMs.
- Documentation updates, many examples have been polished.
- Slightly speedup Oligo kernel.
* Bugfixes:
- Fix reading strings from directory (f.load_from_directory()).
- Update copyright to 2009.
* Cleanup and API Changes:
- Remove {Char,Short,Word,Int,Real}Features and only ever use the
templated SimpleFeatures.
- Split up examples in examples/python_modular to separate files.
- Now use s.set_features(strs) instead of s.set_string_features(strs)
to set string features.
- The meaning of the width parameter for the Oligo Kernel changed, the
OligoKernel has been renamed to OligoStringKernel.
2009-03-08 Soeren Sonnenburg <[email protected]>
* SHOGUN Release version 0.7.1 (libshogun 1.0, libshogunui 1.0)
* This release contains several cleanups and bugfixes:
* Features:
- configure now detects libshogun/ui installed in /usr/(local/)lib if
libshogun/ui dirs are removed.
- Improved documentation (and path and doxygen fixes).
- Tutorial on how to develop with libshogun and to extend shogun.
- Added the elwms (eilergendewollmilchsau) interface that is a
chimera that in one file interfaces to python,octave,r,matlab and
provides the run_{octave,python,r} command to run code in
{octave,python,r} from within octave,r,matlab,python transparently
making variables available to the target interface avoiding file i/o.
- Implement AttributeFeatures for (attr,value) pairs, trees etc.
* Bugfixes:
- fix a crasher occurring with combined kernel and multiple threads.
- configure now allows building of modular interfaces only.
- n-dimensional arrays work now in octave.
* Cleanup and API Changes:
- Custom Kernel no longer requires features nor initialization, even
not when used in CombinedKernel (the combined kernel will skip over
custom kernels on init).
2009-02-20 Soeren Sonnenburg <[email protected]>
* SHOGUN Release version 0.7.0 (libshogun 0.0, libshogunui 0.0)
* This release contains major feature enhancements and bugfixes:
- Implement DotFeatures and CombinedDotFeatures. DotFeatures need
to provide dot-product and similar operations (hence the name).
This enables training of linear methods with mixed datatypes
(sparse and dense and other even the newly implemented string
based SpecFeatures and WDFeatures).
- MKL now does not require CPLEX any longer.
- Add q-norm MKL support based on internal Newton implementation.
- Add 1-norm MKL support based on GLPK.
- Add multiclass MKL support based on the GLPK and the GMNP svm solver.
- Implement Tensor Product Pair Kernel (TPPK).
- Support compilation on the iPhone :)
- Add an option to set wds kernel position weights.
- Build static libshogun.a for libshogun target.
- Testsuite can also test the modular R interface, added test for
OligoKernel.
- Ocas and WDOcas can be used with a bias feature now.
- Update to LibSVM 2.88.
- Enable parallelized HMM code by default.
* Cleanup and API Changes:
- Shogun has been split up into libshogun and the static and modular
interfaces linking to it.
- Static interfaces now do proper reference counting.
- Remove SparseLinearClassifier: LinearClassifier is a drop-in
replacement.
- WDOcas and SVMOcas now have the bias term enabled by default.
* Bugfixes:
- Fix regression for COMM* kernels (normalization argument was ignored).
- Use C99 variadic macros, instead of gcc's own variant.
- Disable lp_solve, it is not required as we are using GLPK now.
- Fix HMM training.
2008-11-25 Soeren Sonnenburg <[email protected]>
* SHOGUN Release version 0.6.7
* Cleanup:
- Replace ambigous self-defined data types for char/int/float etc.
by 'standardized' types.
- Method classify() in WDSVMOcas now has a default value for its
argument.
- Removed a few stderr debug outputs.
* Features:
- Testsuite now covers subSVMs in MultiClassSVMs, static interfaces
now support commands GET_NUM_SVMS and GET_SVM for MultiClassSVMs.
* Bugfixes:
- Fix for contigous arrays/vectors in interface for Python modular.
- Fixed improper assignment of labels in constructor of WDSVMOcas
leading to segfaults on destruction in (python) modular interface.
- Fixed a segfault opportunity in MultiClassSVM.
2008-10-11 Soeren Sonnenburg <[email protected]>
* SHOGUN Release version 0.6.6
* Bugfixes:
- Include missing file regression/Regression.h.
- Fix formula in CosineDistance.
2008-10-10 Soeren Sonnenburg <[email protected]>
* SHOGUN Release version 0.6.5
* This release contains several cleanups and bugfixes:
- Implement KernelNormalizer class with a couple of normalization
functions that can now be attached to almost any kernel via
set_normalizer() in the modular and set_kernel_normalization in the
static interfaces. This fixes a long standing bug in the
WeightedDegreePositionStringKernel normalization WARNING will break
compatibility to all previously trained WD-shift kernel models, use
FIRSTELEMENT / CFirstElementKernelNormalizer for an *approximation* to
the previous buggy behaviour. Also breaks WordMatchKernel as for this
kernel normalization is now enabled by default.
- The custom kernel no longer requires lhs/rhs features (it will create
its own dummy features)
- Linear kernels don't use kernel cache (only slows down things)
- Integrate the Oligo string-kernel (from Meinecke et.al 2004)
- Remove use_precompute hack from SVMLight.
- Add precompute_kernels function to turn kernels appended to a
combined kernel into CustomKernels (i.e. precomputed ones).
- Add distances BrayCurtis, ChiSquare, Cosine and Tanimoto.
* Bugfixes:
- Support Intel MKL on 32bit archs.
- Fix compilation when atlas/lapack is not available.
2008-08-15 Soeren Sonnenburg <[email protected]>
* SHOGUN Release version 0.6.4
* This release contains major feature enhancements and bugfixes:
- Implement 2-norm Multiple Kernel Learning.
- Much extended documentation.
- Add Gaussian kernel for 32bit floating point features.
- Testsuite is now available for static interfaces python, octave,
matlab and R and modular interface octave.
* Bugfixes:
- Tests are now run in the examples/interface directory, with paths set
to the installation directory.
- Filter out duplicate signals in signal handler and make sure the
handler is removed.
- Fix random number generator initialization.
2008-06-13 Soeren Sonnenburg <[email protected]>
* SHOGUN Release version 0.6.3
* This release contains several cleanups and bugfixes:
- Fail nicely in out of memory situations.
- Drop R package, now configure; make; make install will work for all
interfaces.
- Disable progress output by default. Ocas now uses a progress bar and
hence is less verbose.
- Revised directory structure with /doc, /examples, /src, /testsuite.
- Add common toy data repository and make all examples from all interfaces
use it.
- Add examples for cmdline interface.
- Dynamically generate a reference documentation for the static interfaces.
- Syntax highlight commands again.
- Support for cplex 11.
- Port MKL examples to R.
- Merge structure learning branch.
* Bugfixes:
- Don't render string if it is not printed in current loglevel anyway
and throw exceptions for messages with priority ERROR or higher.
- Compile fix when lapack is not available.
- Fix when only lapack and blas (but not atlas) are available.
- Fix bug in batch/linadd occurring for WD kernel of order 1.
- Check that strings have same length on initing WD kernels.
- Remove signal handler on Ctrl+C to fix Ctrl+C pressed twice bug.
- All derived classes now call their parent class on construction.
- Fix a crasher occuring with SVRLight on multiple threads.
2008-05-15 Soeren Sonnenburg <[email protected]>
* SHOGUN Release version 0.6.2
- Experimental support for r-modular thanks to the swig team!
- All python-modular examples describing the use of kernels,
classifier, distributions, features, distances, regression and
preprocessors have been ported to r-modular (requires swig from svn).
- The 'send_command' legacy is no longer necessary, numbers can be used
as such and don't have to be given as strings. All examples for
r,python,octave,matlab have been converted to the new syntax.
- Resurrected the command line interface. Basic functionionality,
like training a classifier on strings/real valued (sparse) features
was restored. Readline completion was added.
- Documentation updates.
* Bugfixes:
- The weighted spectrum kernel is now working again.
- Fix the testsuite to reliably check methods that use random().
- Off-by-one bug fix in FixedDegreeStringKernel.
- Fix reading strings from file, when strings don't have the same length.
- Fix massive slowdown in modular interfaces for WD based kernels (it
is 5-30 times faster now).
2008-04-19 Soeren Sonnenburg <[email protected]>
* SHOGUN Release version 0.6.1
- Now fully support octave-modular thanks to the swig team!
- All python-modular examples describing the use of kernels,
classifier, distributions, features, distances, regression and
preprocessors have been ported to octave-modular.
- Minor documentation updates.
- Unconditionally disable swig director. This reduces wrapper code size
and compile time and also speeds up calls to virtual functions *a lot*.
Expect big speed improvements if you were using the python-modular
interface.
* Bugfixes:
- Include missing files in documentation.
- The 'send_command' legacy is no longer necessary.
- Improved cmdline help, categorized in topic sg('help', 'topic')
2008-04-12 Soeren Sonnenburg <[email protected]>
* SHOGUN Release version 0.6.0
* This release contains several major enhancements:
- The static R,octave,matlab,python interfaces have been rewritten from
scratch simplifying future extensions. They now use the same syntax and
support the same set of shogun commands.
- Toy examples describing the use of kernels, classifier,
distributions, features, distances, regression and preprocessors
for the static python, R, octave and matlab interface have been added.
- Improved user documentation
- Support for ACML and Intel MKL
* New methods:
- POIMs for python-modular interface
* Bugfixes:
- Fixed memory leaks in Classifiers, Kernels, Distributions
- Fixed severale delete[]/free mismatches
- Fixed reading and writing of svm light format
- Enable ctrl-c support in octave
2008-02-19 Soeren Sonnenburg <[email protected]>
* SHOGUN Release version 0.5.1
* This release contains minor bugfixes
- Allow building w/o doxygen
- Code cleanups
- Support newer lapack/atlas/blas
* New methods:
- Added several performance measures
- SVMSGD
- Efficient reading/writing of svmlight format
2008-01-31 Soeren Sonnenburg <[email protected]>
* SHOGUN Release version 0.5.0
* This release contains several major enhancements:
- Full fledged test suite for python-modular interface
- Toy examples describing the use of kernels, classifier,
distributions, features, distances, regression and preprocessors
for the python-modular interface
- Doxygen generated documentation for python-modular interface
- Many cleanups to make python-modular interface more consistent
* New methods:
- WDSVMOcas
- Update liblinear to version 1.22
* Bugfixes:
- StringFeatures may now directly read DNA strings from a single file
- Option to quieten progress output
- Several memory leaks and valgrind errors
- Fixed rarely ocurring convergence problem in OCAS
- Division by zero in Chi2Kernel
- WD kernel now dynamically allocates Tries
- Matlab clear sg ; sg crasher
- Salzberg/HistogramWordkernel crasher
- Fix build dependency generation using gcc -MM
* Switched license to GPL v3
2007-11-23 Soeren Sonnenburg <[email protected]>
* SHOGUN Release version 0.4.4
* This release contains several bugfixes:
- Memory leak fix in libsvm wrapper
- Enable error checking in matlab interface
- Free memory after batch computation
- Parallel (num_threads>1) bug occurring with batch computation
- Several python-modular interface cleanups
- Fix for Chi2 kernel
- Use gcc now to generate build dependencies
- Test for existance of log2 (enables building on interix)
- Python build fix
- Double free fix for combined kernel (python modular interface)
* New methods: SVMOcas, GaussianShiftKernel
2007-10-10 Soeren Sonnenburg <[email protected]>
* SHOGUN Release version 0.4.3
* This release contains minor bugfixes for the
weighted spectrum kernel and poims
2007-09-19 Soeren Sonnenburg <[email protected]>
* SHOGUN Release version 0.4.2
* This release contains minor bugfixes and improvements
- fix POIMs
- compile fix when atlas/lapack is not available
- minor code cleanup (Tries now use templates)
- added KMeans and Hierarchical Clustering
2007-09-01 Soeren Sonnenburg <[email protected]>
* SHOGUN Release version 0.4.1
* This release contains minor bugfixes and improvements
* Fixes for:
- SVMLin
- python examples
- R examples
- cplex 10 compatibility fixes
- compilation fix when configured with --disable-svm-light
- sliding window/position list fixes
* New methods
- Liblinear
- Local Alignment Kernel
- support for transfering StringFeatures of type word to matlab
- python modular support for custom kernel
2007-07-30 Soeren Sonnenburg <[email protected]>
* SHOGUN Release version 0.4.0
* new methods:
- SubgradientSVM
- GMNPSVM (multiclass b-SVM)
- SubgradientLPM
- CplexLPM
- LPBoost (for LPM)
- SVMLin
- weighted spectrum kernel
* linadd support for GPDTSVM
* new commands new_classifier / train_classifier / get_classifier
* support for sparse features (from matlab)
* cleaned and added many more examples
* removed suffixarray code due to license conflicts
* Matlab R2007a support
* all string kernels now work on strings (not charfeatures)
2007-03-06 Soeren Sonnenburg <[email protected]>
* SHOGUN Release version 0.3.2
* workaround for python-numpy, when long==int==int32, add bool support
* fix autodetection of atlas/lapack
* fix uninitialized variables in (GUI)HMM, valgrind errors
2007-02-20 Soeren Sonnenburg <[email protected]>
* SHOGUN Release version 0.3.1
* update README
* fix autodetection of powl() and _SC_NPROCESSORS_ONLN
2007-02-14 Soeren Sonnenburg <[email protected]>
* SHOGUN Release version 0.3.0
2007-02-13 Soeren Sonnenburg <[email protected]>
* added vojtechs SVM
* finished (regularized) LDA
* conservational weights in WD kernel
* added mikios kernel ridge regression (KRR)
* many fixes in python swig interface
* build fixes for archs that don't have powl()
* much improved build system
* updated coding conventions (though still in a flux)
* enable warnings for shadowed variables
* lots of build fixes
2006-12-05 Soeren Sonnenburg <[email protected]>
* SHOGUN Release version 0.2.1
2006-10-13 Soeren Sonnenburg <[email protected]>
* swig python interface (works w/ multiple svms etc etc)
2006-10-09 Soeren Sonnenburg <[email protected]>
* some autodetection magic in ./configure
* fixed a serious bug occuring with shrinking & SVM light (target epsilon
was not achieved as we erreanously terminated optimization)
* fixed a serious bug when using charfeatures (or strings) w/ mxGetString
in matlab interface (the mxGetString function has the undocumented
`feature' of returning locale dependent results!)
* new command use_shrinking 0/1
* new svm classifier SVM LIBSVM_ONECLASS
* new function get_WD_scoring
* make much more use of templates, i.e. remove all the
{Real,Char,Word,Byte,*}Kernel.* files
2006-09-11 Soeren Sonnenburg <[email protected]>
* incorporated MINDY support
* new alphabet class, all string features now have a defined
alphabet plus mapping function
* RAW (i.e. 8bit) alphabet added
* fixes for CommStringUlongKernel (was buggy when strings have different
lengths)
* new get_WD_scoring function
* compile fixes for octave and matlab on osx
* configure now scans a number of variants to detect include and library paths
* configure obeys INCLUDES LIBS environment variables and optional
paths specified by --libraries --includes
* updated copyright infos
* updated license infos
2006-06-30 Soeren Sonnenburg <[email protected]>
* SHOGUN Release 0.1.2
* compile fixes for R on MaxOSX
* some compile fixes for cygwin/WIN32
* Weighted Degree/Weighted Degree Shift kernel speedups & fixes
* python build fixes
* initial *workin* swig support
* entropy example
2006-06-15 Soeren Sonnenburg <[email protected]>
* SHOGUN Release version 0.1-pre1