Skip to content
Mandar Chandorkar edited this page Apr 1, 2016 · 9 revisions

What is DynaML?

DynaML is a Scala environment for conducting research and education in machine learning. DynaML comes packaged with a powerful library of classes for various predictive models and a Scala REPL where one can not only build custom models but also play around with data work-flows.

DynaML uses the newly minted Wisp plotting library to generate aesthetic charts of common model validation metrics.

Motivation behind DynaML

DynaML was born out of the need to have a performant, extensible and easy to use Machine Learning research environment. Scala was a natural choice for these requirements due to its sprawling data science ecosystem (i.e. Apache Spark), its functional object-oriented duality and its interoperability with the Java Virtual Machine.

Current status/Road ahead

DynaML is a fledgling open source project that is in a phase of rapid expansion. Currently it supports.

  • Regularized Ordinary Least Squares
  • Logistic and Probit Models for binary classification
  • Regression with kernel based Dual LS-SVM
  • Regression with Gaussian Processes
  • Feed forward Neural Networks
  • Committee Models
    • Neural Committee Models
    • Gaussian Process Committee Models
  • Model Learning and Optimization
    • Gradient Descent
    • Conjugate Gradient
    • Committee Model Solver
    • Back propogation with momentum
    • LSSVM linear solver
  • Model tuning
    • Grid Search
    • Maximum Likelihood (ML-II)
    • Coupled Simulated Annealing
  • Model validation metrics (RMSE, Area under ROC)
  • Entropy based data subset selection
  • Data Pipes for configurable workflows

Going ahead we aim to introduce (but not limit to)

  • Sampling based Bayesian models
  • Large scale committee models (Apache Spark RDD based implementations)
  • GPU support
Clone this wiki locally