Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

AI前线来源林亦霖校对王菁 编辑

AutoML:机器学习的下一波浪潮(附代码&链接)

Mercari 是一款在日本很受欢迎的购物应用程序,它一直使用 AutoML Vision(谷歌的 AutoML 解决方案)对图像进行分类。根据 Mercari 的说法,他们一直在“开发自己的 ML 模型,在照片上传的用户界面上推荐 12 个主要品牌的品牌名称。”

虽然他们自己在 TensorFlow 上训练的模型达到了 75% 的精度,但 AutoML Vision 的高级模式因为拥有 50,000 张训练图像,所以精度更是高达 91.3%,提升了竟有 15%。基于如此惊人的结果,Mercari 已经将 AutoML 集成到他们的系统中。

AutoML 通过使不同背景的人能够演进机器学习模型来解决复杂的场景,正在从根本上改变基于 ML 的解决方案给人们的印象,以上仅是说明它如何改变的其中一例。

自动机器学习AutoML

近年来,机器学习在各个领域都取得了重大突破。金融服务、医疗保健、零售、交通等领域一直在以某种方式使用机器学习系统,而且取得了很好的效果。

今天的机器学习不仅限于研发应用,而且已经进入了企业领域。不过,传统的 ML 流程仍依赖于人力,但并非所有企业都有资源来投资经验丰富的数据科学团队,AutoML 可能正是这种困境的一个答案。

自动机器学习(AutoML)是将机器学习应用于现实问题的端到端过程自动化的过程。AutoML 使机器学习真正意义上成为可能,即使对于在该领域没有专业知识的人也是如此。

典型的机器学习模型包括以下四个过程:

如何自动化机器学习管道:Axel de Romblay从摄取数据到预处理、优化,然后预测结果,每个步骤都由人来控制和执行。AutoML 主要关注两个主要方面:数据采集 / 收集和预测。中间发生的所有其他步骤都可以轻松实现自动化,同时提供经过优化并准备好进行预测的模型。

为什么需要 AutoML

在过去几年中,对机器学习系统的需求飙升。这是因为 ML 如今在广泛的应用中取得了成功。然而,即使有这种明确的迹象表明机器学习可以为某些企业提供支持,但很多公司仍在为部署 ML 模型而艰难地努力着。

首先,他们需要建立一支由经验丰富的数据科学家组成的团队,这些科学家都要拿丰厚的薪水。其次,即使你拥有一支优秀的团队,往往需要更多的经验来决定哪种模式 最适合你的问题,而不是知识。

机器学习在各种应用中的成功,导致了对机器学习系统不断增长的需求,这些系统可以由非专家使用¹。AutoML倾向于尽可能多地自动化 ML 管道中步骤,在只需最少人力的情况下仍保持模型的性能。

好处

AutoML 的优点可归纳为三大要点:

  • 通过自动执行的重复性任务来提高工作效率。这使得数据科学家能够更多地关注问题而不是模型。

  • 自动化 ML 管道还有助于避免可能因手动引入的错误

  • 最后,AutoML 是向机器学习民主化迈出的一步,它使所有人都能使用 ML 的功能。

AutoML 框架

让我们来看看一些流行的框架,这些框架的趋势是自动化部分或整个机器学习的管道。这个清单不可能太详尽,我尽力涵盖那些正在被大规模使用的框架。

1. MLBox

MLBox 是一个功能强大的自动化机器学习 Python 库。根据官方文档,该库提供以下功能:

  • 快速读取,分布式数据预处理 / 清洗 / 格式化;

  • 高可靠性的特征选择,泄漏检测,准确的 超参数优化;

  • 用于分类和回归的最先进的预测模型(深度学习堆叠,LightGBM,......);

  • 具有模型解释的预测;

  • 已经在 Kaggle 上进行了测试并且表现良好。(参见 Kaggle “Two Sigma Connect:Rental ListingInquiries”| Rank:85/2488)。

管道

MLBox 的主程序包包含 3 个子包,用于自动执行以下任务:

  • 预处理:用于读取和预处理数据。

  • 优化:用于测试和交叉验证模型。

  • 预测:用于预测。

