机器学习模型的核心,是一种旨在从数据中学习模式的数学构造。看待许多监督学习模型,最直接的方法是将其视为函数。正如一个数学函数 $f(x) = y$ 接收输入 $x$ 并生成输出 $y$ 一样,机器学习模型接收输入数据(特征)并生成输出(预测或决策)。输入、输出和参数我们来分解这些组成部分:输入(特征): 这些是你输入模型的数据的可测量属性。如果你正在预测房价,输入可能包含房屋的面积、卧室数量和房龄。在机器学习中,我们常将这些输入表示为一个向量,通常用 $x$ 表示。向量中的每个元素对应一个特定特征。例如,$x = [ \text{面积}, \text{卧室数量}, \text{房龄} ]$。输出(预测): 这是模型根据输入生成的结果。对于房价预测,输出将是预测价格(一个连续值)。对于图像分类,它可能是一个标签,例如“猫”或“狗”(一个离散类别),或是每个类别的概率。我们常将模型的预测表示为 $\hat{y}$(读作“y-hat”),以与真实目标值 $y$ 区分开。模型参数: 这些是模型从训练数据中学习到的内部变量。它们定义了从输入到输出的特定转换。可以将它们视为在训练过程中调整的“旋钮”,使模型的预测 $\hat{y}$ 尽可能接近实际目标值 $y$。参数常以希腊字母表示,例如 $\theta$(theta),或特定符号,如表示权重的 $w$ 和表示偏差的 $b$。作为函数的模型:$f(x; \theta)$我们可以使用函数表示法来表达输入、参数和输出之间的关系:$$ \hat{y} = f(x; \theta) $$这个等式表明预测 $\hat{y}$ 由函数 $f$ 生成,该函数接收输入特征 $x$ 并由参数 $\theta$ 进行配置。函数 $f$ 的具体形式定义了模型的类型。示例:简单线性回归考虑最简单的模型之一:具有单个输入特征的线性回归。目标是找到一条最能拟合输入 $x$(例如,工作年限)与输出 $y$(例如,薪资)之间关系的直线。此模型的函数就是一条直线的方程:$$ \hat{y} = w x + b $$这里:$x$ 是单个输入特征(工作年限)。$\hat{y}$ 是预测输出(薪资)。$w$(权重)和 $b$(偏差)是模型参数 $\theta = {w, b}$。它们分别代表直线的斜率和y轴截距。学习过程包括寻找 $w$ 和 $b$ 的最佳值,使预测薪资 $\hat{y}$ 与训练数据中的实际薪资 $y$ 紧密匹配。{"data": [{"x": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], "y": [3, 4, 2, 5, 6, 5, 7, 8, 9, 8], "mode": "markers", "type": "scatter", "name": "数据点", "marker": {"color": "#228be6"}}, {"x": [0, 11], "y": [1.9, 9.2], "mode": "lines", "type": "scatter", "name": "模型 f(x; w, b)", "line": {"color": "#f03e3e", "width": 3}}], "layout": {"title": "线性回归:作为函数的模型", "xaxis": {"title": "输入特征 (x)"}, "yaxis": {"title": "输出 (y / y-hat)"}, "showlegend": true, "margin": {"l": 40, "r": 20, "t": 40, "b": 40}, "width": 600, "height": 400}}一个简单的线性回归模型 $f(x; w, b) = wx + b$,表示为拟合数据点的直线。参数 $w$ 和 $b$ 定义了直线的斜率和截距。线性模型虽然线性回归提供了一个清晰的示例,但这种函数表示方法适用于远为复杂的模型:逻辑回归: 用于分类,它将 S 型函数应用于输入的线性组合以生成概率。它仍然是一个函数 $f(x; \theta)$。神经网络: 这些本质上是函数的复杂组合(层),其中每层应用线性变换和非线性激活函数。整个网络可以被视为一个复杂的函数 $f(x; \theta)$,其中 $\theta$ 包含所有层的所有权重和偏差。"将模型视为函数 $f(x; \theta)$ 来理解是根本。它将机器学习任务构筑为为所选函数 $f$ 寻找最佳参数 $\theta$,以使其输出 $\hat{y}$ 准确地反映结果 $y$。这种视角自然引出了优化的思路,我们需要工具来衡量 $\theta$ 的变化如何影响模型的性能。这正是微积分,特别是导数和梯度,变得不可或缺的地方,正如我们将在接下来的章节中看到的。"