当涉及到训练计算机的行为而不需要明确的编程,存在大量的机器学习领域的工具。学术和工业界专业人士使用这些工具来构建从语音识别到MRI扫描中的癌症检测的许多应用。许多这些工具可以在网上免费获得。如果你有兴趣,我已经编译了这些(见本页底部)的排名,以及区分它们中一些重要功能的概述。具体来说,该工具所用的语言、每个工具的主页网站上的描述、对机器学习中特定范式的关注以及学术界和工业界的一些主要用途。
研究人员可能一次使用许多不同的库,自己写或不引用任何特定的工具,因此量化每个库的相对使用非常困难。相反,搜索排名反映了5月中每个工具的Google搜索的比较幅度。得分不一定反映广泛采用,但给我们一个很好的指示,它正在使用。注意:诸如“Caffe”之类的模糊名称被评价为“Caffe Machine Learning”以使其更加模糊。
图片由 xdxd_vs_xdxd
机器学习中包括的两个子领域深度和浅层学习之间的区别,这已经成为过去几年的重要分歧。深度学习负责在图像分类和语音识别的记录结果,因此是由大数据公司,如谷歌,Facebook和百度带头。相反,浅层学习方法包括各种较少的边缘分类,聚类和提升技术,如支持向量机。浅层学习方法仍广泛应用于自然语言处理,脑计算机接口和信息检索等领域。
机器学习包和库的详细比较
此表还包括有关GPU的特定工具支持的信息。GPU接口已经成为机器学习工具的一个重要功能,因为它可以加速大规模矩阵计算。同时还给出了有关工具通过Hadoop或Spark在集群上分布计算的信息。这已经成为适合分布式计算的浅层学习技术的一个重要的讨论点。同样,深层网络的分布式计算也成为一个讨论点,因为已经为分布式训练算法开发了新的技术。最后,还附加了一些关于这些工具在学术界和工业中的不同用途的附注。
这项研究的结果表明,目前有许多工具正在使用,目前还不确定哪些将赢得会在工业或学术界使用的主要份额。
搜索排名 | 工具 | 语言 | 类型 | 说明“quote” | 使用 | GPU加速 | 分布式计算 | 已知学术使用 | 已知行业使用 |
---|---|---|---|---|---|---|---|---|---|
100 | Theano | python | 库 | 有效的多维数组的数值计算库 | 深度学习和浅层学习 | CUDA和Open CL,cuDNN | 还没 | Geoffrey Hinton,Yoshio Bengio和Yann Le Cunn | Facebook,Oracle,Google和Parallel Dots |
78 | Torch 7 | Lua | 框架 | 科学计算框架,广泛支持机器学习算法 | 深度学习和浅层学习 | CUDA和Open CL,cuDNN | Cutorch | NYU,LISA LABS,Purdue e-lab,IDIAP | Facebook AI Research,Google Deep Mind,IBM的某些人和一些小公司 |
64 | R | R | 环境/语言 | 统计语言和环境 | 浅层学习 | RPUD | HiPLAR | ||
52 | LIBSVM | Java和C ++ | 库 | 支持向量机的库 | 支持向量机 | CUDA | 还没 | Oracle | |
34 | Scikit-learn | python | 库 | Python中的机器学习库 | 浅层学习 | 还没 | 还没 | ||
28 | MLLIB | C ++,JAVA中的API和Python | 库/ API | Apache Spark的可扩展机器学习库 | 浅层学习 | ScalaCL | Spark和Hadoop | Oracle | |
24 | Matlab | Matlab | 环境/语言 | 高级计算语言和交互式环境,用于算法开发,数据可视化,数据分析和数值分析 | 深度学习和浅层学习 | 并行计算工具箱(非免费未开源) | 分布式计算包(非自由未开源) | 其他研究者Geoffrey Hinton,Graham Taylor | |
18 | Pylearn2 | python | 库 | 机器学习 | 深度学习 | CUDA和Open CL,cuDNN | 还没 | LISA实验室 | |
14 | VowPal Wabbit | C ++ | 库 | 外核学习系统 | 浅层学习 | CUDA | 还没 | 由Microsoft Research和(以前)Yahoo! Research赞助 | |
13 | Caffe | C ++ | 框架 | 深入学习框架,表达,速度和模块化 | 深度学习 | CUDA和Open CL,cuDNN | 还没 | Virginia Tech,UC Berkley,NYU | Flicker,Yahoo和Adobe |
11 | LIBLINEAR | Java和C ++ | 库 | 大规模线性分类库 | 支持向量机和逻辑回归 | CUDA | 还没 | Oracle | |
6 | Mahout | Java | 环境/框架 | 构建可扩展算法的环境 | 浅层学习 | JCUDA | Spark和Hadoop | ||
5 | Accord.NET | .Net | 框架 | 机器学习 | 深度学习和浅层学习 | CUDA.net | 还没 | ||
5 | NLTK | python | 库 | 使用人类语言数据的程序 | 文本分类 | Skits.cuda | 还没 | ||
4 | Deeplearning4j | Java | 框架 | 商业级、开源、分布式深度学习库 | 深度学习和浅层学习 | JClubas | Spark和Hadoop | ||
4 | Weka 3 | Java | 库 | 数据挖掘任务的机器学习算法的收集 | 浅层学习 | 还没 | 分布式WekaSpark | ||
4 | MLPY | python | 库 | 机器学习 | 浅层学习 | Skits.cuda | 还没 | ||
3 | Pandas | python | 库 | 数据分析和操作 | 浅层学习 | Skits.cuda | 还没 | ||
1 | H20 | Java,Python和R | 环境/语言 | 开源预测分析平台 | 深度学习和浅层学习 | 还没 | Spark和Hadoop | ||
0 | Cuda-covnet | C ++ | 库 | 用于神经网络应用的机器学习库 | 深度神经网络 | CUDA | Cuda-covnet2即将到来 | ||
0 | Mallet | Java | 库 | 用于统计自然语言处理的包 | 浅层学习 | JCUDA | Spark和Hadoop | ||
0 | JSAT | Java | 库 | 统计分析工具 | 浅层学习 | JCUDA | Spark和Hadoop | ||
0 | MultiBoost | C ++ | 库 | 机器学习 | Boosting算法 | CUDA | 还没 | ||
0 | Shogun | C ++ | 库 | 机器学习 | 浅层学习 | CUDA | 还没 | ||
0 | MLPACK | C ++ | 库 | 机器学习 | 浅层学习 | CUDA | 还没 | ||
0 | DLIB | C ++ | 库 | 机器学习 | 浅层学习 | CUDA | 还没 | ||
0 | Ramp | python | 库 | 机器学习 | 浅层学习 | skits.cuda | 还没 | ||
0 | Deepnet | python | 库 | 基于GPU的机器学习 | 深度学习 | CUDA | 还没 | ||
0 | CUV | python | 库 | 基于GPU的机器学习 | 深度学习 | CUDA | 还没 | ||
0 | APRIL-ANN | Lua | 库 | 机器学习 | 深度学习 | 还没 | 还没 | ||
0 | nnForge | C ++ | 框架 | 基于GPU的机器学习 | 卷积和全连接的神经网络 | CUDA | 还没 | ||
0 | PYML | python | 框架 | 面向机器学习的面向对象框架 | SVM和其他内核方法 | Skits.cuda | 还没 | ||
0 | Milk | python | 库 | 机器学习 | 浅层学习 | Skits.cuda | 还没 | ||
0 | MDP | python | 库 | 机器学习 | 浅层学习 | Skits.cuda | 还没 | ||
0 | Orange | python | 库 | 机器学习 | 浅层学习 | Skits.cuda | 还没 | ||
0 | PYMVPA | python | 库 | 机器学习 | 只有分类 | Skits.cuda | 还没 | ||
0 | Monte | python | 库 | 机器学习 | 浅层学习 | Skits.cuda | 还没 | ||
0 | RPY2 | Python到R | API | R的低级接口 | 浅层学习 | Skits.cuda | 还没 | ||
0 | NueroLab | python | 库 | 机器学习 | 前馈神经网络 | Skits.cuda | 还没 | ||
0 | PythonXX | python | 库 | 机器学习 | 浅层学习 | Skits.cuda | 还没 | ||
0 | Hcluster | python | 库 | 机器学习 | 聚类算法 | Skits.cuda | 还没 | ||
0 | FYANN | C | 库 | 机器学习 | 前馈神经网络 | 还没 | 还没 | ||
0 | PyANN | python | 库 | 机器学习 | 最近的邻居 | 还没 | 还没 | ||
0 | FFNET | python | 库 | 机器学习 | 前馈神经网络 | 还没 | 还没 |