Added parallised multi-class classification / learner with support for unlimited classes and any generator
Added extension methods for computing min, max, std dev and mean for vectors / matrices
Changed base model and generator implementation to include proprocessing steps (recommended for most ML algorithms)
Changed feature normalisation methods to allow for greater flexibility and easier extension. Also added a number of new feature normalizers.
Restructured cost functions and optimisation - including new optimiser system
Fixed bug in Logistic Regression where the prediction was failing to compute properly
Fixed bug in Logistic Regression where using Descriptor method would cause label vector to output 1/-1 which caused learning to fail
Added new optimisation functionality with new optimisation approach with support for custom optimisers, including Nesterov-Accelerated gradient descent and stochastic gradient descent with momentum
Added new Functions (in Math) including Softmax, SteepLogistic, RectifiedLinear and ClippedRectifiedLinear functions
Added new Kernel functions for Sigmoid and Linear kernels
Added a lightweight Support Vector Machine with SMO utilising pair selection heuristics (Working Set Selection 3) as used in LIBSVM
Added Collaborative Filtering (Recommender) model with generator including unit tests with gradient checking
Added new extension methods to Matrix and Vectors for shape changing, selection and other operations
Added Scoring functionality and new model selection metrics in Learner class
Started added deep learning model building functionality - including support of autoencoder layers (not finished)
Started implementing Recurrent Neural Net based on Cho et al 2014 Gated Recurrent Unit LSTM variant