Python 由于本身的易用优势和强大的工具库储备,成为了在人工智能及其它相关科学领域中最常用的语言之一。尤其是在机器学习,已然是各大项目最偏爱的语言。
其实除了 Python ,也不乏有开发者用其他语言写出优秀的机器学习项目。在上期的文章中(除了 Python ,这些语言写的机器学习项目也很牛(一)),我们已经列了一些其他语言(C、C++、Go、Java、Javascript)值得关注的开源机器学习项目,本期将针对 PHP、Ruby、Objective C、Swift、Scala 进行补全,同时应上期留言要求,在文末列了一些 .NET 平台上的机器学习项目。
PHP-ML 是 PHP 的机器学习库,同时包含算法、交叉验证、神经网络、预处理、特征提取等多种特性。要求 PHP 版本 > = 7.0 。
PHP-ML 提供的机器学习算法包括:关联规则学习(Apriori 算法)、分类器(SVC、KNN、贝叶斯)、回归(最小二乘线性回归、支持向量回归)、聚类(KMeans、基于密度的聚类算法)、矩阵运算相关(准确率、混肴矩阵、与分类相关的结论如精确度、召回率、F1 值、支持率)、模型运算管道(Pipeline)、神经网络(多层感知机)等。
Treat 是一个自然语言处理和计算语言学的工具包。Treat 项目旨在为 Ruby 构建一个语言和算法均不可知的 NLP 框架,支持文档检索、文本分块、分段和标记化等任务,自然语言解析,词性标注,关键字提取和命名实体识别。
Classifier 是可用贝叶斯算法及其他分类法的通用分类器模块。贝叶斯分类器的分类原理是通过某对象的先验概率,利用贝叶斯公式计算出其后验概率,即该对象属于某一类的概率,选择具有最大后验概率的类作为该对象所属的类,具有准确、快速、内存要求适当等特点。
MLPNeuralNet 是适用于 iOS 和 Mac OS X 的快速多层感知器神经网络库。它使用矢量操作和硬件加速(如果可用)构建在苹果加速框架之上,通过训练有素的神经网络预测新的示例。
Bender 是 MetalPerformanceShaders 之上的一个抽象层(abstraction layer),可用于操作神经网络,旨在更轻松地在 iOS 上运行预训练的网络。它可以让你轻松使用卷积、池化、全连接和一些规范化等最常见的层,从而轻松地定义和运行神经网络。
目前 Bender 有一个用于 TensorFlow 的适配器(adapter),其可以加载带有变量的图(graph),并将其「翻译」成 Bender 的层(layer)。
Swift AI —— 深度学习库
Swift AI 是一个完全由 Swift 编写的高性能 AI 和机器学习库,包含用于人工智能和科学应用的常用工具集,支持卷积神经网络、循环神经网络、遗传算法库、快速线性代数库、信号处理库等。这些工具采用先进的并行处理技术,专门针对 iOS 和 OS X 硬件进行了优化,目前支持所有的 Apple 平台,并计划推出 Linux 版本支持。
Breeze 是一个数值处理库,是 ScalaNLP 的核心库,包括线性代数、数值计算和优化,目标是实现通用、干净、强大,且不牺牲性能(高效)的机器学习方法。
ScalaNLP 包含 Breeze 和 Epic(一个高性能的统计解析器和结构化预测库)。
BIDMach 是一个速度非常快的机器学习库,支持逻辑回归、K-means、矩阵分解、随机森林、LDA 等。它是 BIDMat 的一个姊妹项目,BIDMat 是一个矩阵库。
BIDMach 在一些评测中甚至跑出了比 Spark 还好的结果。
numl 是一个小巧的,包含比较多的机器学习算法类库,支持监督式和非监督式学习。支持很多常见的机器学习算法,包括 Cluster、KMeans、PCA、DecisionTree、KNN、NaiveBayes、NeuralNetwork 等学习算法,功能强大,同时也包括一些数值计算的实现。
Accord.NET 为 .NET 提供机器学习、统计、人工智能、计算机视觉和图像处理方法。它可以在 Microsoft Windows、Xamarin、Unity3D、Windows Store 应用,Linux 和移动设备上使用。
在与 AForge.NET 项目合并之后,该框架现在提供了一个用于学习/训练机器学习模型的统一 API ,其易于使用和可扩展。