浅谈应用型机器学习作为一种搜索问题

A Gentle Introduction to Applied Machine Learning as a Search Problem

原文作者:Jason Brownlee

原文地址:https://machinelearningmastery.com/applied-machine-learning-as-a-search-problem/

译者微博:@从流域到海域

译者博客:blog.csdn.net/solo95

浅谈应用型机器学习作为一种搜索问题

应用型机器学习是具有挑战性的,因为针对给定问题设计完善的学习系统是非常棘手的。

(因为)没有最好的训练数据或最好的算法来解决你的问题,只有你可以发现的最好的。(作者的意思是你发现的最好的并不一定是最好的,还可能有更好的,译者注)

机器学习的应用被认为是最好的解决输入到输出的最佳映射的搜索问题,因为给定项目中知识和资源都是可用的。

在这篇文章中,你将会了解到将应用型机器学习作为一个搜索问题的概念化(conceptualization)认知。

阅读这篇文章后,你会知道:

  • 应用型机器学习是近似于“未知的从输入到输出的底层映射函数”的问题。
  • 数据选择和算法选择等设计决策缩小了你最终可能选择的映射函数的范围。
  • 机器学习作为一种搜索的概念化有助于合理使用集成(ensembles),对算法进行抽样检查,以及理解算法学习时发生的事情。

让我们开始吧。

A Gentle Introduction to Applied Machine Learning as a Search Problem(浅谈应用型机器学习作为一种搜索问题)

照片由tonko43提供,保留某些权利。

概览

这篇文章分为5个部分; 他们是:

  1. 函数逼近问题
  2. 函数逼近作为搜索
  3. 数据的选择
  4. 算法的选择
  5. 机器学习作为搜索的意义

函数逼近问题

应用型机器学习是一个学习系统(learing system)的发展,以解决一个特定的学习问题。

学习问题的特点是由输入数据和输出数据组成的观察(observations)以及两者之间的未知但一致的关系。

学习系统的目标是学习输入和输出数据之间的通用映射,以便对从输出变量未知的域中抽取的新实例进行熟练的预测。

在统计学习中,从机器学习的统计角度来看,问题被定义为给定输入数据(X)和相关输出数据(y)之间的映射函数(f)的学习。

y = f(X) 

我们有一个XY的样本,并尽我们所能提出一个近似f的函数,例如fprime,这样我们就可以在未来给出新的例子(Xhat)时做出预测(yhat)。

yhat = fprime(Xhat)

因此,应用型机器学习可以被认为是函数逼近的问题。

Machine learning as the mapping from inputs to outputs(机器学习是从输入到输出的映射)

学习到的映射将是不完美的。

设计和开发学习系统是这样一个问题,输入变量映射到输出变量存在一个未知的底层函数,我们需要学习出它的有用的近似函数。

我们不知道(未知的底层)函数的形式,因为如果我们知道,我们就不需要学习系统(来学习出一个近似的函数); 我们可以用它来直接指定解决方案。

因为我们不知道真正的底层函数,所以我们必须对它进行近似,这意味着我们不知道,也许永远不会知道学习系统的近似函数与真实映射的接近程度。

函数逼近作为搜索

我们必须寻找一个对我们的目的来说足够好的真正底层函数的近似函数)。

有许多噪声源会将错误引入到学习过程中,这会使(学习过程)变得更具挑战性,反过来产生不太有用的映射。例如:

  • 学习问题框架(framing)的选择。
  • 用于训练系统的观察(observations)的选择。
  • 训练数据如何准备的选择。
  • 预测模型的表示形式的选择。
  • 适应训练数据模型的学习算法的选择。
  • 评估预测技能的绩效指标的选择。

还有更多。

你可以看到在学习系统的开发中有很多选择点,事先都没有答案。

您可以将所有可能的学习系统都视为一个巨大的搜索空间,每个决策点都会缩小搜索范围。

Search space of all possible mapping functions from inputs to outputs(从输入到输出的所有可能映射函数的搜索空间)

