多数机器学习模型都属于参数模型的范畴。例如线性回归、逻辑回归,甚至是标准深度神经网络。这些模型假定一个特定的函数形式,并具有固定且有限数量的参数(如权重 $\beta$ 或网络权重 $W$)。我们使用数据来估计这些参数的值,通常通过优化(如最大似然估计)或贝叶斯推断(计算后验概率 $p(\theta | D)$)来完成。核心假定是,一旦这些参数被确定,它们就能掌握我们所需了解的输入与输出之间的一切关系,且这种关系受限于所选的模型结构。然而,当生成数据的底层过程比我们固定的参数形式所允许的更复杂时,会发生什么?将数据强行纳入僵化的模型结构,可能导致欠拟合或有偏差的结论。我们可能无法事先知晓“正确”的复杂度。这时,非参数方法就派上用场了。‘非参数’这个术语可能有点误导性。它通常不意味着“没有”参数。相反,它指那些有效参数的数量并非事先固定不变,而是能随着更多数据的获得而增长和调整的模型。这些模型提供更大的灵活性,使结构复杂度本身可以从数据中推断出来。在贝叶斯框架中,这意味着定义先验分布不仅针对有限的参数集,也针对更复杂、可能是无限维的对象。不再是针对 $\theta \in \mathbb{R}^d$ 的先验 $p(\theta)$,我们可以考虑针对函数、划分或测度的先验。这就是贝叶斯非参数建模的范围。高斯过程,作为本章的重点,是贝叶斯非参数方法的核心要素,特别适用于回归和分类任务。不同于假定一个特定的参数函数如 $f(x) = \beta_0 + \beta_1 x_1 + ... + \beta_p x_p$ 并对 $\beta_i$ 系数设置先验,高斯过程直接在所有可能函数 $f(x)$ 的空间上定义先验。它假定在任意有限输入点集 $x_1, ..., x_n$ 上的函数值 $f(x_1), f(x_2), ..., f(x_n)$ 遵循多元高斯分布。这种以函数为中心的方式提供了非常大的灵活性。模型复杂度不受固定数量参数的限制;它会根据观测数据和先验中编码的性质进行调整(具体来说是协方差或核函数,我们稍后会讨论)。这种方法自然地纳入了不确定性量化:因为我们推断出的是函数的分布,所以我们得到的预测附带相关的置信区间,这反映了模型在哪些区域确定性更高或更低。考虑一个简单的回归场景。像线性回归这样的参数模型可能会遇到困难,如果真实关系是非线性的。像高斯过程这样的贝叶斯非参数模型可以捕捉复杂模式,而无需我们事先指定非线性的确切形式。{"layout": {"title": "参数拟合与非参数拟合示例", "xaxis": {"title": "输入 (x)"}, "yaxis": {"title": "输出 (y)"}, "legend": {"traceorder": "reversed"}, "template": "plotly_white"}, "data": [{"x": [1, 2, 3, 7, 8, 9], "y": [1.5, 2.2, 2.8, 6, 6.5, 6.8], "mode": "markers", "name": "数据", "marker": {"color": "#495057", "size": 8}}, {"x": [0, 10], "y": [0.7, 7.3], "mode": "lines", "name": "参数拟合 (线性)", "line": {"color": "#339af0", "width": 2}}, {"x": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10], "y": [1.0, 1.5, 2.2, 2.8, 3.5, 4.5, 5.5, 6.0, 6.5, 6.8, 7.0], "mode": "lines", "name": "非参数拟合 (均值)", "line": {"color": "#40c057", "width": 2}}, {"x": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0], "y": [1.8, 2.1, 2.6, 3.1, 3.9, 5.0, 6.1, 6.5, 6.9, 7.1, 7.2, 6.8, 6.5, 6.1, 5.5, 4.9, 4.0, 3.1, 2.5, 1.8, 0.9, 0.2], "fill": "toself", "fillcolor": "rgba(64, 192, 87, 0.2)", "line": {"color": "rgba(255,255,255,0)"}, "hoverinfo": "skip", "showlegend": false, "name": "不确定性"}, {"x": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10], "y": [0.2, 0.9, 1.8, 2.5, 3.1, 4.0, 4.9, 5.5, 6.1, 6.5, 6.8], "mode": "lines", "name": "非参数拟合 (不确定性)", "line": {"color": "rgba(64, 192, 87, 0.5)", "width": 1, "dash": "dash"}}]}比较简单的线性参数拟合与更灵活的非参数拟合(此处所示)的示例。非参数方法能更好地捕捉数据趋势,并提供不确定性带,这些不确定性带通常在数据较少的区域会变宽。本章将引导您了解高斯过程的数学基本原理和实际操作。我们将从正式定义高斯过程为函数的先验分布开始,分析协方差函数如何影响这些先验,并推导在回归情境下进行预测的方程。您将学习如何处理超参数,并将此框架扩展到分类任务,以及使高斯过程在处理大型数据集时计算可行的技术。