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

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 所有,如需转载请联系作者。

发表于 2018-02-11
10

从流域到海域

153 篇文章48 人订阅

0 条评论

相关文章

来自专栏脑洞科技栈

如何使用sklearn加载和下载机器学习数据集

sklearn 中提供了很多常用(或高级)的模型和算法,但是真正决定一个模型效果的最后还是取决于训练(喂养)模型时所用的数据。sklearn 中的 sklear...

3215
来自专栏脑洞科技栈

真是绝了!史上最详细的Jupyter Notebook入门教程

Jupyter Notebook 是一个在浏览器中使用的交互式的笔记本,可以实现将代码、文字完美结合起来,它的受众群体大多数是一些从事数据科学领域相关(机器学习...

3158
来自专栏Jerry的SAP技术分享

使用Java程序消费SAP Leonardo的机器学习API

以sap leonardo作为关键字在微信上搜索,能搜到不少文章。但是我浏览了一下,好像没有发现有从具体编程角度上来介绍的。所以我就贡献一篇。

172
来自专栏量化投资与机器学习

【必看】机器学习应用量化投资必须要踩的那些坑(系列55)

1445
来自专栏云加新鲜事儿

王才华:智能钛・一站式机器学习平台TI-ONE是什么?

腾讯云AI平台技术负责人王才华博士在腾讯“云+未来”峰会的「开发者专场」做了主题为“智能钛・一站式机器学习 TI-ONE:腾讯云上的机器(深度)学习IDE”的技...

1417
来自专栏脑洞科技栈

如何为协同过滤选择合适的相似度算法

近邻推荐之基于用户的协同过滤 以及 近邻推荐之基于物品的协同过滤 讲解的都是关于如何使用协同过滤来生成推荐结果,无论是基于用户的协同过滤还是基于物品的协同过滤...

3375