举个例子,如果学习问题是为了预测花的种类,则可以将数百万个可能的学习系统中的一个缩小如下:

  • 选择将问题框定为预测物种类别标签,比如分类。
  • 选择一个特定物种及其相关亚种的花朵的测量(方法)。
  • 在一个特定的花园选择花卉进行测量来收集训练数据。
  • 选择一个决策树模型表示,以便向利益相关者解释预测。
  • 选择CART算法以适配决策树模型。
  • 选择分类准确性来评估模型的能力。

等等。

你也可以看到,开发一个学习系统所涉及的许多决定可能存在一个自然的层次,每一个决定都进一步缩小了我们可能建立的学习系统的空间。

这个缩小带来了一个有用的偏差(bias),我们会有意识地选择一个可能的学习系统的一个子集而不是另一个子集,目的是更接近我们可以在实践中使用的有用映射。这种偏差既适用于问题框架的顶层,也适用于低层次,如机器学习算法或算法配置的选择。

数据的选择

学习问题所选择的框架和用于训练系统的数据是学习系统发展的一个重要杠杆。

您无权访问所有数据:即所有输入和输出对。如果你有权限,则不需要预测模型就能对新的输入观测值输出预测。

你确实有一些历史的输入输出对。如果你没有,你将不会有任何数据来训练一个预测模型。

但是,也许你有大量数据,你只需要选择其中的一部分进行训练。或者,您可以随意生成数据,这会受到生成或收集什么样的数据以及要生成多少数据的挑战。

您选择用来建立学习系统模型的数据必须充分捕获到您可用数据中输入和输出数据之间的关系,并且包括将来需要模型进行预测的数据。

从一个问题的全部通用数据中选择训练数据(Choice of training data from the universe of all data for a problem,意译)

算法的选择

您必须选择模型的表示(representation)和用于拟合(fit)训练的数据的模型的算法。这也是您的学习系统发展的另一大重要杠杆。

从一个问题的全部通用算法中选择算法(Choice of algorithm from the universe of all algorithms for a problem,意译)

通常这个决定被简化为算法的选择,尽管项目的利益相关者对项目施加约束是很常见的,例如模型必须能够解释预测,而预测又对最终模型的表示形式施加约束,反过来作用于你可以搜索的映射范围。

选择输入到输出的近似映射的效果(Effect of choosing an approximate mapping from inputs to outputs)

机器学习作为搜索的意义

这种将开发学习系统作为搜索问题的概念化有助于清楚地表明应用型机器学习中的许多相关问题。

这部分只关注了一点点(东西)。

迭代学习的算法

用于学习映射的算法将会施加进一步的约束,并且随着所选择的算法配置,将控制模型拟合时如何导航(navigated)可能的候选映射的空间(例如,用于迭代学习的机器学习算法)。

在这里,我们可以看到,通过机器学习算法从训练数据中学习的行为实际上是在导航(navigating)学习系统的可能的映射的空间,希望从差的映射转移到更好的映射(例如爬山)。

学习算法在数据上迭代训练的效果(Effect of a learning algorithm iteratively training on data)

这为在机器学习算法的核心中优化算法的作用提供了一个概念的基本原理,以便从特定训练数据的模型表示中获得最大的效益。

集成(Ensembles)的理由

我们还可以看到,不同的模型表示将在所有可能的函数映射的空间中占据完全不同的位置,并且在进行预测时又具有完全不同的行为(例如不相关的预测误差)。

这为集成方法(ensemble method)的作用提供了一个概念性的理论基础,它结合了虽不同但却是有能力的预测模型的预测。

结合来自多个最终模型的预测的演示(Interpretation of combining predictions from multiple final models)

抽查的理论基础(Rationale for Spot Checking)

具有不同表示的不同算法可以在可能的函数映射的空间中的不同位置开始,并且将会不同地对空间进行导航(navigate)。

如果这些算法正在导航的受限空间被适当的框架和良好的数据所明确(表示),那么大多数算法将可能发现良好的并且相似的映射函数。

我们也可以看到,一个好的框架和仔细选择的训练数据可以打开一个候选映射的空间,可以通过一套强大的现代机器学习算法套件找到。

这为在给定的机器学习问题上对一套算法进行抽样检查提供了理论基础,并加注了一个显现出最有前途的算法或选择一个最简约的解决方案(比如Occam的剃须刀)。

