人工智能 · 2024年1月28日

机器学习中的数学困扰

开始机器学习之旅,需要什么层次的数学功底? 尤其是对于那些没有学过数学和统计学的同学们来说,这个问题当前不甚清楚,在这篇文章中,我将要为那些使用机器学习技术来开发产品或做学术研究的人们提供一些数学背景方面的建议。这些建议源于我与机器学习工程师、研究人员和教育工作者的对话,以及我在机器学习研究和产业方面的独到经验。

机器学习的数学焦虑

为了构造(机器学习中)数学的背景,我会先讲一些与传统课堂不同的思维模式和策略。然后,我会概述不同类型机器学习工作所需的具体背景,毕竟机器学习涉及的学科范围太广泛了(它涵盖了高中级别的统计和微积分,也涵盖了概率图形模型(PGM)的最新进展)。

我希望读者们在读到文章的最后时,能够知道自己有效使用机器学习所必需的数学知识。

作为这篇文章的前言,我想说:对于不同学习者的个人需求或目标来说,学习的风格、架构和资源都应该是独一无二的!

机器学习的数学焦虑
事实证明,很多人——包括工程师——都害怕数学。首先,我想谈谈“擅长数学”这类传说。

事实是,擅长数学的人都做过大量的数学练习。因此,在研究数学问题被卡住时,他们依然能够“风雨不动安如山”。如最近的研究所示,学生的心态,而非先天才能,才是预测一个人学习数学的能力的主要因素。

要清楚的是,要达到这种境界,需要时间和精力。这显然不是你天生就有的能力。本文的剩余部分将帮助您确定所需的数学功底,并概述构建它的策略。

数学焦虑症的小贴士

    作为软性先修数学条件,我们假设你对线性代数/矩阵微积分都有了解,这样你就不会为奇怪的符号苦恼。同时我们还假设你有基础的概率知识。我们鼓励你拥有基本的编程能力,这是领悟机器学习中的数学的有力工具。之后,你可以根据你感兴趣的内容调整你的学习重点。

如何在课外学习数学?

机器学习的数学焦虑
    事实证明,很多人——包括工程师——都害怕数学。首先,我想谈谈“擅长数学”这类传说。

事实是,擅长数学的人都做过大量的数学练习。因此,在研究数学问题被卡住时,他们依然能够“风雨不动安如山”。如最近的研究所示,学生的心态,而非先天才能,才是预测一个人学习数学的能力的主要因素。

要清楚的是,要达到这种境界,需要时间和精力。这显然不是你天生就有的能力。本文的剩余部分将帮助您确定所需的数学功底,并概述构建它的策略。

万事开头难

在机器学习工作流程中,数学和代码紧密结合。代码通常直接由数学直觉构建,有时它甚至会和数学符号使用相同的句法。事实上,现代数据科学框架应用(例如NumPy)使得数学运算(例如矩阵/矢量积)与可读代码之间的转换变得直观和有效。

我鼓励你将编写代码作为巩固学习的一种方式。学习数学和编写代码都依赖于你对问题理解和表述的精准程度。例如,手动编写损失函数或优化算法,就是真正理解这些基础概念的好方法。

让我们来探索一个实际的问题:在你的神经网络中实现ReLU函数激活的反向传播(是的,即使Tensorflow / PyTorch可以替你做这个!)。这里简单介绍一下,反向传播是一种依赖于微积分链式规则来有效计算梯度的技术。为了在这个问题设定下使用链式规则,我们将上游导数与ReLU函数的梯度相乘。

我们先将ReLU激活函数进行可视化(就是下图的样子),然后这样定义这个函数:

机器学习的数学焦虑
为了计算函数的梯度(直观来说就是斜率),你可以想象出这样一下分段函数,如下面的指示函数所示:

机器学习的数学焦虑
    NumPy为我们提供了有用且直观的语法——我们的激活函数(蓝色曲线)可以通过代码表述出来,其中x是我们的输入,relu是我们的输出:

relu = np.maximum(x, 0)

ReLU函数的梯度函数(红色曲线)可以如下所示,grad表示上游梯度:

grad[x < 0] = 0

在没有首先自己推导梯度公式的情况下,这行代码可能没有任何意义。在我们的代码中,对于满足[h <0]条件(即x<0)的所有元素,将其对应上游激活函数的梯度(grad)数值设置为0。在数学上,这实际上相当于ReLU梯度函数的分段表示,所有x轴上小于0的数值,当乘以上游梯度时,它的值会变成0。

正如我们所见,通过我们对微积分的基本理解,我们可以清楚地理解代码的含义。

构建机器学习产品必需的数学知识

机器学习的数学焦虑
OpenMagic API

Need more than content? Move into the product flow.

If you are here for model access, pricing, developer docs, or the future API console, the dedicated product path now lives on api.openmagic.ai.

登录免费注册