安装

目前,MLBox 仅兼容 Linux,很快就会支持 Windows 和 MacOS。

#gcc sudo apt-get install build-essential #cmake pip install cmake pip install mlbox

演示

在著名的房价回归(House Prices Regression)问题上运行“MLBox”的自动 ML 包。

完整的源代码:

https://www.kaggle.com/axelderomblay/running-mlbox-auto-ml-package-on-house-prices

2. Auto-Sklearn

Auto-Sklearn 是一个基于  Scikit-learn 构建的自动化机器学习软件包。Auto-Sklearn 让机器学习的用户从算法选择和超参数调整中解放出来。它包括特征工程方法,如独热编码(One-Hot)、数字特征标准化、PCA 等。该模型使用 sklearn 估计器处理分类和回归问题。

Auto-sklearn 管道Auto-sklearn 创建了一个管道,并使用贝叶斯搜索对其进行优化。在 ML 框架的贝叶斯超参数优化中,添加了两个组件:元学习 用于初始化贝叶斯优化器,从优化过程中评估配置的自动集合构造

Auto-sklearn 在中小型数据集上表现良好,但它还无法在大型数据集上产生性能最先进的现代深度学习系统。

安装

Auto-sklearn 目前仅适用于 Linux 系统的机器。

#gcc
sudo apt-get install build-essential

#cmake
pip install cmake
pip install mlbox

演示

以下示例显示如何使用 Auto-Sklearn 拟合简单回归模型。

import sklearn.model_selection import sklearn.datasets import sklearn.metrics import autosklearn.regression def main(): X, y = sklearn.datasets.load_boston(return_X_y=True) feature_types = (['numerical'] * 3) + ['categorical'] + (['numerical'] * 9) X_train, X_test, y_train, y_test = \ sklearn.model_selection.train_test_split(X, y, random_state=1) automl = autosklearn.regression.AutoSklearnRegressor( time_left_for_this_task=120, per_run_time_limit=30, tmp_folder='/tmp/autosklearn_regression_example_tmp', output_folder='/tmp/autosklearn_regression_example_out', ) automl.fit(X_train, y_train, dataset_name='boston', feat_type=feature_types) print(automl.show_models()) predictions = automl.predict(X_test) print("R2 score:", sklearn.metrics.r2_score(y_test, predictions)) if __name__ == '__main__': main()

资源:

https://automl.github.io/autosklearn/stable/examples/example_regression.html#sphx-glr-examples-example-regression-py

基于树的管道优化工具(TPOT)

TPOT 是一个 Python 自动化机器学习工具,利用遗传算法来优化机器学习管道。TPOT 扩展了 Scikit-learn 框架,使用了自己的回归器和分类器方法。TPOT 的工作原理是探索数千条可能的管道,并为数据找到最好的一个。

TPOT 自动化的机器学习过程TPOT 无法自动处理自然语言输入。此外,它还无法处理分类字符串,在作为数据传入之前,这些字符串必须进行整数编码。

安装

pip install tpot

有关详细说明,请访问 TPOT 安装说明。

演示

演示 TPOT 用于分类 MNIST 数字的工作。

gif

MNIST 数据库上的 TPOT 演示开源代码:

https://epistasislab.github.io/tpot/

H2O

H2O 是  H2O.ai 公司的完全开源的分布式内存机器学习平台。H2O同时支持 R 和 Python,支持最广泛使用的统计和机器学习算法,包括梯度提升(Gradient Boosting)机器、广义线性模型深度学习模型等。

H2O 包括一个自动机器学习模块,使用自己的算法来构建管道。它对特征工程方法和模型超参数采用了穷举搜索,优化了管道。

H2O 自动化了一些最复杂的数据科学机器学习工作,例如特征工程、模型验证、模型调整、模型选择 和 模型部署。除此之外,它还提供了自动可视化以及机器学习的解释能力(MLI)。

安装

请按照以下链接下载并安装 H2O。

