最全的机器学习资料2

原文

机器学习(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– 用于加载多个大众数据集的脚本,数据集包括如下:

BSR 500

CIFAR-10

COIL

Street View House Numbers

MNIST

NORB

Atari2600– 从Arcade学习环境的静态帧中生成数据集的脚本。

Matlab

计算机视觉

Contourlets–MATLAB源代码,能够实现轮廓变换及其效用函数;

Shearlets–剪切波变换的MATLAB代码;

Curvelets–曲波变换是小波变换的高维推广,用于表示不同尺度和不同角度的图像;

Bandlets– bandlet变换的MATLAB代码;

mexopencv– 针对OpenCV库,用于收集和开发MATLAB MEX函数的套件;

自然语言处理

NLP– 用于Mablab的NLP库;

通用机器学习

Training a deep autoencoder or a classifier on MNIST digits– 在MNIST数字上训练深度自编码或深度分类[深度学习];

Convolutional-Recursive Deep Learning for 3D Object Classification– 针对三维目标分类的卷积递归深度学习[深度学习];

t-Distributed Stochastic Neighbor Embedding– T-分布式随机邻域嵌入(T-SNE)法,已获奖,该降维技术特别适合高维数据集的可视化;

Spider– Matlab中完整的面向对象的环境,用于机器学习;

LibSVM– 支持向量机程序库;

LibLinear– 大型线性分类库;

Machine Learning Module– 机器学习课程,包括PDF、讲义及代码;

Caffe– 深度学习框架,开发时考虑到了清洁度,可读性和速度;

Pattern Recognition Toolbox– Matlab中完整的面向对象环境,用于机器学习;

Pattern Recognition and Machine Learning– C. Bishop在书Pattern Recognition and Machine Learning中描述了一个算法,该软件包包含了书中算法的matlab实现;

Optunity– 该库致力于用简单、轻量级的API进行自动超参数优化,以方便直接替换网格搜索;Optunity用Python编写,但与MATLAB无缝连接;

数据分析/数据可视化

matlab_gbl– 处理图形问题的MATLAB程序包;

gamic– 图形算法用纯Matlab高效实现,以补充MatlabBGL的MEX函数;

.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;

自然语言处理

Stanford.NLP for .NET– 斯坦福大学NLP包在.NET上的完整移植,也可作为NuGet包进行预编译;

通用机器学习

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

通用机器学习

YCML– 用于Objective-C 和Swift (OS X / iOS)的机器学习框架;

MLPNeuralNet–用于 iOS and Mac OS X的快速多层感知神经网络库,可通过神经网络预测新实例,建立在苹果公司的加速框架之上,如果需要,可利用向量化操作和硬件加速操作;

MAChineLearning– Objective-C多层感知库,通过反向传播全面支持训练,用vDSP和vecLib实现,比同等情况下的Java快20倍,包括从Swift使用的示例代码;

BPN-NeuralNetwork– 能够实现3层神经网络(输入层、隐藏层和输出层),其命名来源于BP神经网络(BPN),可用于产品建议、用户行为分析、数据挖掘和数据分析;

Multi-Perceptron-NeuralNetwork-它能够实现基于BPN的多感知神经网络,并设计于无限隐藏层上;

KRHebbian-Algorithm– 机器学习神经网络中的非监督和自学习算法(调整权重);

KRKmeans-Algorithm– 它实现了K-均值聚类和分类算法,可用于数据挖掘和图像压缩;

KRFuzzyCMeans-Algorithm– 它实现了机器学习中的模糊C均值(FCM)模糊聚类/分类算法,可用于数据挖掘和图像压缩;

OCaml

通用机器学习

Oml– 通用的统计学和机器学习库;

GPR– OCaml中高效的高斯过程回归算法;

Libra-Tk– 用离散概率模型学习和推理的算法。

PHP

自然语言处理

jieba-php–中文分词工具。

通用机器学习

PredictionBuilder-采用线性回归建立预测的机器学习库。

Python

计算机视觉

Scikit-Image– Python图像处理算法的集合;

SimpleCV– 一个开源的计算机视觉框架,能够访问如OpenCV的高性能计算机视觉库,用Python编写,可运行在Mac、Windows和Ubuntu Linux等操作系统;

Vigranumpy– Python绑定的VIGRA C++计算机视觉库;

OpenFace-免费的开源面部识别深层神经网络;

自然语言处理

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;

通用机器学习

machine learning-自动构建网络接口,编程接口API套件,用于支持向量机;相应的数据集(多个)存储到一个SQL数据库,然后生成用于预测的模型(多个),再被存储到NoSQL数据存储中;

XGBoost– Python绑定的 eXtreme Gradient Boosting(树)库;

Bayesian Methods for Hackers-关于Python编程概率规划的图书/ IPythonnotebook;

Featureforge-用于创建和测试机器学习的特点的一组工具,具有兼容scikit学习的API;

MLlib in Apache Spark– Spark下的分布式机器学习库;

scikit-learn-基于SciPy的机器学习模块;

metric-learn– 测度学习的Python模块;

SimpleAI– 实现了许多书Artificial Intelligence, a Modern Approach书中描述的人工智能算法,着重于提供一个易于使用、方便存档和测试的库;

astroML– 用于天文学的机器学习和数据挖掘;

graphlab-create– 实现各种机器学习模型(回归、聚类、推荐系统、图形分析等)的库,基于可以磁盘存储的DataFrame;

BigML– 用于连接外部服务器的库;

pattern– Python Web挖掘模块;

NuPIC– 智能计算的Numenta平台;

Pylearn2– 基于Theano的机器学习库;

keras-基于Theano的模块化神经网络库;

hebel– Python下的GPU加速深度学习库;

Chainer-灵活的神经网络架构;

gensim– 主题建模工具;

topik-主题建模工具包;

PyBrain-另一个Python机器学习库;

Brainstorm– 继PyBrain后,快速、灵活、有趣的神经网络;

Crab– 灵活、快速的推荐引擎;

python-recsys– 实现推荐系统的Python库;

thinking bayes– 关于贝叶斯分析的书籍;

Restricted Boltzmann Machines– Python编写的受限的玻尔兹曼机[深度学习];

Bolt– Bolt在线学习工具箱;

CoverTree– cover tree的Python实现,scipy.spatial.kdtree便捷的替代;

nilearn– Python编写的用于神经影像的机器学习;

Shogun– Shogun机器学习工具箱;

Pyevolve-遗传算法框架;

Caffe– 深度学习框架,开发时考虑了清洁度、可读性和速度;

breze– 基于Theano的用于深层递归神经网络的库;

pyhsmm– 用于近似无监督推论的库,存在于贝叶斯隐马尔可夫模型(HMM模型)和隐藏式半马尔可夫模型(HSMMs),HDP-HMM和HDP-HSMM侧重于非参数贝叶斯扩展,大多是弱极限近似值;

mrjob– 让Python程序运行在Hadoop上的库;

SKLL– scikit-learn的包装器,使其实验起来较容易;

neurolab–https://github.com/zueve/neurolab

Spearmint– Spearmint是根据论文中提出的算法执行贝叶斯优化的程序包,论文如下:Practical Bayesian Optimization of Machine Learning Algorithms. Jasper Snoek, Hugo Larochelle and Ryan P. Adams. Advances in Neural Information Processing Systems, 2012.

Pebl-贝叶斯学习的Python环境;

Theano– 在Python中,用优化的GPU元编程代码生成阵列导向的优化数学编译器;

TensorFlow-使用数据流图进行数值计算的开源软件库;

yahmm– Python下的隐马尔可夫模型,考虑到速度和效率,用Cython来实现;

python-timbl– 一个Python扩展模块,可包装完整的TiMBL C ++编程接口;Timbl是一个详尽的k最近邻域机器学习工具包;

deap-进化算法框架;

pydeep– Python下的深度学习;

mlxtend-工具库,包括对数据科学和机器学习任务等非常有用的工具;

neon– Nervana基于Python的高性能深度学习框架[深度学习];

Optunity– 该库致力于用一个简单、轻量级的API直接替换网格搜索以实现自动超参数优化;

Neural Networks and Deep Learning– 《神经网络和深度学习》一书中的代码示例[深度学习];

Annoy– 近似最近邻算法的实现;

skflow-为TensorFlow简化的界面,模仿了Scikit Learn;

TPOT– 使用遗传编程自动创建并优化了机器学习流水线的工具;

pgmpy– 用于概率图解模型的Python库;

DIGITS-深度学习GPU训练系统(DIGITS)是用于训练深度学习模型的Web应用程序;

Orange–同时适用于初学者和专家的开源数据可视化和数据分析;

MXNet– 轻量级、便携式、灵活的分布式/深度学习系统,可对动态的、突变数据流调度部署,同时也支持Python、R、Julia、Go、Javascript 等编程语言。

milk– 强调监督分类法的机器学习工具包;

TFLearn-针对TensorFlow的高层次API深度学习库。


作者:readilen

链接:https://www.jianshu.com/p/d556af7de634

來源:

著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

你可能感兴趣的:(最全的机器学习资料2)