查看原文
其他

入门 | 将应用机器学习转化为求解搜索问题

2018-01-11 机器之心

选自machinelearningmastery

作者:Jason Brownlee

机器之心编译

参与:乾树、刘晓坤


本文以搜索问题的视角重构机器学习,为我们提供了新的思维架构,富有启发意义。


由于针对某一特定问题设计一套完美的智能系统难以控制,所以机器学习的实际应用极具挑战。


实际生产中并没有完全适用于你的问题的训练集和算法,一切都等你自己去发现。


我们最好将机器学习应用看成针对特定项目的已知知识和可用资源寻找输入到输出的最佳映射的搜索问题。


在本文中,你将会学到如何将机器学习应用于搜索问题。


读完本文,你将知道:


  • 应用机器学习就是优化/逼近一个从输入到输出的未知基础映射函数的问题。

  • 数据集和算法的选择等设计决策会缩小最终可能选择的映射函数的范围。

  • 将机器学习概念化为搜索问题的思想有助于合理使用模型集成、对算法进行抽样检查以及理解算法的学习过程。


我们开始吧。



概述


本文共计 5 个部分;分别是:


1. 函数逼近问题

2. 搜索问题的近似函数

3. 数据集的选择

4. 算法的选择

5. 将机器学习转化为搜索问题的意义


函数逼近问题


机器学习的应用就是智能系统解决特定可学习问题的发展。


可学习问题的主要特征包括由输入数据和输出数据的集合以及两者之间的未知的相关关系。


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


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



我们有一个 X 和 y 的例子,而且也会努力想出一个逼近 f 的函数,例如 *fprime,*如此我们以后就可以基于新样本 (Xhat) 得出新的预测 (yhat)。



如此一来,我们可以将应用机器学习问题看作一个寻找近似函数的问题。



学习到的映射是近似的。


设计和开发机器学习系统是一个找到将输入变量映射到输出变量的未知基础函数的有用近似的问题。


我们完全不知道这个函数的形式,因为如果知道的话,还要机器学习系统干嘛?我们完全可以直接求解。


因为我们不知道真正的函数是什么,我们必须去逼近它。这意味着我们不知道,也许永远不会知道机器学习系统的近似函数与真实映射函数的接近程度。


搜索问题的近似函数


找到一个足以适合我们的要求的且逼近真实构成函数的函数。


学习过程中会遇到很多噪音导致的错误,并因此得到没什么用的的的映射函数。例如:


  • 机器学习问题的框架选择

  • 用于训练的资料选择

  • 预处理数据集的方法选择

  • 预测模型的表征形式选择

  • 让模型拟合训练数据的合适学习算法的选择

  • 评测模型的预测能力的性能指标的选择


还有很多。


你可以看到在机器学习系统的发展历程中有很多决策点,在此之前它们的答案都是未知的。


对于一个机器学习问题对应的所有可能解决方案,我们可以把它看作一个大的搜索空间。其中的每一个决策点都可以缩小搜索范围。


从输入到输出的所有可能的映射函数的搜索空间。


例如,如果某个问题就是预测花的种类,那么我们可以通过如下步骤从海量解决方案中筛选出一个可能的机器学习系统:


  • 选择将问题设定为预测物种的类别标签,例如,分类。

  • 选择给定物种及其相关子类的花的分辨指标。

  • 选择在一个特定的苗圃对花进行测量,以收集训练数据。

  • 选择一个决策树模型,以便整个预测模型可以阐述给项目经理听。

  • 选择一个 CART 算法拟合决策树模型。

  • 选择分类准确率标准评估模型的预测能力。


等等。


在一个机器学习系统的完善过程中你可能看到很多决策都有自然的层级结构。其中每一个决策都可以缩小我们将要建造的学习系统的范围。


这个缩小过程引入了重要的倾向性,有意识地选择可能的学习系统的一个子集而非其它子集,目的是得到我们可以在实践中使用的有用映射函数。这种倾向既适用于问题框架的顶层,也适用于低层,如机器学习算法或算法配置的选择。


选择数据集


选择学习问题的框架和用于训练系统的数据是开发机器学习系统的一个重要因素。


你不能使用所有的数据:所有的输入和输出都成对儿出现。如果你这样做了,就不需要一个预测模型预测新输入的输出值了。


你需要一些输入-输出对数据集。如果没有,你拿什么训练预测模型?


但是你可能有大量的数据,你只需挑选部分用于训练。亦或你可以随意生成大量数据,唯一的挑战就是生成或收集的数据的种类和数量。


你选择的用来建立学习系统模型的数据必须充分捕获可用数据的输入和输出数据之间的关系,以及该模型将来可能预测的数据之间的关系。


从一个问题的所有数据中选择训练数据


选择算法


你必须选择模型的表征形式以及用于拟合训练数据的算法。这同样是开发机器学习系统中的一个重要因素。


从一个问题的所有可能算法中选择一个算法


这个决策通常被简化为算法的选择,尽管项目经理经常对项目追加要求,例如模型能够解释预测,而预测又反过来对最终模型表示形式施加约束,最后反过来影响你可以搜索的映射范围。


选择一个从输入到输出的映射函数的逼近函数的影响


将机器学习转为搜索问题的意义


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


这节有以下几点。


迭代学习算法


用于学习映射关系的算法将会强加更多约束,随着算法配置的选定,它将控制候选映射函数的空间指导拟合模型的方式(例如,迭代学习的机器学习算法)


此处,我们可以看出通过机器学习算法从训练集中学到的信息可以对学习系统可能的映射函数空间进行有效指导,最好是挑选的映射函数越来越好。(例如,爬山算法)


学习算法在训练集上迭代更新的影响


这为优化算法在机器学习算法中的核心作用提供了一个概念上的理论基础,以最大限度地获取特定训练数据的模型表征。


模型集成的原理


我们同样发现在所有可能的函数映射上的不同位置可以得到不同的模型表征,这些模型自然也都表现出不同的预测行为(例如,不相关的预测错误)。


这就使得整合不同的但是有效的预测模型的方法在概念上可行。


组合多个最终模型进行预测的解释


抽样检查的原理


不同表征方式的不同算法可能在函数映射空间中的不同位置开始,并以不同的方式指导搜索。


如果都是在选定框架和良好的数据集下的约束空间内进行搜索的,那么大部分的算法都可能会发现好的或类似的映射函数。


我们可以看到一个好的框架以及精心挑选的数据集是如何找出候选函数映射空间的,这可以通过一套强大的机器学习算法找到。


这为在给定的机器学习问题上检查一组算法,并进一步简化最有希望的算法或选择最节省的解决方案(例如奥卡姆剃刀)提供了理论基础。


扩展阅读


这一节提供了更多的相关资源以帮助你深入研究这一问题。


  • Chapter 2, Machine Learning, 1997.

  • Generalization as Search, 1982.(http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.121.5764&rep=rep1&type=pdf)

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

  • On algorithm selection, with an application to combinatorial search problems, 2012.(https://research-repository.st-andrews.ac.uk/handle/10023/2841)

  • Algorithm Selection on Wikipedia


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



本文为机器之心编译,转载请联系本公众号获得授权。

✄------------------------------------------------

加入机器之心(全职记者/实习生):hr@jiqizhixin.com

投稿或寻求报道:content@jiqizhixin.com

广告&商务合作:bd@jiqizhixin.com


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存