下载和安装 H2O - H2O 3.11.0.3888 

文档:

https://h2o-release.s3.amazonaws.com/h2o/master/3888/docs-website/h2odocs/downloading.html#downloading-installing-h2o

演示

以下是一个 Python 示例,展示了 H2OAutoML 类的基本用法:

import h2o from h2o.automl import H2OAutoML h2o.init() # Import a sample binary outcome train/test set into H2O train = h2o.import_file("https://s3.amazonaws.com/erin-data/higgs/higgs_train_10k.csv") test = h2o.import_file("https://s3.amazonaws.com/erin-data/higgs/higgs_test_5k.csv") # Identify predictors and response x = train.columns y = "response" x.remove(y) # For binary classification, response should be a factor train[y] = train[y].asfactor() test[y] = test[y].asfactor() # Run AutoML for 20 base models (limited to 1 hour max runtime by default) aml = H2OAutoML(max_models=20, seed=1) aml.train(x=x, y=y, training_frame=train) # View the AutoML Leaderboard lb = aml.leaderboard lb.head(rows=lb.nrows) # Print all rows instead of default (10 rows) # model_id auc logloss mean_per_class_error rmse mse # --------------------------------------------------- -------- --------- ---------------------- -------- -------- # StackedEnsemble_AllModels_AutoML_20181212_105540 0.789801 0.551109 0.333174 0.43211 0.186719 # StackedEnsemble_BestOfFamily_AutoML_20181212_105540 0.788425 0.552145 0.323192 0.432625 0.187165 # XGBoost_1_AutoML_20181212_105540 0.784651 0.55753 0.325471 0.434949 0.189181 # XGBoost_grid_1_AutoML_20181212_105540_model_4 0.783523 0.557854 0.318819 0.435249 0.189441 # XGBoost_grid_1_AutoML_20181212_105540_model_3 0.783004 0.559613 0.325081 0.435708 0.189841 # XGBoost_2_AutoML_20181212_105540 0.78136 0.55888 0.347074 0.435907 0.190015 # XGBoost_3_AutoML_20181212_105540 0.780847 0.559589 0.330739 0.43613 0.190209 # GBM_5_AutoML_20181212_105540 0.780837 0.559903 0.340848 0.436191 0.190263 # GBM_2_AutoML_20181212_105540 0.780036 0.559806 0.339926 0.436415 0.190458 # GBM_1_AutoML_20181212_105540 0.779827 0.560857 0.335096 0.436616 0.190633 # GBM_3_AutoML_20181212_105540 0.778669 0.56179 0.325538 0.437189 0.191134 # XGBoost_grid_1_AutoML_20181212_105540_model_2 0.774411 0.575017 0.322811 0.4427 0.195984 # GBM_4_AutoML_20181212_105540 0.771426 0.569712 0.33742 0.44107 0.194543 # GBM_grid_1_AutoML_20181212_105540_model_1 0.769752 0.572583 0.344331 0.442452 0.195764 # GBM_grid_1_AutoML_20181212_105540_model_2 0.754366 0.918567 0.355855 0.496638 0.246649 # DRF_1_AutoML_20181212_105540 0.742892 0.595883 0.355403 0.452774 0.205004 # XRT_1_AutoML_20181212_105540 0.742091 0.599346 0.356583 0.453117 0.205315 # DeepLearning_grid_1_AutoML_20181212_105540_model_2 0.741795 0.601497 0.368291 0.454904 0.206937 # XGBoost_grid_1_AutoML_20181212_105540_model_1 0.693554 0.620702 0.40588 0.465791 0.216961 # DeepLearning_1_AutoML_20181212_105540 0.69137 0.637954 0.409351 0.47178 0.222576 # DeepLearning_grid_1_AutoML_20181212_105540_model_1 0.690084 0.661794 0.418469 0.476635 0.227181 # GLM_grid_1_AutoML_20181212_105540_model_1 0.682648 0.63852 0.397234 0.472683 0.223429 # # [22 rows x 6 columns]

