HLearn是采用Haskell语言编写的高性能机器学习库,它对任意维度空间有着最快最近邻的实现算法。
HLearn同样也是一个研究型项目。该项目的研究目标是为机器学习发掘“最佳可能”的接口。这就涉及到了两个相互冲突的要求:该库应该像由C/C++/Fortran/Assembly开发的底层库那样运行快速;同时也应该像由Python/R/Matlab开发的高级库那样灵活多变。Julia在这个方向上取得了惊人的进步,但是HLearn“野心”更大。更值得注意的是,HLearn的目标是比低级语言速度更快,比高级语言更加灵活。
为了实现这一目标,HLearn采用了与标准学习库完全不同的接口。HLearn中H代表三个独立的概念,也是HLearn设计的基础:
一个H代表Haskell。通过采用Haskell中的SubHask库获得快速数值计算能力;
一个H代表Homomorphisms。这是是抽象代数的基本概念,HLearn将该代数结构应用于学习系统中;
一个H代表Historymonad 。可在整个线程优化代码的过程中无需修改原代码,减轻调试过程的工作量。
评论