除了 Python ,这些语言写的机器学习项目也很牛

百家 作者:AI100 2017-07-01 14:18:47


本文转自开源中国社区



Python 由于本身的易用优势和强大的工具库储备,成为了在人工智能及其它相关科学领域中最常用的语言之一。尤其是在机器学习,已然是各大项目最偏爱的语言。


其实除了 Python ,也不乏有开发者用其他语言写出优秀的机器学习项目。在此,列出其中一些个人认为值得关注的开源机器学习项目,比如C、C++、Go、Java、Javascript、PHP、Ruby、Objective C、Swift、Scala等等,看看人工智能的语言适配性吧~~~


➤ 1、C


Darknet —— 神经网络框架

https://github.com/pjreddie/darknet


Darknet 是一个用 C 和 CUDA 编写的开源神经网络框架。它快速,易于安装,并支持 CPU 和 GPU 计算。



CCV  —— 计算机视觉库

https://github.com/liuliu/ccv


CCV 是 C-based/Cached/Core Computer Vision Library 的简称, 它是一个现代的计算机视觉库。


CCV 是一种以应用驱动的算法库,比如对静态物体(如人脸)的快速检测算法、对某些不容易定位物体(如猫)的准确检测算法、艺术文本的检测算法、长期目标的跟踪算法和特征点检测算法。


➤ 2、C++


CNTK —— 深度学习工具包

https://github.com/Microsoft/CNTK


微软出品的开源深度学习工具包,它把神经网络描述成一个有向图的结构,叶子节点代表输入或者网络参数,其他节点计算步骤。


CNTK 不仅使深度神经网络(DNN)、卷积神经网络(CNN)、循环神经网络(RNN)和长短时记忆单元(LSTM)的实现变得非常容易,还支持多个 GPU 组合、服务器自动分化和并行的随机梯度下降(SGD)学习。



Caffe  —— 深度学习框架

https://github.com/BVLC/caffe


Caffe 是一个清晰而又高效的深度学习框架,模型与相应优化都是以文本形式而非代码形式给出,并给出了模型的定义、最优化设置以及预训练的权重,方便立即上手。同时,它能够运行最棒的模型与海量的数据,也能很方便扩展到新的任务和设置上。


Kaldi —— 语音识别工具包

https://github.com/kaldi-asr/kaldi


Kaldi 是用 C ++ 编写的语言识别工具包,旨在供语音识别研究人员使用,且易于修改和扩展。它在设计之初就尽可能地以最通用的形式提供的算法,以保证其可扩展性。



➤ 3、Go


CloudForest —— 决策树组合算法

https://github.com/ryanbressler/CloudForest


纯 Go 编写的快速、灵活、多线程的决策树,允许一些相关的算法用于具有缺失值的异构数据的分类、回归、特征选择和结构分析。它可以实现更快的训练时间,非常适合现代处理器来学习二进制。



➤ 4、Java


CoreNLP —— 自然语言处理工具

https://github.com/stanfordnlp/CoreNLP


coreNLP 是斯坦福大学开发的一套关于自然语言处理的工具,使用简单功能强大。它可以通过输入原始文本,给出单词的基本形式,它们的词性、公司、人员的名称、解释日期、时间和数量等等。它最初针对英语开发,但现在也已支持中文。



H2O —— 机器学习和预测分析框架

https://github.com/h2oai/h2o-3


H2O 是一个分布式的、基于内存的、可扩展的机器学习和预测分析框架,适合在企业环境中构建大规模机器学习模型。它使用开发者熟悉的界面,可与 Hadoop 和 Spark 等大型数据技术无缝工作。它也提供许多流行算法的实现,例如 GBM、Random Forest、Deep Neural Networks、Word2Vec 等。 



Deeplearning4J —— 分布式神经网络库

https://github.com/deeplearning4j/deeplearning4j


Deeplearning4J 是一个使用 Java 和 Scala 编写的分布式神经网络库,集成了 Hadoop 和 Spark ,设计用于运行在分布式 GPU 和 CPU 上的商业环境。它即插即用,方便开发者在 APP 中快速集成深度学习功能。


Deeplearning4j 包括了分布式、多线程的深度学习框架,以及普通的单线程深度学习框架。



➤ 5、Javascript


Natural —— 自然语言处理工具

https://github.com/NaturalNode/natural


node.js 下用的自然语言处理工具,支持词法分析、词干分析、分类、语音、反比文档频数权重评价、WordNet、字符串相似度等处理。


ConvNetJS —— 深度学习库

https://github.com/karpathy/convnetjs


ConvNetJS 是一个基于 JavaScript 的深度学习库,可以让你在浏览器中训练深度网络。它可以帮助深度学习初学者更快、更直观的理解算法通,过一些简单的 Demo 给用户最直观的解释。



➤ 6、PHP


PHP-ML —— 机器学习库

https://github.com/php-ai/php-ml


PHP-ML 是 PHP 的机器学习库,同时包含算法、交叉验证、神经网络、预处理、特征提取等多种特性。要求 PHP 版本 > = 7.0 。