(This provides rationale for spot checking a suite of algorithms on a given machine learning problem and doubling down on the one that shows the most promise, or selecting the most parsimonious solution (e.g. Occam’s razor,原文如此)

进一步阅读

如果你想深入阅读的话,这一小节列出了关于这个话题的更多资源。

Chapter 2, Machine Learning, 1997.

Generalization as Search, 1982.

Chapter 1, Data Mining: Practical Machine Learning Tools and Techniques, 2016.

On algorithm selection, with an application to combinatorial search problems, 2012.

Algorithm Selection on Wikipedia

概要

在这篇文章中,你发现应用型机器学习的概念化是一个搜索问题。

具体来说,你了解到:

  • 应用型机器学习是近似于“未知的从输入到输出的底层映射函数”的问题。
  • 数据选择和算法选择等设计决策缩小了你最终可能选择的映射函数的范围。
  • 机器学习作为一种搜索的概念化有助于合理使用集成(ensembles),对算法进行抽样检查,以及理解算法学习时发生的事情。

本文的版权归 Steve Wang 所有,如需转载请联系作者。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏人工智能LeadAI

计算机视觉中 RNN 应用于目标检测

深度学习在计算机视觉领域取得的巨大的发展,最近几年CNN一直是目前主流模型所采取的架构。最近半年RNN/LSTM应用在识别领域逐渐成为一种潮流,RNN在获取目标...

5225
来自专栏机器之心

CVPR2018 | CMU&谷歌Spotlight论文:超越卷积的视觉推理框架

选自arXiv 作者:陈鑫磊等 机器之心编译 参与:张倩、李泽南 人类在看到图像时可以进行合理的推理与预测,而目前的神经网络系统却还难以做到。近日,来自卡耐基梅...

2688
来自专栏专知

【深度学习】一文教你如何确定好的“学习率”

【导读】近日,数据科学家Hafidz Zulkifli发布一篇文章,主要讲解了深度学习中的“学习率”,以及如何利用学习率来提高深度学习模型的性能并减少训练时间。...

3055
来自专栏量子位

2017年深度学习优化算法最新进展:如何改进SGD和Adam方法?

原作 Sebastian Ruder 王小新 编译自 ruder.io 量子位 出品 | 公众号 QbitAI 深度学习的基本目标,就是寻找一个泛化能力强的最...

35712
来自专栏计算机视觉战队

深度学习超参数简单理解

说到这些参数就会想到Stochastic Gradient Descent (SGD)!其实这些参数在caffe.proto中 对caffe网络中出现的各项参数...

3499
来自专栏机器之心

当前训练神经网络最快的方式:AdamW优化算法+超级收敛

Adam 优化器之旅可以说是过山车(roller-coaster)式的。该优化器于 2014 年推出,本质上是一个出于直觉的简单想法:既然我们明确地知道某些参数...

782
来自专栏机器人网

【深度】一图看完深度学习架构谱系图

金成勳在 GitHub 上梳理出的谱系图如下,小编在此基础上对各个分支网络做了介绍、补充,希望对读者了解网络体系间的关联有所帮助。如有缺陷,欢迎大家留言补充。 ...

2545
来自专栏AI科技评论

从模糊到清晰,AI对图片的识别越来越精准| Facebook CVPR2016最新论文

图像边缘的无监督学习 摘要 数据驱动方法在边缘检测领域已被证明是有效的,且在最近的基准测试中取得了顶尖的成绩。然而,目前所有数据驱动的边缘检测都要求以手工标注区...

30210
来自专栏机器之心

学界 | 弱监督视频物体识别新方法:香港科技大学联合CMU提出TD-Graph LSTM

选自arXiv 机器之心编译 参与:李泽南、路雪 在图像识别任务中,模型的训练一直非常依赖于标注数据,同时训练结果难以泛化。香港科技大学与卡耐基梅隆大学的研究...

3158
来自专栏计算机视觉战队

深度学习超参数简单理解

首先谢谢读者的指正,现在已经把所有遮挡的都处理完毕,谢谢您们的指正,谢谢! ---- 正文: 说到这些参数就会想到Stochastic Gra...

3554

扫码关注云+社区