Crate dendritic

Crate dendritic 

Source
Expand description

ยงDendritic

Dendritic is a lightweight and extensible optimization library built with flexibility in mind. Contains utilities for first order optimization with multi variate/vector valued functions using ndarray. This crate aims to contain extensible interfaces for common abstractions in optimization & machine learning problems.

ยง๐Ÿš€ Features

  • ๐Ÿ“ Auto-Differentiation: Reverse-mode autodiff for computing gradients using ndarray.
  • โš™๏ธ Optimizers: Built-in optimizers like SGD, Adam, etc.
  • ๐Ÿ“ˆ Regression Models: Traditional regression models (Linear, Logistic).
  • ๐Ÿ”ฃ Preprocessing: Lightweight utilities for common preprocessing tasks (e.g., one-hot encoding).
  • ๐Ÿงฑ Modular: Designed to be flexible and easy to extend for research or custom pipelines.

ยง๐Ÿ”ฎ Future Enhancements

There are more features on the roadmap for this crate. Version v2 was a redesign focused on improving crate structure and aligning functionality with abstractions common in optimization theory.

Below are some ideas for future features that may be incorporated into the crate:

  • Second Order Optimization
    Methods like Newtonโ€™s or Secant methods that leverage second-order derivatives (Hessian) for faster convergence.

  • Population Methods
    Optimization techniques that maintain and evolve a population of candidate solutions. Includes genetic algorithms and evolutionary strategies.

  • Zero Order Methods
    Approaches that do not require gradient information, useful in settings where derivatives are unavailable or expensive to compute.

Modulesยง

autodiff
Autodifferentiation Abstractions
optimizer
Optimizer & model abstractions with defaults
preprocessing
Data pre-processing module