图片由 Edge2Edge 媒体在 Unsplash 上拍摄
概率、统计和信息论是你在成为机器学习超级明星的道路上肯定会遇到的话题。然而,如果你有计算机科学或软件工程的背景,当涉及到应用你的知识解决实际问题时,你可能会质疑这些技能的重要性。原因可能是在软件开发中,我们通常在世界是确定的和确定的假设下工作——我们可以安全地假设计算机会准确地做它被告知的事情,即,完美地逐行执行我们的代码。像比特翻转和硬件故障这样的问题很少发生,我们不需要考虑它们。 那么,当涉及到计算机自主学习时,我们为什么那么关心概率呢?
为了回答这个问题,并更好地理解概率和信息理论在人工智能、机器学习和深度学习中的应用,我们来看几个例子,看看为什么有必要处理不确定性。
你可能遇到的一个解释是,在现实世界中,即使信息不完整,我们也需要做出决定。虽然这确实是的情况,但这可能不足以说服你马上钻研概率教科书。
机器学习在一个完全不同的环境中工作,在这个环境中,一切都是固有的不确定性、随机的,而且只是……混乱的。机器学习——更一般地说,人工智能——与用概率框架设计、训练、调整和评估的模型一起工作。这种处理不确定性的框架告诉我们系统应该如何推理,并为我们提供分析拟议系统行为的工具。 虽然在有些情况下,我们可能会花费大量时间来创建一个严格的、确定的系统,但 Ian Goodfellow 的《深度学习》一书中的一句话完美地总结了在不确定性下建模的理由:
“在许多情况下,使用简单但不确定的规则比使用复杂但确定的规则更实用,即使真正的规则是确定的,并且我们的建模系统具有容纳复杂规则的保真度。”
——深度学习由 Goodfellow 、 Bengio 、库维尔
这本书还提供了一个很好的例子——考虑一个人工智能系统,它遵循规则“大多数鸟都飞”这种规则开发成本低,适用范围广,不同于形式更确定的规则“鸟类飞行,除了还没有学会飞行的幼鸟、失去飞行能力的生病或受伤的鸟、不会飞的鸟类物种,包括食火鸡、鸵鸟和几维鸟……”,开发、维护和交流成本高,并且在所有这些努力之后,仍然脆弱且容易失败。 现在,让我们来看看不确定性工作不可避免的其他原因。
在许多应用中,我们不得不牺牲环境信息的完整性来换取算法的效率和有效性。例如,在自动驾驶或机器人技术中,当预测每个对象的未来位置时,代理可以使用占用网格映射来扫描环境以定位障碍并离散化空间。离散化立即产生了关于精确位置的不确定性,因为每个对象可以占据离散单元的任何部分。
如果系统内变量的可观测性是不完全的,那么即使是确定性的系统也可能是随机的。例如,许多纸牌游戏的结果基于玩家的选择是确定的,然而从他们的角度来看,“系统”是不完全可观察的;因此结果是不确定的。
现实世界中的许多问题和场景在默认情况下是不确定的,因此需要以概率的方式来描述。例子包括蒙特卡罗模拟,泊松过程(如放射性衰变),或量子力学中的亚原子粒子动力学。因此,除了在概率框架内描述这些问题之外,没有其他选择。
嗯,这是一个不同的问题——更重要的是,这是一个你需要自己回答的问题。虽然这篇文章的重点是概率论对这个领域不可否认的重要性,但它不应该阻止你继续你目前的计划。这并不意味着你应该停止你正在做的任何事情,甚至在你获得概率和数理统计的高级学位之前,不要考虑接触 PyTorch 或 TensorFlow。事实上,你应该 避免 根据你当前的目标和需求投入时间研究概率有几个原因。
首先,这可能是不必要的。虽然欣赏潜在的抽象理论总是有益的,但这不应该阻止你去解决现实世界的问题和钻研前面提到的库。对于那些没有深厚概率论知识的人来说,你真的可以走得很远。
第二个,概率、统计、信息论都是巨大的领域。 就像其他数学领域通常被称为机器学习的先决条件一样,并非所有的理论都与机器学习直接相关,尤其是在应用场景中。首先确定与你的需求相关的主题可能是值得的。
第三个,需要花很多时间精力才能掌握。这个真的要看你现在的目标了。举个例子,如果你是一个学生,知道自己未来想做机器学习,我建议真正学习基础和底层理论。另一方面,如果你正在寻找商业机会或想转行,花几个月的时间学习这些数学先决条件可能会适得其反,并会推迟你实现目标。
概率、统计和信息理论对机器学习非常重要,因为它总是处理不确定的(有时是非确定性的)量。本文描述了与更传统的软件开发过程相比,在机器学习系统中关注概率建模的具体原因,在更传统的软件开发过程中,我们通常不必担心不确定性。
然而,你必须自己决定钻研概率论是否符合你目前的目标,因为掌握各种概念需要花费大量时间。为了帮助你,我将在未来发表更多关于概率和统计主题的文章,所以如果你感兴趣的话,别忘了关注!