# The leader model is stored here aml.leader # If you need to generate predictions on a test set, you can make # predictions directly on the `"H2OAutoML"` object, or on the leader # model object directly preds = aml.predict(test) # or: preds = aml.leader.predict(test)

资源:

http://docs.h2o.ai/h2o/latest-stable/h2o-docs/automl.html

输出

AutoML 对象包括在过程中训练的模型的“排行榜”,根据问题类型(排行榜的第二列)按默认度量排名。以下是 二进制分类 任务的排行榜示例:

 AutoKeras

Auto-Keras 是 DATA Lab 构建的一个用于自动化机器学习的开源软件库。基于 Keras 深度学习框架,Auto-Keras 提供了自动搜索深度学习模型的体系结构和超参数的功能。

API 的设计遵循 Scikit-Learn API 的经典设计,因此使用起来非常简单。当前版本提供了在深度学习过程中自动搜索超参数的功能。

Auto-Keras 的趋势是通过使用自动神经架构搜索(NAS)算法简化 ML 过程。NAS 基本上用一组自动调整模型的算法,替代了深度学习工程师 / 从业者。

安装

安装部分也很简单:

pip install autokeras #only comptible with Python 3.7

演示

以下是 MNIST 数据集上 Auto-Keras 库的演示:

from keras.datasets import mnist from autokeras import ImageClassifier from autokeras.constant import Constant if __name__ == '__main__': (x_train, y_train), (x_test, y_test) = mnist.load_data() x_train = x_train.reshape(x_train.shape + (1,)) x_test = x_test.reshape(x_test.shape + (1,)) clf = ImageClassifier(verbose=True, augment=False) clf.fit(x_train, y_train, time_limit=30 * 60) clf.final_fit(x_train, y_train, x_test, y_test, retrain=True) y = clf.evaluate(x_test, y_test)

print(y * 100)

资源:

https://github.com/keras-team/autokeras/blob/master/examples/a_simple_example/mnist.py

Cloud AutoML

Cloud AutoML 是来自 Google 的一套机器学习产品,利用 Google 最先进的 迁移学习 和神经架构搜索(NAS)技术,让具有有限的机器学习专业知识的开发人员能够训练出特定的业务需求的高质量模型。

Cloud AutoML 提供了一个简单的图形用户界面(GUI),可根据自己的数据来训练、评估、改进和部署模型。目前,该套件提供以下 AutoML 解决方案:

Google 的 AutoML 类别下提供的产品谷歌 AutoML的缺点是非开源的,因此需要付钱购买。对于 AutoML Vision,成本既取决于培训模型所花费的时间,也取决于发送给 AutoML Vision 进行预测的图像数量。定价如下:

AutoML Vision 定价

TransmogrifAI

TransmogrifAI 是 Salesforce 的一个开源自动化机器学习库。该公司的旗舰 ML 平台名为爱因斯坦,也由 TransmogrifAI 驱动。它是一个端到端的 AutoML 库,用于 Scala 编写的结构化数据,运行在  Apache Spark 之上。在以下场景中,TransmogrifAI 特别有用:

  • 快速训练高质量机器学习模型,只需极少的手动调节

  • 构建模块化、可重用、强类型的机器学习工作流

安装

先决条件是需要安装 Java 和 Spark:

#Install JAVA 1.8 #Get Spark 2.3.x git clone https://github.com/salesforce/TransmogrifAI.git cd TransmogrifAI && ./gradlew compileTestScala installDist

阅读文档,获取完整的安装说明。

https://docs.transmogrif.ai/en/stable/installation/index.html#installation

演示

用 TransmogrifAI 预测泰坦尼克号幸存者,在 https://transmogrif.ai/ 查看整个示例。

() val featureVector = predictors.transmogrify() // Automated feature validation and selection val checkedFeatures = survived.sanityCheck(featureVector, removeBadFeatures = true) // Automated model selection val (pred, raw, prob) = BinaryClassificationModelSelector().setInput(survived, checkedFeatures).getOutput() // Setting up a TransmogrifAI workflow and training the model val model = new OpWorkflow().setInputDataset(passengersData).setResultFeatures(pred).train() println("Model summary:\n" + model.summaryPretty())

