侦探上线:你是如何定义机器学习的?
点击上方关注,All in AI中国
作者:Spencer Norris
如今,机器学习从业者普遍认为,机器学习既是一门艺术,也是一门科学。确实如此,而但在这门学科中,只有理解科学,才能欣赏艺术。
以下来我们看看是否可以通过对机器学习理解来奠定基础?也就是实际构成机器学习问题的基础。这是一个奇怪的问题,你可能认为知道答案,但它实际上有一个非常正式的定义,我们将在这里进行概述。
机器学习问题的定义
可以采取的最重要的一步是先问问自己:我认为有这种模式吗?
所有机器学习问题基础的基本假设是存在一种模式。就像没有鸡蛋不能做煎蛋卷一样。在决定着手实施一个项目之前,先问自己这个问题。
如果你仍然认为有一种模式,那么我们可以继续向下进行。我们正在寻找的模式是一些函数f,它将一些输入X映射到输出Y,在符号中,这是f:XY。
当然,你不知道f 是什么,也不会知道。这是机器学习的全部关键:如果有一些无法直接观察到的模式,那么怎么能接近它呢?
以侦探的方式定义问题
答案是像侦探那样做。如果f留下证据或观察值,我们可以开始重建f看起来像什么。每个观察值是输入 xi =[x1,x2,…xd] Ɛ Rd(每个xi是长度为d的实数的数组)和观察到的输出yi。总的来说,这些观察值{(x1,y1),(x2,y2)......(xn,yn)}就是我们的数据集D。
问题是,即使有这些观察值,解释它们也可能无数种可能性。例如,仅使用以下两个观察值来获取D。
我们对于解释这些观察的函数f有一些很好的猜测。很有可能,这是一条直线,对吧?
这将是最有意义的。但为什么它也不能成为多项式函数呢?
为什么它不能变得更复杂?
事实是,没有理由说这些解释中的任何一个都是完全不可信的。它们都是同样有效的假设。
那么为什么还会这么麻烦呢?如果没有办法确定真相,那么不是受害者从一开始就被枪杀了吗?
如果这是真的,那么你可能不会看到这个页面,大多数犯罪问题可能都无法破案。我们稍后会将这个概念正式化。但就目前而言,从表面上来看:我们试图根据可能的情况来制定我们的假设。我们试图从一个不同的假设空间中得出一些我们认为最好的假设,即H。
那么我们该怎么做?当然,我们有一个侦探——算法(A)。算法A将负责挑选我们无限大的假设空间H,并找出哪一个最有意义。我们登陆的那个是g,我们说它很接近我们的实际函数f,我们可以使用它:gf。
这正是使机器学习问题正式化的真正原因。我们有一些未知的目标函数f:XY。我们不知道f是什么,但我们有输入和输出的例子,我们称之为D。我们也有无数个可能的假设H,我们会慢慢缩减,直到我们找到一个看起来足够好的假设,g。我们将通过g将D馈送给A,这可以猜出哪个是最接近真实的东西。
解开谜团
在我们以侦探进行的类比中,特工A有一堆证据D来确定杀手f是谁。A将会看到一大群嫌疑人H,直到他认为他有一个符合这种情况的g。但不能保证g是f ,并且在机器学习中,我们几乎从来没有这种保证,但这是他根据现有证据进行的最好猜测。
如果有更多的证据,我们可能会得出不同的结论。我们也有可能完全错误,而其结果将是灾难性的。在实践中,你需要根据自己的要求确定算法允许的错误空间(稍后我们将讨论)。如果是还有不同的侦探查看证据,他们可能会指出一些完全不同的嫌疑人。当我们切换用于评估数据的算法时会发生这种情况。这也是要付出代价的,我们需要讨论这个问题。同时,需要明智地选择算法。
当你花费更多时间钻研理论时,各种各样的细节都浮出水面。机器学习的实践有时候可能很费事,但从长远来看,它会让你成为一个更好的机器学习实践者,如果你想在现实世界中使用它,它将是至关重要的。
下次我会谈谈探索H的意义,为什么从这一堆证据中找出正确的答案以及为什么我们可以做到这一点是如此困难的原因。