机器学习 (machine learning)通常涉及发现规律并基于数据进行预测。要从数学上实现这一点,我们需要一种方法来描述不同量之间的关系。这时就需要用到函数。可以将函数看作一个精确的规则或机制,它接受一个输入,并产生一个且仅一个输出。
想象一台简单的自动售货机:你投入钱(输入),选择商品编号(另一个输入),它会给你一个特定的零食(输出)。数学函数的工作方式类似,但处理的是数字或其他数学对象。
输入与输出
函数是一个精确的规则或机制,它接受一个输入并产生一个输出。我们输入给函数的值称为输入或自变量。函数根据输入产生的值称为输出或因变量。我们常用x这样的字母表示输入,用y或f(x)表示输出。记号f(x)读作“f of x”(f自变量x的函数值),它表示当输入为x时函数f的输出。字母f本身代表函数,即那个将输入转换为输出的规则。
例如,考虑一个函数,它会将你给定的任何数字加倍,然后加1。我们可以用函数记号这样表示这个规则:
f(x)=2x+1
这里:
- f 是函数的名称(规则:“加倍然后加1”)。
- x 是输入变量。
- f(x) 表示与输入x对应的输出。
如果我们提供输入x=3,函数应用该规则:
f(3)=2(3)+1=6+1=7。
所以,对于输入3,输出是7。
如果输入是x=−5,输出是:
f(−5)=2(−5)+1=−10+1=−9。
常见函数类型
函数种类很多,在我们开始学习机器学习 (machine learning)微积分时,有几种函数显得尤为重要:
-
线性函数: 这些函数在图上表现为一条直线。它们的一般形式是:
f(x)=mx+b
这里,m表示斜率(线的陡峭程度),b是y轴截距(线与垂直轴相交的点)。我们刚刚看到的函数f(x)=2x+1就是一个线性函数,其中m=2,b=1。线性函数在机器学习中非常基本,构成了线性回归等模型的依据。
-
多项式函数: 这些函数包含输入变量的非负整数次幂项,例如f(x)=x2(抛物线)或g(x)=3x3−5x+2。它们可以表示数据中更复杂的曲线关系。
-
其他函数: 随着学习的深入,你还会遇到指数函数(ex)、对数函数(log(x))和三角函数(sin(x),cos(x)),这些函数出现在各种机器学习场景中,例如神经网络 (neural network)中的激活函数 (activation function)或增长模式的建模。
目前,我们先着重理解基本的输入-输出关系。考虑线性函数f(x)=0.5x−1。
- 如果x=4, f(4)=0.5(4)−1=2−1=1。
- 如果x=0, f(0)=0.5(0)−1=0−1=−1。
- 如果x=−2, f(−2)=0.5(−2)−1=−1−1=−2。
每个输入(4,0,−2)都精确地映射到一个输出(1,−1,−2)。
函数在机器学习 (machine learning)中的作用
函数是用于描述我们构建模型的数学语言。
- 模型表示: 机器学习模型通常可以被看作一个函数。它接收输入数据(比如房屋的特征:面积、卧室数量),然后应用一个学习到的规则(函数)来产生一个输出(比如房屋的预测价格)。训练模型意味着调整这个函数的参数 (parameter)(比如mx+b中的m和b),以便进行准确的预测。
- 衡量表现: 我们还使用一些函数,称为成本函数或损失函数 (loss function),来衡量模型表现得如何。这些函数将模型的预测值和实际目标值作为输入,并输出一个表示误差大小的数字。最小化这个误差函数是模型训练的核心目标,而微积分提供了有效实现这一目标的工具。
将函数理解为从输入到输出的映射是第一步。它为我们表示模型及其表现提供了一个框架,为使用微积分分析和改进模型创造了条件。在接下来的章节中,我们将了解如何以图形方式可视化这些关系,并引入极限这一思想,它直接建立在函数行为的思想之上。