AutoML 的未来

从本质上讲,AutoML 的目的是自动化重复的任务,如管道创建和超参数调整,以便数据科学家在实际中可以将更多的时间花在手头的业务问题上。

AutoML 还在于让所有人都能使用这项技术,而不仅仅少数人才能用。AutoML 和数据科学家可以联合起来加速 ML 的发展过程,从而实现机器学习的真正效率。

AutoML 是否成功取决于它的使用率和在这个领域所取得的进展。很明显,AutoML 是机器学习未来的一个重要组成部分。

参考

  • https://ml.informatik.uni-freiburg.de/papers/15-NIPS-auto-sklearn-preprint.pdf

  • 自动机器学习框架的基准(https://arxiv.org/pdf/1808.06492v1.pdf)

查看原文链接:

https://heartbeat.fritz.ai/automl-the-next-wave-of-machine-learning-5494baac615

理论AutoML机器学习
11
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

超参数优化技术

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

数据科学技术

数据科学,又称资料科学,是一门利用数据学习知识的学科,其目标是通过从数据中提取出有价值的部分来生产数据产品。它结合了诸多领域中的理论和技术,包括应用数学、统计、模式识别、机器学习、数据可视化、数据仓库以及高性能计算。数据科学通过运用各种相关的数据来帮助非专业人士理解问题。

Apache Spark技术

Apache Spark是一款快速、灵活且对开发者友好的工具,也是大型SQL、批处理、流处理和机器学习的领先平台。它是一个围绕速度、易用性和复杂分析构建的大数据处理框架,提供了一个全面、统一的框架用于管理各种不同性质(文本数据、图表数据等)数据集和数据源(批量数据或实时的流数据)的大数据处理的需求。

梯度提升技术

梯度提升是用于回归和分类问题的机器学习技术,其以弱预测模型(通常为决策树)的集合的形式产生预测模型。 它像其他增强方法一样以阶段式方式构建模型,并且通过允许优化任意可微损失函数来推广它们。

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

元学习技术

元学习是机器学习的一个子领域,是将自动学习算法应用于机器学习实验的元数据上。现在的 AI 系统可以通过大量时间和经验从头学习一项复杂技能。但是,我们如果想使智能体掌握多种技能、适应多种环境,则不应该从头开始在每一个环境中训练每一项技能,而是需要智能体通过对以往经验的再利用来学习如何学习多项新任务,因此我们不应该独立地训练每一个新任务。这种学习如何学习的方法,又叫元学习(meta-learning),是通往可持续学习多项新任务的多面智能体的必经之路。

TensorFlow技术

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任软件DistBelief。

数据库技术

数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。 所谓“数据库”系以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。

特征工程技术

特征工程是利用数据所在领域的相关知识来构建特征,使得机器学习算法发挥其最佳的过程。它是机器学习中的一个基本应用,实现难度大且代价高。采用自动特征工程方法可以省去采用人工特征工程的需求。Andrew Ng 说“挖掘特征是困难、费时且需要专业知识的事,应用机器学习其实基本上是在做特征工程。”

迁移学习技术

迁移学习是一种机器学习方法,就是把为任务 A 开发的模型作为初始点,重新使用在为任务 B 开发模型的过程中。迁移学习是通过从已学习的相关任务中转移知识来改进学习的新任务,虽然大多数机器学习算法都是为了解决单个任务而设计的,但是促进迁移学习的算法的开发是机器学习社区持续关注的话题。 迁移学习对人类来说很常见,例如,我们可能会发现学习识别苹果可能有助于识别梨,或者学习弹奏电子琴可能有助于学习钢琴。

广义线性模型技术

在统计学上, 广义线性模型 (Generalized linear model) 是一种应用灵活的线性回归模型,简称GLM。该模型允许因变量的偏差分布有除了正态分布之外的其它分布。此模型假设实验者所量测的随机变量的分布函数与实验中系统性效应(即非随机的效应)可经由一链接函数(link function)建立起可资解释其相关性的函数。

特征选择技术

在机器学习和统计学中,特征选择(英语:feature selection)也被称为变量选择、属性选择或变量子集选择。 它是指:为了构建模型而选择相关特征(即属性、指标)子集的过程。

遗传算法技术

遗传算法是计算数学中用于解决最优化的搜索算法,是进化算法的一种。进化算法最初是借鉴了进化生物学中的一些现象而发展起来的,这些现象包括遗传、突变、自然选择以及杂交等。 遗传算法通常实现方式为一种计算机模拟。对于一个最优化问题,一定数量的候选解可抽象表示为染色体,使种群向更好的解进化。

交叉验证技术

交叉验证,有时亦称循环估计, 是一种统计学上将数据样本切割成较小子集的实用方法。于是可以先在一个子集上做分析, 而其它子集则用来做后续对此分析的确认及验证。 一开始的子集被称为训练集。而其它的子集则被称为验证集或测试集。交叉验证的目标是定义一个数据集到“测试”的模型在训练阶段,以便减少像过拟合的问题,得到该模型将如何衍生到一个独立的数据集的提示。

XGBoost技术

XGBoost是一个开源软件库,为C ++,Java,Python,R,和Julia提供了渐变增强框架。 它适用于Linux,Windows,MacOS。从项目描述来看,它旨在提供一个“可扩展,便携式和分布式的梯度提升(GBM,GBRT,GBDT)库”。 除了在一台机器上运行,它还支持分布式处理框架Apache Hadoop,Apache Spark和Apache Flink。 由于它是许多机器学习大赛中获胜团队的首选算法,因此它已经赢得了很多人的关注。

独热编码技术

独热编码是将分类变量转换为可提供给机器学习算法更好地进行预测的形式的过程。 一种稀疏向量,其中:一个元素设为 1;所有其他元素均设为 0。 one-hot 编码常用于表示拥有有限个可能值的字符串或标识符。例如,假设某个指定的植物学数据集记录了 15000 个不同的物种,其中每个物种都用独一无二的字符串标识符来表示。在特征工程过程中,您可能需要将这些字符串标识符编码为 one-hot 向量,向量的大小为 15000。

堆叠技术

堆叠泛化是一种用于最小化一个或多个泛化器的泛化误差率的方法。它通过推导泛化器相对于所提供的学习集的偏差来发挥其作用。这个推导的过程包括:在第二层中将第一层的原始泛化器对部分学习集的猜测进行泛化,以及尝试对学习集的剩余部分进行猜测,并且输出正确的结果。当与多个泛化器一起使用时,堆叠泛化可以被看作是一个交叉验证的复杂版本,利用比交叉验证更为复杂的策略来组合各个泛化器。当与单个泛化器一起使用时,堆叠泛化是一种用于估计(然后纠正)泛化器的错误的方法,该泛化器已经在特定学习集上进行了训练并被询问了特定问题。

优化器技术

优化器基类提供了计算梯度loss的方法,并可以将梯度应用于变量。优化器里包含了实现了经典的优化算法,如梯度下降和Adagrad。 优化器是提供了一个可以使用各种优化算法的接口,可以让用户直接调用一些经典的优化算法,如梯度下降法等等。优化器(optimizers)类的基类。这个类定义了在训练模型的时候添加一个操作的API。用户基本上不会直接使用这个类,但是你会用到他的子类比如GradientDescentOptimizer, AdagradOptimizer, MomentumOptimizer(tensorflow下的优化器包)等等这些算法。

自动化机器学习技术

机器学习最近在许多应用领域取得了长足的进步,这促成了对机器学习系统的不断增长的需求,并希望机器学习系统可以被新手快速地熟悉并使用。相应地,越来越多的商业企业推出产品旨在满足这种需求。这些服务需要解决的核心问题是:在给定数据集上使用哪种机器学习算法、是否以及如何预处理其特征以及如何设置所有超参数。这即是自动化学习(AutoML)企图解决的问题。

暂无评论
暂无评论~