趋近智
像 f(x)=x2 或 f(x)=3x+5 这样的函数是单变量函数:它们接受一个输入 (x) 并产生一个输出。你可以轻松地将它们想象成2D图上的曲线,显示当单个输入变化时输出如何变化。
"然而,许多情况,尤其是在机器学习中,涉及不止一个影响因素。想想预测房屋价格。它仅仅基于其平方英尺大小吗?可能不是。你可能还会考虑卧室数量、房屋年龄或社区的质量评分。每一个都是一个独立的输入变量。"
同样,当我们训练机器学习模型时,例如我们稍后会看到的简单线性回归模型 y=mx+b,我们需要找到 m(斜率)和 b(截距)的最佳值。模型的表现,通常通过“成本”或“误差”函数来衡量,取决于为 m 和 b 选择的特定值。
这就引出了多变量函数。不仅仅是 f(x),我们现在处理的函数类型有:
所有这些函数仍然产生一个单一的输出值。输出取决于所有提供输入值的具体组合。
多变量函数将一组输入值映射到一个单一的输出值。我们可以将其写为 z=f(x,y)(用于两个变量)或 youtput=f(x1,x2,…,xn)(用于 n 个变量)。在这里,x1,x2,…,xn 被称为自变量,而产生的输出(z 或 youtput)是因变量。
让我们看一个简单例子:
f(x,y)=x2+y2这个函数接受两个输入,x 和 y。为了得到输出,我们将每个输入平方然后将结果相加。
另一个例子,可能更接近你在模型误差方面可能看到的情况:
g(w,b)=(w⋅5+b−12)2在这里,函数 g 取决于两个输入,w 和 b。如果 w=2 且 b=3,那么:
g(2,3)=(2⋅5+3−12)2=(10+3−12)2=(1)2=1在机器学习中,w 和 b 可能表示一个简单模型的权重或参数,值 5 可能是一个来自我们数据的输入特征,而 12 可能是真实的目标值。函数 g(w,b) 可以表示该单个数据点的平方误差。训练模型的目标是找到使该误差(以及所有数据点的误差)尽可能小的 w 和 b 值。
我们看到,单变量函数 f(x) 可以被可视化为2D曲线。那么像 z=f(x,y) 这样的双变量函数呢?
由于我们有两个输入(x, y)和一个输出(z),我们需要三个维度来绘制函数。我们可以想象一个 xy 平面表示可能的输入组合,以及一个垂直的 z 轴表示输出。对于输入平面中的每个点 (x,y),函数 f(x,y) 给出高度 z。绘制这些点 (x,y,z) 通常会在3D空间中形成一个曲面。
考虑我们的例子 f(x,y)=x2+y2。这个函数描述了一个碗状,称为抛物面,开口向上。它的最低点在 (x,y)=(0,0),此时 f(0,0)=0。
z=x2+y2 的曲面图。输入 x 和 y 构成基平面,高度 z 表示函数的输出。值得注意的是,最小值出现在原点 (0, 0)。
输入多于两个的函数呢? 可视化 f(x1,x2,x3) 需要4个维度(3个用于输入,1个用于输出),而 f(x1,…,xn) 将需要 n+1 个维度。我们的大脑无法直接可视化超过三个维度的空间!
然而,我们发展的数学思想在更高维度中也能正常运用。即使我们无法绘制一个依赖于数千个模型参数的成本函数图,我们仍然可以分析调整这些参数时成本如何变化。
了解多变量函数非常重要,因为大多数机器学习模型具有多个可调整参数(如神经网络中的权重和偏差),并且通常处理具有多个特征的输入数据。因此,衡量模型表现的成本函数自然是许多变量(即参数)的函数。
训练中我们的目标通常是使这个成本函数最小化。由于成本取决于多个参数,我们需要一种方法来弄清楚改变每个单独参数如何影响成本。这正是偏导数这一方法开始起作用的地方,我们接下来会研究它。它使我们能够一次检查相对于一个变量的变化率,即使函数依赖于许多其他变量。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造