forked from accord-net/framework
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Release notes.txt
1803 lines (1430 loc) · 80.1 KB
/
Release notes.txt
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
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Accord.NET Framework 3.1.0 release notes
-----------------------------------------
10.06.2016.
Accord.NET 3.1 "auto-generated" release
Version updates and fixes:
- GH-76/GC-24: Add easier creating and handling of factors for categorical variables
- GH-123: Bug in the Euclidean on Accord.Math.Distance
- GH-124: Fixing the Envelop filter as missing loop variables were not being incremented
- GH-135: When the from and to ranges are equal, scaled values should remain unchanged
- GH-159: Gamma Distributioon Fit stalls for some arrays
- GH-162: ntdll on OS X
- GH-167: Posterior method has wrong signature in continuous hidden Markov Models
- GH-171: Quadratic Programming (Goldfarb-Idnani) NoPossibleSolution on possible problems
- GH-188: ProbabilisticOutputCalibration Class Example Incorrect Object Name
- GH-206: Chessboard distance is incorrect
- GH-214: Bug found in ReplaceChannel filter
- GH-215: Bug Found in DecisionTrees.Learning.ID3Learning.
- GH-225: Independent Component Analysis not converging
- GH-232: Bug in Levenshtein distance.
- GH-234: The subset of observations corresponding to a decision node may contains duplicates
- GH-235: The getMaxChild method returns the max grandchild
- GH-236: Possibly-biased comparison between errors
- GH-237: The subset of observations corresponding to a decision node may contains duplicates
- GH-240: Re() and Im() function of ComplexMatrix generates a OutOfRangeException
* General
- In this release, the Matrix library from Accord.Math has been almost completely
redesigned to make heavy use of automatic code generation. This results in more
code reuse, more consistent interfaces and the availability of many methods which
before were available only for Double to almost all native numerical types in the
.NET Framework;
- The framework now contains core classes and interfaces for defining classification
and regression models and their respective learning algorithms, offering a more
standard interface when using different parts of the framework;
- The framework now offers a Accord.Serializer class that should be responsible for
serializing and deserializing any object from the framework, and will take care of
versioning in case of breaking changes between releases;
- All AForge.NET namespaces have been finally moved to inside Accord.NET, although
some functionality is still duplicate.
* Core
- Adding Interlocked operations (Increment, Add) for double values;
- To<> universal converter can now convert jagged arrays;
- Adding a common framework to unify all classification models, and all learning algorithms;
- Integrating the AForge.NET Range classes in the framework, adding ByteRange;
- Adding a common serialization mechanism to the framework to manage backwards compatibility.
* Sample applications
- Fixing wrong arguments in sample applications.
* Math
- Revamped matrix library making heavy use of code generation with T4 templates;
- Matrix dot products, and elementwise operations are now auto-generated;
- Renaming InnerProduct to Dot, and marking previous products as obsolete;
- Vector Range, Scale and Interval are now auto-generated;
- Standardizing the way Vectors, Matrices and Jagged matrices are created and handled
in the framework;
- Adding OneHot and KHot methods overloads for creating vectors using boolean masks;
- Adding ArgMin and ArgMax methods to Vector, Jagged and Multidimensional matrices;
- Re-implementing Matrix.Sum and Matrix.Product using T4 templates;
- Breaking change: Sum() now computes the Sum over the entire matrix (before it needed
to be done with Sum().Sum(). In order to compute the sum vector over rows, use matrix.Sum(0)
and for columns, matrix.Sum(1);
- Chessboard distance has been removed as it is the same as Chebyshev;
- Moving AForge.NET's old Random classes into the framework, and marking them as deprecated;
- Adding a log1pexp method for computing (1.0 + Math.Exp(-sum)) without loss of precision;
- Adding new random generators based on Marsaglia's Ziggurat method;
- Introducing a new, generic IRandomNumberGenerator interface so existing statistical
distributions can be used as Random Number Generators;
- Updating Matrix.IsEqual method to use the auto-generated overloads if possible;
- Replacing the previous framework-wide generator with a better API;
- Improving the framework-wide random number generator so generators created in short
timespans do not get initialized with the same seed: Now, updating a seed will not
affect existent random generators in other threads. It will affect only newly created
generators and the one in the current thread;
- Fixing the DiagonalMatrix property in SingularValueDecomposition and
JaggedSingularValueDecomposition so the returned diagonal matrices has the necessary
dimensions to reconstruct the original matrix using the decomposition main formulation;
- Fixing a bug in Combinatorics.Sequences method where the current vector would be returned
instead of a copy when inPlace = false;
- Distance functions can now be auto-generated from classes from the framework;
- Adding Dice, Jaccard, Kulczynski, Matching, Rogers-Tanimoto, Russel-Rao, Sokal Michener,
Sokal Sneath, Yule, Bhattacharyya and LogLikelihood distances as proper classes;
- Updating IsEqual to support absoluete and relative tolarance thresholds;
- Adding a Histogram method for creating a histogram from an array of integer values;
- Updating the Interval, Range and Scale method overloads to be automatically generated;
- Adding loss functions to be used in the unified framework.
* MachineLearning
- Adding a base foundation to encompass all classification and regression models in the
framework as well as their learning algorithms: common interfaces and base classes for
classifiers, distance-based classifiers and generative classifiers; common interfaces
and base classes for supervised and unsupervised learning algorithms;
- Updating Support Vector Machines, Decision Trees, Naive Bayes to use the new classes;
- Unifying Linear and Kernel SupportVectorMachines, updating their classes to accept the
Kernel function as a generic parameter: when the kernel function is a ValueType, this
forces generic classes to be compiled specifically for each kernel type, allowing for
the inlining of the kernel function calls;
- Updating the way compact SVMs are represented: instead of having only a weight vector
and no support vectors, compact machines have a single support vector and a single weight
of value one, eliminating what before was a special case;
- Adding classes for OneVsOne and OneVsRest classifiers, separating the functionality that
was previously inside MulticlassSupportVectorMachine and MultilabelSupportVectorMachine;
- Fixing multiple issues with ErrorBasedPruning (YaronK);
- Updating GridSearch to implement ToString methods for easier debugging;
- Updating Linear machines and learning algorithms to accept sparse kernels;
- Deprecating the previous sparse vector implementations and moving the current implementation
to the existing Linear class, since they represent the same operation;
- Adding a true implementation for LibSVM-style Sparse vectors;
- Updating SparseReader to read sparse vectors using the new Sparse representation;
- Refactoring the clustering namespace to increase code reuse between the different algorithms;
- Updating K-Means, GMM and BagOfWords to expose a ParallelOptions object that can
be used to configure and stop the parallelization of those algorithms;
- Updating K-Means to support sample weights;
- Correcting multiple random initializations of Gaussian mixture model.
* Imaging
- Updating static methods in AForge.NET's Image class to become extension methods;
- Implementing ICloneable in all corner and feature detectors.
* Neuro
- Updating ResilientBackpropagation with the improvements from iRProp+.
* Statistics
- Adding Non negative Least Squares regression;
- Adding Procrustes Analysis;
- Merging AForge.NET and Accord.NET Histogram classes;
- Updating IFittingOptions to implement ICloneable;
- Adding constructors to Independent distributions accepting a lambda function
to initialize inner components instead of relying on cloning;
- Adding a Classes class to provide methods that operate with categorical/label data,
such as converting boolean, double or integer values to [0;1] or [-1; +1] indicators;
- Adding Decide methods to unambiguously transform a distance/score value into a boolean;
- Updating statistic distributions to implement the IRandomNumberGenerator interface, meaning
any distribution can now be used as random number generator;
- Adding the Metropolis-Hasting sampler to generate samples from multivariate distributions
that do not have specialized samplers;
- Adding named constructors for building regressions directly from coefficient vectors;
- Updating kernels to rely in Accord.Math.IDistance instead of the previous IDistance from
the Statistics namespace;
- Adding Pearson's Universal Kernel, Thin Spline Plate and Hellinger kernels
contributed by Diego Catalano;
- Moving standard statistical measures (i.e. mean, standard deviation, variance, ...) to a
separate Measures class.
* Genetics
- Updating the Genetics project to use the new sample generators based on statistical
distributions;
Accord.NET Framework 3.0.0 release notes
-----------------------------------------
16.08.2015.
Version updates and fixes:
- GC-70: Merge with AForge.NET.
- GC-90: Convert unit test projects to NUnit
- GH-114: GeneralizedBetaDistribution's calls Random with wrong parameter order
* General
- This release marks a milestone in the Accord.NET Framework. Starting from this
release, the AForge.NET Framework has been incorporated directly in the project,
meaning that we are now free to fix, maintain, transform and improve AForge.NET
directly.
- This release provides most of the AForge.NET namespaces unchanged. This means
that this specific version of Accord.NET Framework can be used as drop-in
replacement in any project currently using the AForge.NET Framework and that
is willing to upgrade to Accord.NET sometime in the future.
- This release is mostly a transition release to help projects using the AForge.NET
framework make the transition to Accord.NET more easily. Further releases will be
aimed at improving the interaction between the two codebases and streamlining the
provided functionality.
Accord.NET Framework 2.15.0 release notes
-----------------------------------------
01.05.2015.
Version updates and fixes:
- GC-56: Reuse decision attributes in the C4.5 algorithm for decision trees;
- GC-109: The GoldfarbIdnani optimizer does not optimize well some problems;
- GH-24: Disentangling unit test projects and adding a LGPL-only project;
- GH-57: Decision trees created using C4.5 depends on the sorting order;
- GH-58: SURF detector might generate Divide By Zero exceptions;
- GH-60: Regularization breaks LogisticRegressionAnalysis in 2.14;
- GH-61: SVM code that worked with version 2.11 now fails to converge;
- GH-64: Exception in KPCA when using jagged matrices;
- GH-69: Fix K-Means deserialization between framework versions.
* General
- Upgrading solution to VS2013 and adding support for .NET 4.5;
- Packaging scripts can now create NuGet symbol packages;
- The framework can now be built using Mono.
* Accord.Statistics
- Correcting Circular statistics' AngularDeviation method;
- Correcting kernel profile functions and their gradient;
- Improving the precision of the Binomial distribution;
- Improving sample generation for Poisson and Rayleigh distributions;
- Updating all univariate distributions to support sample generation;
- Making sure all probability distributions implement IFormattable;
- Adding Generalized Beta distribution with PERT estimation;
- Adding the von-Mises Fisher distribution for circular data;
- Adding sample generation in Beta and Generalized Beta distributions;
- Adding estimation using the Method-of-moments and Maximum Likelihood;
- Adding support for weighted samples in LogisticRegressionAnalysis;
- Adding a named constructor to create an Analysis from summary data;
- Adding all missing Shapiro-Wilk distribution's methods;
- Adding a common interface for radial basis function kernels;
- Adding a new generic Gaussian kernel for creating composite kernels;
- Adding a Windowing filter in the Statistics filters namespace;
- Adding support for weighted samples in LogisticRegressionAnalysis;
- Adding a named constructor to create an Analysis from summary data;
- Adding Multinomial Logistic Regression Analysis.
* Accord.Math
- Updating Augmented Lagragian to detect more accurately
when the inner optimization algorithm has diverged;
- Adding a new Fast Fourier Transform (FFT) implementation for general
matrices and vectors whose dimensions are not necessarily powers of 2;
- Adding Hellinge and Levenshtein distances for generic arrays;
- Adding jagged-matrix version of the QR and Eigenvalue decompositions.
* Accord.MachineLearning
- Updating tree inducing algorithms (ID3 and C4.5) se they can reuse
decision variables multiple times when creating a decision tree;
- Correcting Levenberg-Marquardt's chain-rule Jacobian calculation
when there are many output neurons in the learned neural network;
- Updating the way SVM learning algorithms detect whether a machine is linear or not;
- Updating SVM learning algorithms to use an heuristic value for
C by default unless it has been manually specified by the user;
- Updating the linear kernels so they are created without a constant term by default;
- Improving multi-class SVM to generate more user-friendly stack traces when
an exception occurs during the learning of one of the binary sub-problems;
- Updating Kd-Trees to use interval heaps instead of general .NET structures;
- Adding Nu-SVMs based on LibSVM's quadratic programming solver.
* Accord.Neuro
- Updating Levenberg-Marquardt to avoid setting lambda to zero.
* Accord.Imaging
- Updating IntegralImage to work with In64 matrices to avoid overflows;
- Correcting Variance, Sauvola and Niblack threshold filters;
- Adding Fast Variance, Wolf-Joulion Threshold, RG Chromaticity and
Objective fidelity filters.
* Accord.IO
- Integrating and repackaging Sebastien Lorion's Fast CSV Reader into the Accord.IO
namespace with an added support for auto-detecting the file's field delimiter.
* Accord.Audio
- Adding IWindow apply overloads to operate directly on double[] vectors;
- Adding Sine and Custom signal generators and correcting existing ones.
* Sample applications
- Adding feature selection sample application using L1-regularized logistic SVMs;
- Correcting the display of all sample applications in high-DPI displays.
Accord.NET Framework 2.14.0 release notes
-----------------------------------------
15.12.2014.
Version updates and fixes:
- GH-29: HiddenConditionalRandomField is not correctly serialized;
- GH-31: Adding hidden Markov Model methods for computing the probability of
a state assuming a particular value inside an observation sequence;
- GH-36: Extensions class collides with the Accord.NET Extensions Framework;
- GH-35: Distribution issue with .NET 3.5 assemblies;
- GH-37: Adding Taylor series functions and dissimilarity functions;
- GH-42: Adding new contributed distance functions;
- GH-46: Optimization functions and constraints to now support different cultures;
- GH-48: Fix calculation of log likelihoods for BaumWelch learning algorithm;
- GC-33: GoldfarbIdnaniQuadraticSolver class failed to give correct answer.
* Accord.Core
- Adding Red-Black trees and a Red-Black dictionary based on those trees
with support for efficiently searching for maximum and minimum elements.
* Accord.IO
- Updating the IDX reader to automatically convert between different data types.
* Accord.Math
- Adding the Nelder-Mead and Subplex non-linear optimization algorithms;
- Adding matrix padding methods (adding extra rows and columns with zeros);
- Updating quadratic optimization constraints to support tolerance parameters.
* Accord.Statistics
- Adding regularization in IterativeReweightedLeastSquares;
- Adding DistributionAnalysis for estimating distributions from observed data;
- Adding weighted measure methods in Statistics.Tools that are
based on element repetitions rather than element importance;
- Adding Anderson-Daring, Shapiro-Wilk, Inverse Chi-Square, Lévy, Folded
Normal, Shifted Log-Logistic, Kumaraswamy, Trapezoidal, U-quadratic and
BetaPrime distributions;
- Adding Anderson-Daring and Shapiro-Wilk hypothesis tests;
- Correcting the MarkovMultivariateFunction constructor for
explicit Independent<NormalDistribution> hidden Markov models;
- Correcting discrete Viterbi learning convergence check and unifying
the Viterbi implementations for discrete and continuous variables;
- Correcting the calculation of log likelihoods in Baum Welch learning;
- Correcting serialization issue with DynamicTimeWarping kernel;
- Updating all distribution functions constructors to offer Range attributes
that can be used to automatically determine valid values for its parameters;
- Updating Logistic Regression and Cox's Proportional Hazards
analyses to avoid computing LR-ratio tests unless necessary;
- Updating Multivariate Empirical Distributions to support CDF;
- Updating Empirical Distributions to support weighted samples;
- Updating CRF output feature functions to activate only once per sequence;
- Updating all probability distributions to offer a Generate method;
- Updating ChiSquare Test to support testing against continuous distributions;
- Updating univariate discrete distributions with Quantile Density functions.
* Accord.MachineLearning
- Adding LIBLINEAR's linear support vector regression (SVR) algorithms;
- Adding LinearCoordinateDescent for the primal formulation and renaming the
previous coordinate descent algorithm to LinearDualCoordinateDescent;
- Adding named constructors in Naive Bayes to build Gaussian models more easily;
- Updating Naive Bayes classifiers to estimate component variables in parallel;
- Updating ID3 algorithm so attributes can join multiple times a decision;
- Updating Bag-of-Visual-Words to avoid computing costly cluster measures;
- Updating K-Means to support setting algorithm options through its class itself;
- Updating K-NearestNeighbor feature matching to use KD-Trees when its possible;
- Updating error-based pruning to avoid computing modes when there are no elements;
- Updating K-Modes to select modes per column, instead of entire elements. Now it
is also possible to use the Kmeans++ initialization scheme in this algorithm.
* Accord.Neuro
- Adding Rectified Linear activation functions.
* Accord.Imaging
- Fixing Niblack and Sauvola thresholding algorithms for 8bpp images.
* Accord.Audio
- Adding a Volume adjustment filter for audio signals.
* Accord.Controls
- Adding a DataBarBox visualization box;
- Updating visualizations to offer more flexibility in customizing ZedGraph charts;
* Sample applications
- Adding support for adjusting volume in the Recorder sample application.
Accord.NET Framework 2.13.1 release notes
-----------------------------------------
30.08.2014.
Version updates and fixes:
- GC-61: GoldfarbIdnani should implement the IOptimizationMethod interface;
- GC-63: Updating optimization methods to avoid throwing exceptions;
- GC-80: Audio.Formats.WaveDecoder.AverageBitsPerSecond should be bytes, not bits;
- GC-85: Tools.Random is not thread safe;
- GC-87: Add a base distance method for kernel functions;
- GC-88: General Discrete Distribution estimation doesn't handle negative values;
- GC-90: EmpiricalDistribution's SmoothingRule should use +0.2 in the factor calculation;
- GC-91: Update L-BFGS optimization algorithms from the latest Fortran source algorithms;
- GC-96: ConvexHullDefects doesn't accounts for defects between the last and first points;
- GC-98: Fixing ProbabilityDensityFunction in MultivariateNormalDistribution;
- GC-99: Combinatorics.Permutations(array) method does not include the original array;
- GC-101: Issue with Haar transform at orders grater than one;
- GH-04: Replacing SlimDX with SharpDX in Audio libraries;
- GH-05: ComplexSignalConstructor unit test fails;
- GH-07: Fixing typos in Haralick algorithm;
- GH-08: Updating IntegralImage2 to support Format32bppRgb images;
- GH-09: Binomial probability mass function result differs from Excel result;
- GH-10: Fixing issue in Singular value decomposition clone method;
- GH-11: Fixing issue in Statistics.Filters.Codification.Translate method;
- GH-12: Add a HistogramBox viewer in the same spirit as ScatterplotBox and DataGridBox;
- GH-13: NaiveBayes constructor incorrectly checks its arguments;
- GH-25: SauvolaThreshold and NiblackThreshold filter are always making whole black image;
- GH-27: Fixing Bernoulli distribution sampling.
* General
- This release brings some big changes. The SlimDX libraries have been replaced by SharpDX,
which now enables the framework to be run into more platforms. Two new assemblies have also
been created to further accommodate future framework extensions, such as a dedicate matrix
format library, and an additional library for math algorithms that are not available under
the LGPL. As such, the former Accord.Statistics.Formats namespace has been moved into the
new Accord.IO, and a new Accord.Math.NonCommercial assembly has been created to contain
other algorithms that are free but are not shared under a free software license and thus
cannot be used in commercial applications.
* Accord.IO
- Adding a LibSVM's file model to load and save LibSVM's classifiers;
- Adding a IDX file reader to read the MNIST (and possibly others) datasets;
- Adding a MAT file reader to read Matlab/Octave data, including sparse,
structures and objects.
* Accord.Statistics
- Fixing Codification filter when columns have a max-length constraint;
- Fixing MultivariateNormalDistribution to handle edge cases;
- Fixing distance computations for most kernel functions;
- Updating Hidden Markov Model classes with more Debug assertions;
- Updating descriptive analysis to support quantile computation;
- Adding Deviance measure in the DescriptiveAnalysis;
- Adding a IReverseDistance interface to separate distinct kernel distances;
- Adding support for directly processing matrices in the Normalization filter;
- Adding support for explicit feature space transformation in some kernels;
- Adding Beta and Pareto distribution fitting;
- Adding explicit Gaussian kernel projection using a Taylor approximation;
- Adding Birnbaum-Saunders, Generalized Normal, Gumbel, Power Lognormal,
Power Normal, Triangular, Tukey Lambda, Logistic, Hyperbolic Secant,
Degenerate and General Continuous distributions.
* Accord.Imaging
- Adding new user-contributed imaging filters: Difference of
Gaussians, HighBoost, Niblack Threshold, Sauvola Threshold.
* Accord.Math
- Introducing the Accord.Math.Integration namespace for numerical integration;
- Updating FiniteDifferences to support any order and number of interpolation points;
- Fixing NonnegativeFactorization when smaller rank approximations are requested;
- Updating the previous L-BFGS implementation from the latest Lbfgsb.3.0 version;
- Adding the L-BFGS optimizer with support for Orthant-Wise optimizer from LibBFGS;
- Adding the Cobyla method for derivative-free optimization (user contribution);
- Adding Carl Edward Rasmussen's FminCG conjugate gradient minimizer (user contribution);
- Adding the Discrete Curve Evolution algorithm (user contribution);
- Adding a Singular value decomposition implementation for Jagged matrices;
- Adding a simple 2D Kalman filter implementation (user contribution);
- Adding an 'online' version of the TruthTable method which can generate samples on the fly
through IEnumerable. Now it can also work with any number of symbols per element position.
* Accord.Audio
- Fixing position calculation when sampleIndex is set in WindowBase.Apply method.
* Accord.MachineLearning
- Fixing SequentialMinimalOptimization when working with weighted samples;
- Renaming ProbabilisticOutputLearning to ProbabilisticOutputCalibration;
- Updating cross-validation to support class-balanced partitions;
- Adding support for different sample weights in SMO and and IRLS;
- Adding a configurable model threshold for AdaBoost learning;
- Adding a generic base model for AdaBoost's weak classifiers;
- Adding specialized linear SVM algorithms based on liblinear's offerings,
such as L2-regularized L1 and L2-loss SVM for the dual formulation and
the L2-regularized, L2-loss SVM for the primal formulation, as well as
probabilistic SVM and Logistic Regression algorithms.
* Accord.Controls
- Adding HistogramBox for displaying histograms in the same manner as MessageBox;
- Updating Scatterplot to allow for constructing a plot from a single parameter.
Accord.NET Framework 2.12.0 release notes
-----------------------------------------
04.01.2014.
Version updates and fixes:
- GC-83: Error in Accord.Statistics.Tools;
- GC-81: Redundant condition check in specialized Inverse method;
- GC-82: Serializable annotation is needed on class contrast functions;
- GC-66: Adding fitting options for empirical distributions.
* General
- The general focus for this release was again to improve
the documentation and provide standard bug-fixing;
- The project now also provides Debug binaries which be used
to provide more detailed information when debugging applications.
* Accord.Controls
- Adding a WavechartBox control to display wavecharts with ease, in
the same way as MessageBox can display text messages on screen.
* Accord.Audio
- Correcting WaveDecoder.AverageBytesPerSecond (Google Code #80);
- Correcting the creation of base audio windows;
- Adding the ExtractChannel filter for extracting single channels
from multiple-channel audio signals.
* Accord.Statistics
- Adding generic base classes for probability distributions;
- Adding support for computing the cumulative multivariate normal
distribution function for specifically one and two dimensions;
- Correcting behavior of the Binomial test under .NET 4.5;
- Updating DescriptiveAnalysis to provide sums and confidence intervals;
- Updating ChiSquareTest to accept ConfusionMatrices as input;
- Unifying Univariate and Multivariate mixture distribution fitting
through Expectation-Maximization into a single and generic class;
- Updating the WeightedMean method to accept unnormalized weights;
- Updating the Codification filter to work without DataTables;
- Adding fitting options for empirical distributions (Google Code #66);
- Adding options to robustly fit Multivariate Normal Distributions using
the Singular Value Decomposition, avoiding non-positive definite issues.
* Accord.MachineLearning
- GaussianMixtureModel now accepts a maximum number of iterations;
- Updating the KDTree class to provide a non-generic version when there
is no interest in the kind of values stored as information in the nodes;
- Adding specialized methods for when only the closest neighbor is needed
in a KDTree. Also adding options to provide only an approximate answer;
- Updating the K-Means algorithm to fully support parallel processing;
- Adding support for generating decision rules from Decision Trees.
* Accord.Math
- Correcting InsertColumn and InsertRow implementations;
- Improving Submatrix creation to avoid extra memory allocations when desired;
- Reshape method for jagged arrays can now work with non-rectangular arrays;
- Correcting relative convergence issues with negative watched interest values;
- Adding Modulo and Modular distance for double-precision floating point inputs.
* AForge Compatibility
- Compiled against AForge.NET Framework 2.2.5. May work with newer versions.
Accord.NET Framework 2.11.0 release notes
-----------------------------------------
27.10.2013.
Version updates and fixes:
* General
- The general focus for this release was to improve the documentation,
re-organize the sample applications and provide standard bug-fixing.
* Accord.Controls
- Fixing ArrayDataView to show jagged arrays in DataGridViews;
- Adding a ComponentView control to display analysis information.
* Accord.Imaging
- Adding a Save overload to BagOfVisualWords (Google Code #74);
- Marking FAST and FREAK as Serializable (Google Code #75).
* Accord.Statistics
- Improving documentation for the 'unbiased' parameter (Google Code #66);
- Removing the DEBUG flag from the Statistics assembly (Google Code #78);
- Adding NonlinearRegression models and least-squares learning algorithms;
- Adding a option to force the use of SVD when fitting linear regressions;
- Adding a option to disable normalization when creating Cox's models;
- Adding MultipleBaumWelchLearning to test random weight initializations;
- Updating HCRF learning algorithms to use relative convergence by default.
* Accord.MachineLearning
- Correcting the score generation on k-NN classifier (Google Code #68);
- Fixing the Compact property of the SequentialMinimalOptimization class;
- Correcting the KD-Tree implementation to correctly identify all neighbor
points when querying for a finite number of neighbors (Google Code #71).
* Accord.Math
- Adding the Gauss-Newton and Levenberg-Marquardt Least-Squares algorithms;
- Updating Absolute and Relative Convergence to implement a common interface;
- Adding a configurable minimum convergence checks in relative convergence.
* Sample applications
- Reorganizing all sample applications, adding more relevant information
to their description and improving their documentation.
* AForge Compatibility
- Compiled against AForge.NET Framework 2.2.5. May work with newer versions.
Accord.NET Framework 2.10.0 release notes
-----------------------------------------
07.09.2013.
Version updates and fixes:
* General
- This release aimed to provide improvements to the documentation.
Most of the Univariate Distributions now include proper examples
for all main functions and measures in their summary page.
* Accord.Imaging
- Adding Haralick's set of textural features;
- Adding Local Binary Pattern (LBP) features;
- Adding Gabor, Variance and Kuwahara filters;
- Adding Gray-World, WhitePatch filters;
- Adding Kirsch and Robinson edge detectors;
- Adding Gray-Level Co-occurrence Matrices (GLCM);
- Adding Gray-Level Run-length Matrices (GLRLM);
- Adding Gray-Level Difference Method (GLDM);
- Adding byte and color conversions in the ArrayToImage converter;
- Updating IFeaturePoint's to include better conversion operators.
* Accord.Statistics
- Adding random Covariance matrix generation methods;
- Adding Von-Mises cumulative distribution function;
- Adding Poisson inverse cumulative distribution function;
- Adding Support information for all distributions;
- Adding support for threshold models in Markov running filters;
- Adding default support computing the true Median and Quantile
functions (inverse cumulative distribution function) for all
univariate continuous distributions;
- Improving ToString methods for linear/polynomial regressions;
- Updating all regression methods to use SVD by default;
- Correcting Wishart and Inverse Wishart distributions.
* Accord.MachineLearning
- Adding simple Minimum (Mean) Distance Classifier;
- Adding RANSAC methods for plane, circle and line fitting;
- Adding options to trade speed vs. accuracy in Mean-Shift;
- Updating Bag-of-Words to support any feature point type;
- Fixing Grid-Search issue when one of the models returns NaN;
- Fixing issue when k-Nearest Neighbors Matching is called
with less than k points on its second argument;
- Improving the performance of KD-Trees and Mean Shift;
- Updating Gaussian Mixture Model methods to report the
classification strength (score) as an out parameter.
* Accord.Math
- Adding the first version of the Math.Kinematics
namespace with Denavit-Hartenberg joint models;
- Adding Binary Search root finding algorithm;
- Adding missing Gamma.Inverse special function;
- Adding Mixture Distribution's Distribution functions;
- Adding dedicated class for Gram-Schmidt Orthogonalization;
- Adding general purpose Resilient Backpropagation algorithm;
- Fixing precision-loss issue in the Augmented Lagrangian Solver;
- Updating FiniteDifferences to support configurable step sizes;
- Updating Matrix.Range methods to require a dimension parameter;
- Moving matrix formatters from Accord.Math.Formats to
Accord.Math in order to improve their discoverability.
* Accord.Vision
- Moving the GroupMatching algorithms to Accord.Vision.
* Sample applications
- Adding sample application for Denavit-Hartenberg joint models;
- Adding sample application for Eigenfaces, PCA for images;
- Adding sample application for mouse gesture classification
using Dynamic Time Warping Kernel Support Vector Machines.
* AForge Compatibility
- Compiled against AForge.NET Framework 2.2.5. May work with newer versions.
Accord.NET Framework 2.9.0 release notes
-----------------------------------------
20.04.2013.
Version updates and fixes:
* General
- Updating installer to register framework libraries.
* Accord.MachineLearning
- Adding Least-Squares Support Vector Machines (LS-SVMs);
- Adding support for Decision Tree pruning (experimental);
- Adding Hybrid Markov Models (experimental, use with care);
- Adding Load and Save methods to Bag-of-Words;
- Adding initial support for Boosting (AdaBoost);
- Correcting k-Nearest Neighbors, KD-Trees and
Mean-Shift to respect non-Euclidean distances;
- Fixing IndexOutOfRange Exception in C4.5 learning;
- Fixing bug in k-Nearest Neighbors classifier;
- Fixing C4.5 split when working with continuous attributes;
- Renaming DecisionAttributeKind to DecisionVariableKind
for better naming consistency with DecisionVariables.
* Accord.Statistics
- Adding support for combining Confusion Matrices;
- Updating Levene's Test to support Trimmed Mean;
- Updating Binomial Test to use the small p-values;
- Fixing Two-Tailed computation in Binomial test.
* Accord.Math
- Adding Discrete Cosine, Sine and Hartley Transforms.
* Accord.Imaging
- Adding missing overloads for image moment calculators;
- Adding the Fast Retina Keypoint (FREAK) image descriptor;
- Correcting Histograms-of-Oriented-Gradients;
- Updating HaarObjectDetector to ignore Channel
information when working with Grayscale images.
* Accord.DirectSound
- Adding support for recording multiple bit-rates.
* Accord.Controls
- Adding support for Codebooks in DecisionTreeView.
* AForge Compatibility
- Compiled against AForge.NET Framework 2.2.4. May work with newer versions.
Accord.NET Framework 2.8.2 release notes
-----------------------------------------
25.02.2013.
Version updates and fixes:
* Accord.MachineLearning
- Adding several K-d tree traversal methods;
- Adding support for generating decision tree assemblies;
- Adding maximum height option for ID3 and C4.5 learning;
- Adding a generic Bag-Of-Words to accept other feature detectors;
- Updating DecisionVariable to initialize itself from a Codebook;
- Fixing C4.5 learning when presented with constant variable inputs;
- Fixing and normalizing the name of cluster identification methods.
* Accord.Statistics
- Adding support for opening binary streams in ExcelReader;
- Adding support for generalized linear regression models;
- Adding support for integer observations in generic density HMMs;
- Fixing Levene's test to behave as a one-tailed test;
- Fixing Stepwise Logistic Regression's result property;
- Fixing HMM classifier rejection using Threshold models;
- Fixing ConfusionMatrix's ToGeneralMatrix method so it respects
the expected order of elements in the contingency table.
* Accord.Math
- Adding Discrete Cosine, Sine and Hartley Transforms.
* Accord.Imaging
- Adding Hu's set of invariant image moments;
- Adding k-nearest neighbors feature point matching;
- Adding an early, experimental version of the Histograms of
Oriented Gradients (HOG) descriptors due to popular demand;
- Correcting image converters for different pixel sizes.
* Accord.DirectSound
- Adding support for capturing audio in different bit resolutions.
* Accord.Controls
- Fixing the initialization of ScatterplotView.
* AForge Compatibility
- Compiled against AForge.NET Framework 2.2.4. May work with newer versions.
Accord.NET Framework 2.8.1 release notes
-----------------------------------------
21.12.2012.
Version updates and fixes:
* General
- Working on more source code examples for the documentation.
* Accord.Math
- Adding Levenshtein distance for strings.
* Accord.Imaging
- Updating BagOfVisualWords to be fully serializable.
* Accord.MachineLearning
- Adding K-dimensional trees (K-d trees);
- Adding Mean-Shift clustering algorithm;
- Adding support for weights in Gaussian Mixture Models;
- Correcting the name of the K-Nearest Neighbors algorithm;
- Improving K-Nearest Neighbors for double[] using a K-d tree;
- Changing K-Nearest Neighbors generic argument to represent the
instance type rather than the type of the array of instances.
* Accord.Statistics
- Adding interfaces for density estimation kernels;
- Adding Gaussian, Epanechnikov, Uniform density kernels;
- Adding Bartlett's and Levene's tests for variances;
- Adding hypothesis tests for comparing ROC curves;
- Adding support for scatter plot generation directly from ROC curves;
- Adding running Markov models and running Markov classifier filters;
- Adding stochastic gradient descent learning for logistic regression models;
- Updating Two-Sample Kolmogorov to work with number of samples in double-precision;
- Correcting standard error calculation in Paired T-Tests.
* Accord.Neuro
- Adding Boltzmann Machines, Contrastive Divergence Learning and Deep Neural Networks.
* Accord.Vision
- Adding rectangle averaging support in the Haar object detector.
* AForge Compatibility
- Compiled against AForge.NET Framework 2.2.4. May work with newer versions.
Accord.NET Framework 2.8.0 release notes
-----------------------------------------
06.11.2012.
Version updates and fixes:
* General
- Adding support for previous versions of the .NET framework (3.5).
* Accord.Audio
- Fixing finalizers to avoid disposing null object references.
* Accord.Math
- Adding Absolute and Relative convergence classes;
- Adding Algorithm Environments to the Math project;
- Fixing SVD precision when solving ill-conditioned problems.
* Accord.Statistics
- Reorganizing the (Hidden) Conditional Random Fields namespace;
- Adding Forward-Backward Gradient calculator for linear-chain HCRFs;
- Adding Cox's Proportional Hazards and Partial Newton-Raphson estimation algorithm;
- Adding Gompertz and Empirical Hazard Distributions;
- Adding Weighted Confusion Matrix and Weighted Kappa;
- Adding support for Weighted Kappa in Kappa tests;
- Fixing class balancing in the Grouping filter;
* Accord.MachineLearning
- Marking DecisionAttributeCollection as Serializable;
- Updating Multi-class and Multi-label SVMs to implement the IEnumerable interface;
- Updating Multi-class SVM decision to be thread-safe in multithreaded environments;
- Adding explicit class count parameter to KNearestNeighbors;
- Adding Bag-of-Words model for text categorization;
- Fixing SMO when there is only one class label in outputs;
- Fixing set size counting in Cross-Validation.
* Accord.Controls
- Updating Confusion Matrix View to display Actual and Expected labels.
* Accord.Imaging
- Fixing an issue with PointH transform method.
* AForge Compatibility
- Compiled against AForge.NET Framework 2.2.4. May work with newer versions.
Accord.NET Framework 2.7.1 release notes
-----------------------------------------
01.09.2012.
Version updates and fixes:
* Accord.Statistics
- Adding data processing filters for data randomization,
branching, grouping, elimination and imputation;
- Adding Precision, Recall and F-Score in Confusion matrix;
- Adding GrandMean calculation in Statistics.Tools;
- Adding the Negative Binomial, Pareto, Laplace, Inverse
Gamma, Beta, Wishart, Inverse Wishart, Dirichlet distributions;
- Adding the Two Proportion Z-Test, Paired T-Test and Multinomial test
- Correcting Noncentral T distribution pdf calculation;
- Correcting Skewness and Kurtosis calculations;
- Correcting ANOVA when groups have different sizes;
- Adding support for newer Excel versions in ExcelReader;
- Adding support for different sample weights in HMM learning;
- Adding distinct elements calculation in DescriptiveAnalysis;
- Adding standalone Standard Error computation for ROC curves.
* Accord.MachineLearning
- Redesigning clustering framework to accommodate the
Binary-Split algorithm, K-Means, K-Modes and GMMs;
- Adding support for cancellation in SVM learning;
- Adding support for different class weights in SMO;
* Accord.Controls
- Adding Confusion Matrix viewer;
- Adding numeric collection editor.
* Accord.Imaging
- Adding Mean and Standard Deviation for images.
* Accord.Vision
- Marking TrackingObject as Serializable.
* AForge Compatibility
- Compiled against AForge.NET Framework 2.2.4. May work with newer versions.
Accord.NET Framework 2.7.0 release notes
-----------------------------------------
08.07.2012.
Version updates and fixes:
* Accord.Statistics
- Standardizing statistical tests hypotheses;
- Adding power analysis for statistical tests;
- Adding Fisher's exact test for contingency tables;
- Adding Multiple-Matrix Kappa and Average Kappa tests;
- Adding Binomial tests, Sign tests, Wilcoxon and Mann-Whitney tests;
- Adding Noncentral T, Wilcoxon's W and Mann-Whitney's U distributions;
- Adding Multiple Linear Regression Analysis with ANOVA statistics;
- Adding inverse distribution calculation in the T-Distribution;
- Adding the unsupervised Viterbi learning and the supervised
Maximum Likelihood Estimation learning for hidden Markov models;
- Adding Generate methods for sampling from hidden Markov models;
- Marking several Statistics.Tools methods as extension methods;
- Introducing the ISampleableDistribution interface for probability
distributions and adding generate methods for most distributions;
- Correcting variance calculation for Cohen's Kappa, adding variants
for the null hypothesis and the calculation using the Delta method;
- Correcting F-Distribution ComplementaryDistributionFunction;
- Correcting Kernel Principal Component Analysis bug when auto-
selecting the maximum number of components;
- Resolving naming confusion in KMeans, renaming Classify to Nearest;
- Renaming ContinuousUniformDistribution to UniformContinuousDistribution;
- Renaming DiscreteUniformDistribution to UniformDiscreteDistribution;
- Renaming Random to RandomSample for clarity;
- Updating MultipleLinearRegression to use a single SVD;
- Updating Covariance method with two variables to generate
a covariance value rather than a 2x2 covariance matrix;
- Renaming IMultipleRegressionAnalysis interface to the
more adequate name IMultivariateRegressionAnalysis;
- Renaming ConfusionMatrix.Observations to .Samples to
maintain consistency with the GeneralConfusionMatrix.
* Accord.MachineLearning
- Adding Bootstrap for generalization performance estimation;
- Adding the K-Modes clustering algorithm for discrete data;
- Optimizing both memory usage and performance for Sequential
Minimal Optimization learning and the kernel function cache.
* Accord.Math
- Adding Brent Search Root Finding Algorithm;
- Adding Combinatorics class for permutations and combinations;
- Fixing a bug in Goldfarb-Idnani Quadratic Solver;
- Adding Trigamma function to Gamma class;
- Adding array format providers.
* Accord.Controls
- Adding ScatterplotBox class for displaying point data; DataGridBox for
displaying tabular data; and DataSeriesBox to display series data in the
same way as Windows.Forms's MessageBox can be used to display text data;
- Adding extension method for enabling DataGridViewColumns nested properties;
- Adding ImageBox overloads to work with images represented in matrix form.
* Accord.Imaging
- Adding the Bag of Visual Words (BoW) feature extractor;
- Renaming SpeededUpRobustFeatures (SURF) classes avoiding acronyms.
- Updating FeaturesMarker to make it work with indexed images.
* Sample applications
- Adding image classification sample application;
- Updating Regression sample application to include
more information for linear regression analysis.
* AForge Compatibility
- Compiled against AForge.NET Framework 2.2.4. May work with newer versions.
Accord.NET Framework 2.6.1 release notes
-----------------------------------------
05.05.2012.
Version updates and fixes:
* General
- The project's website has moved. This minor release updates all
references to reflect the new project URL and includes only some new
additions and fixes. The project is now being hosted at Google Code.
* Accord.MachineLearning
- Adding Multi-label Support Vector Machines;
- Adding K-Nearest Neighbor (k-NN) classifiers;
- Adding linear elimination Support Vector Reduction;
- Correcting SVM serialization compatibility.
* Accord.Statistics
- Adding named constructors in PCA to create analysis
directly from covariance or correlation matrices;
- Adding support for adjusting the rejection threshold
in Hidden Markov Classifiers with threshold models;
- Updating Center, Standardize and ZScores methods so
they are not in-place by default.
* Accord.Math
- Adding Augmented Lagrangian solver for Non-linear programming problems;
- Adding Row-reduced Echelon Form reductor.
* AForge Compatibility
- Compiled against AForge.NET Framework 2.2.4. May work with newer versions.
Accord.NET Framework 2.6.0 release notes
-----------------------------------------
05.04.2012.
Version updates and fixes:
* General
- Introducing experimental NuGet packages.
* Accord.Statistics
- Adding class features to HCRF potential functions;