机器/深度学习Hyperopt-sklearn、MLDB、Fregata、Gorgonia介绍

以下为你介绍的机器学习/深度学习软件都可用在Linux系统上:Hyperopt-sklearn(scikit-learn 的参数优化工具)、MLDB(机器学习数据库)、Fregata(轻量级大规模机器学习算法库)、Gorgonia(Go 机器学习库)。

1、Hyperopt-sklearn(scikit-learn 的参数优化工具)

Hyperopt-sklearn是基于scikit-learn项目的一个子集,其全称是:Hyper-parameter optimization for scikit-learn,即针对scikit-learn项目的超级参数优化工具。由于scikit-learn是基于Python的机器学习开源框架,因此Hyperopt-sklearn也基于Python语言。

Hyperopt-sklearn的文档称:对于开发者而言,针对不同的训练数据挑选一个合适的分类器(classifier)通常是困难的。而且即使选好了分类器,后面的参数调试过程也相当乏味和耗时。更严重的是,还有许多情况是开发者好不容易调试好了选定的分类器,却发现一开始的选择本身就是错误的,这本身就浪费了大量的精力和时间。针对该问题,Hyperopt-sklearn提供了一种解决方案。

Hyperopt-sklearn支持各种不同的搜索算法(包括随机搜索、Tree of Parzen Estimators、Annealing等),可以搜索所有支持的分类器(KNeightborsClassifier、KNeightborsClassifier、SGDClassifier等)或者在给定的分类器下搜索所有可能的参数配置,并评估最优选择。并且Hyperopt-sklearn还支持多种预处理流程,包括TfidfVectorizer,Normalzier和OneHotEncoder等。

那么Hyperopt-sklearn的实际效果究竟如何?下表分别展示了使用scikit-learn默认参数和Hyperopt-sklearn优化参数运行的分类器的F-score分数,数据源来自20个不同的新闻组稿件。可以看到,经过优化的分类器的平均得分都要高于默认参数的情况。

机器/深度学习Hyperopt-sklearn、MLDB、Fregata、Gorgonia介绍

另外,Hyperopt-sklearn的编码量也很小,并且维护团队还提供了丰富的参考样例。

安装:

支持使用pip从git clone安装:

git clone git@github.com:hyperopt/hyperopt-sklearn.git

(cd hyperopt-sklearn && pip install -e .)

下载地址:https://github.com/hyperopt/hyperopt-sklearn

2、MLDB(机器学习数据库)

机器/深度学习Hyperopt-sklearn、MLDB、Fregata、Gorgonia介绍

MLDB 是一个用于机器学习的开源数据库。你可以随意安装它,并通过 RESTful API 发送命令以存储数据,使用 SQL 探索它,然后训练机器学习模型并将它们作为 APIs 公开。

MLDB 使用函数应用于机器学习模型,这些函数由训练过程参数化输出,训练过程在包含训练数据的数据集上运行。函数也可用于 SQL 查询或作为 REST 端点。

下载地址:https://github.com/mldbai/mldb

3、Fregata(轻量级大规模机器学习算法库)

Fregata 是一个基于 Apache Spark 的轻量级、超快速、大规模的机器学习库,并在 Scala 中提供了高级 API。

特性:

更准确:对于各种问题,Fregata 可以实现比 MLLib 更高的精度。

更快速:对于广义线性模型,Fregata 在绝大部分数据上都能够扫描一遍数据即收敛。对于 10 亿 X 10 亿的数据集,Fregata 可以在 1 分钟内用内存缓存训练广义线性模型,或在没有内存缓存的情况下训练 10 分钟。通常,Fregata 比 MLLib 快 10-100 倍。

算法无需调参(调参相对简单):Fregata 使用 GSA SGD 优化。GSA 算法是梯度型随机优化算法,也是 Fregata采用的核心优化方法。它是基于随机梯度下降法(SGD)的一种改进:保持了 SGD 易于实现,内存开销小,便于处理大规模训练样本的优势,同时免去了 SGD 不得不人为调整学习率参数的麻烦。 

更轻量:Fregata 只使用 Spark 的标准 API,能快速,无缝地集成到 Spark 大多数业务的数据处理流程上。

安装:

1]、通过Maven或SBT获取Fregata的两种方法:

<dependency>

<groupId>com.talkingdata.fregata</groupId>

<artifactId>core</artifactId>

<version>0.0.3</version>

</dependency>

<dependency>

<groupId>com.talkingdata.fregata</groupId>

<artifactId>spark</artifactId>

<version>0.0.3</version>

</dependency>

2]、SBT's build.sbt

//如果您部署到本地mvn存储库,请添加

//resolvers += Resolver.mavenLocal

libraryDependencies += "com.talkingdata.fregata" % "core" % "0.0.3"

libraryDependencies += "com.talkingdata.fregata" % "spark" % "0.0.3"

3]、如果要手动部署到本地Maven存储库,请执行以下操作:

git clone https://github.com/TalkingData/Fregata.git

cd Fregata

mvn clean package install

下载地址:https://github.com/TalkingData/Fregata

4、Gorgonia(Go 机器学习库)

Gorgonia 是 Go 机器学习库。撰写和评估多维数组的数学公式。与 Theano 和 TensorFlow 理念相似。

Gorgonia 性能:

执行自动分化、执行符号微分、优化梯度下降、进行稳定的数值计算、提供便捷功能来帮助创建神经网络、操作快(与Theano和Tensorflow速度相当)、支持GPU/CUDA、支持分布式计算。

安装:

该软件包是go-gettable的:go get -u gorgonia.org/gorgonia.

Gorgonia与go模块兼容:

module example.com/gorgonia_test

go 1.12

require gorgonia.org/gorgonia v0.9.3

注:当前的稳定版本是0.9.3。

支持的硬件和操作系统:

linux/AMD64、linux/ARM7、linux/ARM64、win32/AMD64、darwin/AMD64、freeBSD/AMD64。

下载地址:https://github.com/gorgonia/gorgonia

注明

以上就是机器/深度学习Hyperopt-sklearn、MLDB、Fregata、Gorgonia的介绍内容,这些机器学习/深度学习软件都能使用在Linux操作系统中。

栏目相关文章