原文
机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习牵涉的编程语言十分之广,包括了MATLAB、Julia、R、Perl、Python、Clojure、Ruby等等。
为了让开发者更加广泛、深入地了解机器学习,云栖社区组织翻译了GitHub Awesome Machine Learning 资源,涵盖24种编程语言的机器学习的框架、库以及其他相关资料。
目录
C
通用机器学习
计算机视觉
语音识别
C++
计算机视觉
OpenCV -OpenCV自带C ++、C、Python、Java和MATLAB接口,并支持Windows、Linux、Android版和Mac OS等系统;
DLib -DLib有C ++和Python接口,用于人脸检测和训练通用的目标探测器;
EBLearn -Eblearn是一种面向对象的C++库,能够实现各种机器学习模型;
VIGRA -VIGRA是通用跨平台的C++计算机视觉和机器学习库,能够用Python绑定任意维度的体积。
通用机器学习
自然语言处理
语音识别
序列分析
手势检测
Common Lisp
通用机器学习
Clojure
自然语言处理
通用机器学习
Touchstone – Clojure A/B 测试库;
Clojush – Clojure中的Push程序语言和PushGP遗传编程系统;
Infer – Clojure中分析和机器学习的工具;
Clj-ML – Clojure中基于Weka及其相关环境的深度学习库;
Encog – 在Clojure中封装成Encog (v3) (专门研究神经网络的机器学习框架);
Fungp – Clojure中的遗传编程实例库;
Statistiker – Clojure中基础机器学习算法;
clortex -采用Numenta’s Cortical 学习算法的通用机器学习库;
comportex – 采用Numenta’s Cortical 学习算法的功能组合的机器学习库。
数据分析/数据可视化
Incanter – Incanter是基于 Clojure,类似R的统计计算与制图平台;
PigPen – Clojure中的Map-Reduce;
Envision – 基于Statistiker和D3Clojure 数据可视化库。
Erlang
通用机器学习
Go
自然语言处理
通用机器学习
数据分析/数据可视化
Haskell
通用机器学习
Java
自然语言处理
通用机器学习
aerosolve – 是由Airbnb设计的定价建议系统的机器学习库;
Datumbox -应对机器学习和统计应用快速发展的机器学习框架;
ELKI – 用于数据挖掘的Java工具包(无监督:聚类、异常检测等等);
Encog – 一种先进的神经网络和机器学习框架。 Encog包含用于创建各类网络的类,同时也支持为神经网络规范和处理数据的类。它的训练采用多线程弹性传播。它也能使用GPU加快处理时间。提供了图形化界面来帮助建模和训练神经网络。
EvA2 – 包含遗传算法、差分进化、协方差自适应进化策略等等的进化算法框架;
FlinkML in Apache Flink – Flink中的分布式机器学习库;
H2O – 深度学习引擎,支持在Hadoop、Spark 或者通过R、Python、Scala 、REST/JSONML 的APIs连到的笔记本上进行分布式学习;
htm.java – 采用Numenta Cortical 学习算法的通用机器学习库 ;
java-deeplearning – Java、Clojure、Scala的分布式深度学习平台;
JAVA-ML – 包含所有Java算法的通用接口的通用深度学习库;
JSAT – 用于分类、回归、聚类的机器学习算法集合;
Mahout – 分布式的机器学习库;
Meka – MEKA提供了一个面向多标签学习和评价方法的开源实现(扩展成Weka);
MLlib in Apache Spark – Spark中的分布式机器学习程序库;
Neuroph – Neuroph 是轻量级的Java神经网络框架;
ORYX – 采用Apache Spark和Apache Kafka的Lambda 结构框架,专门用于实时大规模机器学习;
Samoa – SAMOA 是一个包含用于分布式机器学习数据流的框架,同时为数据流流入不同的流处理平台提供了接口;
RankLib – RankLib是一个排序学习算法库;
rapaio – Java中用于统计、数据挖掘和机器学习的工具箱;
RapidMiner – RapidMiner integration into Java code
Stanford Classifier – 斯坦福大学分类器是一种机器学习工具,它可以将数据项归置不同的类别中;
SmileMiner – 统计机器智能与学习引擎;
SystemML – 灵活、可扩展的机器学习语言;
WalnutiQ – 人脑部分面向对象模型;
Weka – Weka是数据挖掘方面的机器学习算法集 。
语音识别
数据分析/数据可视化
深度学习
数 Javascript
自然语言处理
数据分析/数据可视化
通用机器学习
其它
Julia
通用机器学习
自然语言处理
数据分析/数据可视化
其他项/展示
机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习牵涉的编程语言十分之广,包括了MATLAB、Julia、R、Perl、Python、Clojure、Ruby等等。
为了让开发者更加广泛、深入地了解机器学习,云栖社区组织翻译了GitHub Awesome Machine Learning 资源,涵盖24种编程语言的机器学习的框架、库以及其他相关资料。
Lua
通用机器学习
Torch7
cephes – 由Torch包装的Cephes数学函数库,由Stephen L. Moshier开发,库中提供并包装了从Cephes数学库中的180多个特殊的数学函数,是SciPy的核心,作用广泛;
autograd – Autograd自动区分本机Torch代码,受原始的Python版本的启发;
graph – Torch的图形包;
randomkit – 从Numpy提取的随机数生成包,包装成Torch可用形式;
signal – 适用Torch-7的信号处理工具箱,包括FFT、DCT、Hilbert、cepstrums、stft等变换;
nn – Torch的神经网络包;
nngraph – 此软件包为Torch7 nn库提供图形计算;
nnx – 一个不稳定的实验包,能够扩展Torch的内置nn库;
rnn – 能够扩展Torch nn库的递推神经网络库,包括RNNs、LSTMs、GRUs、BRNNs、BLSTMs等等;
dpnn – 许多有用的功能,并不是主要的神经网络包的一部分;
dp – 深度学习库,专门使用Torch7分配进行合理化的研究和开发,它强调通过优雅地使用面向对象的设计模式,从而实现灵活性;
optim – 针对Torch的优化库,包括Adagrad、共轭梯度、LBFGS, RProp等算法;
unsup – Torch中的无监督学习包,提供了与nn相兼容的模块((LinearPsd、ConvPsd、AutoEncoder等),以及独立的算法(k-均值、PCA);
manifold – 操作流形的包;
svm – Torch的支持向量机库;
lbfgs – 针对liblbfgs的FFT包;
vowpalwabbit – torch的旧式vowpalwabbit接口;
OpenGM – OpenGM是一个用于图形化建模和推断的C++库, Lua binding提供了一种简单的描绘图形的方法,用Lua描绘,再用OpenGM优化;
sphagetti – @MichaelMathieu开发的用于torch7的Spaghetti(稀疏线型)模块;
LuaSHKit – 将局部敏感哈希库SHKit包装成Lua可用形式;
kernel smoothing – KNN,内核加权平均,以及局部线性回归平滑器;
cutorch – Torch的CUDA实现;
cunn – Torch的CUDA神经网络实现;
imgraph – Torch的图像/图形库,该软件包提供了在图像上构造图形、分割、组建树、并转换成图像的例程;
videograph – Torch的视频/图形库,该软件包提供了在视频上构造图形、分割、组建树、并转换成视频的例程;
saliency – 积分图像的代码和工具,一种基于快速积分直方图找到兴趣点的库;
stitch – 使用hugin拼接图像,并将其应用以便视频序列;
sfm – 运动场景束调整/结构包;
fex – Torch中用于特征提取的软件包,提供SIFT和dSIFT模块;
OverFeat – 当前最先进的通用密集特征提取方式。
Numeric Lua
Lunatic Python
SciLua
Lua – Numerical Algorithms
Lunum
演示与脚本
torch7核心演示资源库
线性回归,逻辑回归;
面部检测器(训练和检测作为独立的演示);
基于mst的分段器;
train-a-digit-classifier
train-autoencoder
optical flow demo
train-on-housenumbers
train-on-cifar
深层网络追踪;
Kinect 演示;
滤波组件可视化;
网络卓越度;
Training a Convnet for the Galaxy-Zoo Kaggle challenge(CUDA demo)
Music Tagging – Torch7的音乐标记脚本;
torch-datasets – 用于加载多个大众数据集的脚本,数据集包括如下:
Atari2600 – 从Arcade学习环境的静态帧中生成数据集的脚本。
Matlab
计算机视觉
自然语言处理
通用机器学习
数据分析/数据可视化
.NET
计算机视觉
OpenCVDotNet – OpenCV工程封装器,用于.NET应用程序;
Emgu CV – OpenCV的跨平台封装器,可在Mono中编译,并运行于Windows、Linus、Mac OS X、 iOS、Android等系统;
AForge.NET – 开放源码C#框架,用于计算机视觉和人工智能领域的开发和研究人员,目前已转移到GitHub发展;
Accord.NET -连同AForge.NET,可为Windows、Windows RT和Windows Phone提供图像处理和计算机视觉算法,一些组件适用于Java和Android;
自然语言处理
通用机器学习
Accord-Framework – 完整的Accord.NET框架,用于机器学习,计算机视觉,计算机试听,信号处理和统计应用;
Accord.MachineLearning –该软件包是Accord.NET框架的一部分,包括支持向量机、决策树、朴素贝叶斯模型、K均值、高斯混合模型和一些通用算法,例如适用于机器学习应用的RANSAC、交叉验证和网格搜索;
DiffSharp – 一个自动微分(AD)库,能够提供精确高效,用于机器学习和优化应用的导数(梯度、Hessians、雅可比行列式、方向导数、无矩阵Hessian-和雅可比矢量积),操作可以嵌套到任何级别,这意味着你可以通过利用内部微分,来计算精确的高阶导数,如超参数优化函数的应用;
Vulpes – F#写的Deep belief与深度学习的实现,并在Alea.cuBase下用CUDA GPU执行;
Encog –一种先进的神经网络和机器学习框架。 Encog包含用于创建各类网络的类,同时也支持为神经网络规范和处理数据的类。它的训练采用多线程弹性传播。同时使用GPU加快处理时间,此外还提供了图形化界面来帮助建模和训练神经网络;
Neural Network Designer – DBMS管理系统和神经网络的设计平台,该设计应用程序使用WPF开发,是一个用户界面,允许用户设计自己的神经网络,查询网络,创建和配置能够提出问题、并能从反馈中学习的聊天机器人,聊天机器人甚至可以搜集Internet上的信息,以便在返回时输出,或者用于学习;
数据分析/数据可视化
numl – 机器学习库,用于简化预测和聚类的标准建模技术;
Math.NET Numerics – Math.NET工程的数值基础,旨在为科学、工程中的数值计算提供了方法和算法,支持 Windows, Linux 和 Mac上的.Net 4.0, .Net 3.5 和 Mono ,Silverlight 5, WindowsPhone/SL 8, WindowsPhone 8.1 以及装有 PCL Portable Profiles 47 及 344的Windows 8, 装有 Xamarin的Android/iOS;
Sho – 用于数据分析和科学计算的交互环境,可以使用编译代码(.NET)无缝连接脚本(用IronPython),以实现快速、灵活的原型设计;该环境包括线性代数、数据可视化等强大高效的库,可供任何.NET语言使用,还为快速开发提供了功能丰富的交互式shell。
Objective
通用机器学习
OCaml
通用机器学习
PHP
自然语言处理
通用机器学习
Python
计算机视觉
自然语言处理
NLTK -用人类语言数据编写Python程序的一个领先平台;
Pattern – Python编程语言的Web挖掘模块,有用于自然语言处理、机器学习等的工具;
Quepy –一个Python框架,将自然语言问题转换成数据库查询语言;
TextBlob – 给常规的自然语言处理(NLP)任务提供一致的API,以NLTK和Pattern为基础,并和两者都能很好兼容;
YAlign – 语句校准器,较好地用于从比较语料库中提取并行语句;
jieba -中文分词工具;
SnowNLP –用于处理中文文本的库;
spammy – 建在NLTK之上的库,用于垃圾邮件过滤;
loso – 另一个中文分词库;
genius – 基于条件随机域的中文断词库;
KoNLPy – 用于韩语自然语言处理的Python包;
nut -自然语言理解工具包;
Rosetta -文本处理工具和包装器(例如Vowpal Wabbit);
BLLIP Parser – Python绑定的BLLIP自然语言解析器(也称为Charniak-Johnson解析器);
PyNLPl – Python的自然语言处理库,Python的通用NLP库,还包含一些特定模块,用于常规的NLP格式分析,尤其是FoLiA和ARPA语言模型,Moses phrasetables,GIZA++ alignments等;
python-ucto – Python绑定的ucto(包括Unicode,基于规则,各种语言的的标记生成器);
python-frog – Python绑定的Frog,用于Dutch的NLP套件(词性标注,词性还原,依存分析,NER);
python-zpar – Python绑定的ZPar,统计性的部分词性标注,constiuency解析器和英语依存句法分析;
colibri-core – Python绑定的C++库,用于以快速和存储器高效的方式提取并使用基本语言结构,例如-grams 和skipgrams;
spaCy – 使用Python和Cython,NLP的产业优势;
PyStanfordDependencies –Python接口,用于将Penn Treebank树转换成Stanford Dependencies;
通用机器学习
数据分析/数据可视化
杂项脚本/iPython笔记/代码库
Kaggle竞赛源码
Ruby
自然语言处理
通用机器学习
数据分析/数据可视化
杂项
Rust
通用机器学习
R
通用机器学习
数据分析/数据可视化
SAS
通用机器学习
数据分析/数据可视化
高性能机器学习
自然语言处理
示例和脚本
Scala
自然语言处理
ScalaNLP – ScalaNLP一系列机器学习和数值计算库的集合;
Breeze – Breeze是Scala中的的数值处理库;
Chalk – Chalk是一个自然语言处理库.
FACTORIE – FACTORIE是可部署的概率建模工具包,用Scala实现的软件库。为用户提供简洁的语言来创建关系因素图,评估参数并进行推断 。
数据分析/数据可视化
通用机器学习
Swift
通用机器学习
Swift AI – Swift语言编写的高度优化的人工智能和机器学习;
BrainCore – 支持iOS和 OS X的神经网络框架;
DeepLearningKit–支持苹果iOS OS X和tvOS系统的开源深度学习框架。目前支持在苹果操作系统上利用Caffe训练深度卷积网络模型;
AIToolbox – A toolbox framework of AI modules written in Swift: Swift语言编写的人工智能(AI)模型工具框架:图/树、线性回归、支持向量机、神经网络、PCA、KMeans、遗传算法、MDP和 混合高斯模型。
作者:readilen 链接:https://www.jianshu.com/p/d556af7de634 來源:简书 简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。