PHP-ML 提供的机器学习算法包括:关联规则学习(Apriori 算法)、分类器(SVC、KNN、贝叶斯)、回归(最小二乘线性回归、支持向量回归)、聚类(KMeans、基于密度的聚类算法)、矩阵运算相关(准确率、混肴矩阵、与分类相关的结论如精确度、召回率、F1 值、支持率)、模型运算管道(Pipeline)、神经网络(多层感知机)等。



➤ 7、Ruby


Treat ——自然语言处理框架

https://github.com/louismullie/treat


Treat 是一个自然语言处理和计算语言学的工具包。Treat 项目旨在为 Ruby 构建一个语言和算法均不可知的 NLP 框架,支持文档检索、文本分块、分段和标记化等任务,自然语言解析,词性标注,关键字提取和命名实体识别。



Classifier —— 通用分类器模块

https://github.com/cardmagic/classifier


Classifier 是可用贝叶斯算法及其他分类法的通用分类器模块。贝叶斯分类器的分类原理是通过某对象的先验概率,利用贝叶斯公式计算出其后验概率,即该对象属于某一类的概率,选择具有最大后验概率的类作为该对象所属的类,具有准确、快速、内存要求适当等特点。



➤ 8、Objective C


MLPNeuralNet —— 多层感知器

https://github.com/nikolaypavlov/MLPNeuralNet


MLPNeuralNet 是适用于 iOS 和 Mac OS X 的快速多层感知器神经网络库。它使用矢量操作和硬件加速(如果可用)构建在苹果加速框架之上,通过训练有素的神经网络预测新的示例。



➤ 9、Swift


Bender —— 机器学习框架

https://github.com/xmartlabs/Bender


Bender 是 MetalPerformanceShaders 之上的一个抽象层(abstraction layer),可用于操作神经网络,旨在更轻松地在 iOS 上运行预训练的网络。它可以让你轻松使用卷积、池化、全连接和一些规范化等最常见的层,从而轻松地定义和运行神经网络。


目前 Bender 有一个用于 TensorFlow 的适配器(adapter),其可以加载带有变量的图(graph),并将其「翻译」成 Bender 的层(layer)。



Swift AI —— 深度学习库

https://github.com/Swift-AI/Swift-AI


Swift AI 是一个完全由 Swift 编写的高性能 AI 和机器学习库,包含用于人工智能和科学应用的常用工具集,支持卷积神经网络、循环神经网络、遗传算法库、快速线性代数库、信号处理库等。这些工具采用先进的并行处理技术,专门针对 iOS 和 OS X 硬件进行了优化,目前支持所有的 Apple 平台,并计划推出 Linux 版本支持。




➤ 10、Scala


Breeze —— 数值处理库

https://github.com/scalanlp/breeze


Breeze 是一个数值处理库,是 ScalaNLP 的核心库,包括线性代数、数值计算和优化,目标是实现通用、干净、强大,且不牺牲性能(高效)的机器学习方法。


ScalaNLP 包含 Breeze 和 Epic(一个高性能的统计解析器和结构化预测库)。



BIDMach —— 机器学习库

https://github.com/BIDData/BIDMach


BIDMach 是一个速度非常快的机器学习库,支持逻辑回归、K-means、矩阵分解、随机森林、LDA 等。它是BIDMat 的一个姊妹项目,BIDMat 是一个矩阵库。


BIDMach 在一些评测中甚至跑出了比 Spark 还好的结果。



➤ 11、.NET


numl —— 机器学习框架

http://numl.net/index.html


numl 是一个小巧的,包含比较多的机器学习算法类库,支持监督式和非监督式学习。支持很多常见的机器学习算法,包括 Cluster、KMeans、PCA、DecisionTree、KNN、NaiveBayes、NeuralNetwork 等学习算法,功能强大,同时也包括一些数值计算的实现。



Accord.NET —— 机器学习框架

https://github.com/accord-net/framework/


Accord.NET 为 .NET 提供机器学习、统计、人工智能、计算机视觉和图像处理方法。它可以在 Microsoft Windows、Xamarin、Unity3D、Windows Store 应用,Linux 和移动设备上使用。


在与 AForge.NET 项目合并之后,该框架现在提供了一个用于学习/训练机器学习模型的统一 API ,其易于使用和可扩展。



以上就是小编总结的部分语言的开源项目,如果你有好的资源,欢迎分享给大家。


原文地址

 https://my.oschina.net/editorial-story/blog/995524



招聘


AI100现招聘技术编辑、实习生,有意向请将简历投往:puge@ai100.ai

咨询请联系微信greta1314

课程结合实例介绍使用TensorFlow开发机器学习应用的详细方法和步骤,着重讲解了用于图像识别的卷积神经网络和用于自然语言处理的循环神经网络的理论知识及其TensorFlow实现方法,并结合实际场景和例子描述了深度学习技术的应用范围与效果。 所有案例均来自讲师团队工作中的亲身实践,所选案例均是深度学习的经典应用,非常具有代表性。



就差你还没关注这个号了

▼▼▼


点击下方“阅读原文”查看更多内容

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接