← All repos

HLearn

Homomorphic machine learning

Browse cluster: Cluster 25
743commits
17contributors
8languages

Tech stack & purpose

HLearn is a high-performance machine learning library written in Haskell, developed by Mike Izbicki as both a practical tool and research project. The library emphasizes performance comparable to low-level C/C++ implementations while maintaining the flexibility of high-level languages, and it currently features the fastest nearest neighbor implementation for arbitrary metric spaces. HLearn's design is built around three core concepts: using Haskell as a functional programming language with numerical support from the SubHask library, exploiting homomorphic algebraic structures (such as monoids, groups, and vector spaces) to enable parallel training, online training, and fast cross-validation, and incorporating a History monad for debugging optimization procedures without runtime overhead. The project is documented through academic papers on faster cover trees and algebraic classifiers, though the library currently has limited implementations of popular machine learning techniques.

Community & reference links

Languages

Haskell
85.8%
C++
9.2%
Shell
2.6%
Java
0.9%
C
0.7%
R
0.4%
Python
0.2%
Makefile
0.1%

Contributors