【回归算法】高斯过程回归详解

高斯过程回归详解(适合本科/研究生)

高斯过程(Gaussian Process, GP)是基于高斯分布(正态分布)的随机过程建模工具,核心用于解决回归、分类等机器学习问题,尤其擅长为预测结果提供概率性输出和不确定性度量 。与多项式回归、线性回归等参数化模型不同,高斯过程是非参数模型,无需预设函数形态,能灵活捕捉数据的复杂非线性特征,是本科和研究生阶段学习贝叶斯建模、不确定性分析的核心内容。

一、高斯过程的核心认知:从基础概念到直观理解

1. 核心定义

高斯过程可以理解为无限维度的高斯分布 ,其核心假设是:任意有限个输入点对应的函数值,都服从多维高斯分布

若用f(x)f(x)f(x)表示输入x对应的函数值,高斯过程的数学表达式为:
f(x)∼GP(m(x),k(x,x′))f(x) \sim \mathcal{GP}\left(m(x), k\left(x, x'\right)\right)f(x)∼GP(m(x),k(x,x′))

式中两个核心组件决定了高斯过程的形态:

  • m(x)m(x)m(x):均值函数 ,表示函数在每个输入点的平均值,通常为了简化计算取m(x)=0m(x)=0m(x)=0(假设函数整体均值为0);
  • k(x,x′)k(x, x')k(x,x′):协方差函数(核函数) ,描述两个输入点xxx和x′x'x′对应函数值的相关性 ,是高斯过程的核心,决定了函数的平滑性、周期性、趋势性等特征。

2. 直观理解:用"相关性"猜测函数形状

我们可以把高斯过程看作一个"函数猜测工具 ":

假设我们不知道真实函数的形状,但知道它的基本行为(比如平滑、有周期性、局部波动小),高斯过程会通过核函数 定义输入点之间的相关性,从而"合理猜测"函数的整体形态。

核心逻辑:距离近的输入点,对应函数值的差异小(相关性高);距离远的输入点,对应函数值的差异大(相关性低)

比如,预测一天中气温的变化,相邻时间点的气温相关性高,相隔10小时的时间点相关性低,高斯过程会通过核函数捕捉这种规律,拟合出平滑的气温变化曲线。

3. 高斯过程回归(GPR)的核心价值

高斯过程回归(Gaussian Process Regression, GPR)是高斯过程在回归任务中的具体应用,与传统回归算法(如多项式回归)的最大区别是:
传统回归仅给出确定性的预测值,而GPR给出的是一个高斯分布(均值+方差),其中:

  • 均值:作为最终的预测值;
  • 方差:表示预测的不确定性,方差越大,预测结果的可靠性越低,反之则越高。

这种概率性预测让GPR在需要考虑预测可信度的场景中(如贝叶斯优化、实验设计、风险决策)具有不可替代的优势。

二、高斯过程的核心组件:核函数(协方差函数)

核函数是高斯过程的"灵魂",它定义了输入点之间的相关性规则,直接决定了模型对数据的拟合能力。选择不同的核函数,模型会呈现出完全不同的行为,常用核函数均有明确的适用场景,本科/研究生阶段重点掌握以下3类核心核函数。

1. 平方指数核(RBF核/高斯核)

最常用的核函数 ,核心假设是:输入点的相关性随距离增大呈指数衰减 ,拟合出的函数极度平滑 ,是处理无明显趋势、平滑非线性数据的首选。

数学表达式:
k(x,x′)=exp(−∥x−x′∥22σ2)k\left(x, x'\right)=exp \left(-\frac{\left\| x-x'\right\| ^{2}}{2 \sigma^{2}}\right)k(x,x′)=exp(−2σ2∥x−x′∥2)

  • ∥x−x′∥\left\| x-x'\right\|∥x−x′∥:两个输入点的欧式距离;
  • σ\sigmaσ:尺度参数 ,控制函数的平滑程度,σ\sigmaσ越大,函数越平滑。

2. 线性核

适用于数据呈线性趋势 的场景,假设函数在不同输入点的变化是线性的,拟合效果等价于线性回归,但能额外提供预测的不确定性。

数学表达式:
k(x,x′)=σ2+θ(x⋅x′)k\left(x, x'\right)=\sigma^{2}+\theta\left(x \cdot x'\right)k(x,x′)=σ2+θ(x⋅x′)

  • σ2\sigma^2σ2:噪声参数;
  • θ\thetaθ:线性系数,控制线性相关的强度。

3. 周期核

专门用于捕捉数据的周期性特征 ,比如气温的年周期变化、股票的周度波动、正弦/余弦曲线等,是处理周期性数据的核心核函数。

数学表达式:
k(x,x′)=exp(−2sin2(π∣x−x′∣p)ℓ2)k\left(x, x'\right)=exp \left(-\frac{2 sin ^{2}\left(\frac{\pi\left|x-x'\right|}{p}\right)}{\ell^{2}}\right)k(x,x′)=exp −ℓ22sin2(pπ∣x−x′∣)

  • ppp:周期参数,决定函数的周期大小;
  • ℓ\ellℓ:平滑参数,控制周期内函数的平滑程度。

核函数的核心特点

  1. 可组合性:多个核函数可以通过加法、乘法组合,拟合更复杂的特征(比如"线性核+周期核"可拟合带线性趋势的周期性数据);
  2. 超参数优化:每个核函数都有对应的超参数(如σ、p、ℓ\sigma、p、\ellσ、p、ℓ),模型训练的核心就是通过优化这些超参数,让核函数更贴合数据特征。

三、高斯过程回归的数学原理(本科/研究生易懂版)

GPR的数学原理基于多元高斯分布的条件分布推导 ,核心是利用训练数据的联合分布,推导出新测试点的预测分布(均值+方差)。以下推导均基于均值函数(m(x)=0)(最常用场景),简化计算且不影响核心逻辑。

1. 训练数据的联合高斯分布

假设我们有nnn个训练样本{(x1,y1),(x2,y2),...,(xn,yn)}\{(x_1,y_1),(x_2,y_2),...,(x_n,y_n)\}{(x1,y1),(x2,y2),...,(xn,yn)},其中yiy_iyi是输入xix_ixi对应的观测值,根据高斯过程的定义,所有训练样本的目标值y=(y1,y2,...,yn)⊤y=(y_1,y_2,...,y_n)^\topy=(y1,y2,...,yn)⊤服从多维高斯分布
y∼N(0,K(X,X))y \sim \mathcal{N}(0, K(X, X))y∼N(0,K(X,X))

  • X=(x1,x2,...,xn)X=(x_1,x_2,...,x_n)X=(x1,x2,...,xn):训练输入数据;
  • K(X,X)K(X, X)K(X,X):训练数据的协方差矩阵 ,大小为n×nn×nn×n,其元素Kij=k(xi,xj)K_{ij}=k(x_i,x_j)Kij=k(xi,xj),由核函数计算得到。

2. 训练+测试数据的联合高斯分布

对于新的测试点x∗x_*x∗,我们希望预测其对应的函数值f∗=f(x∗)f_*=f(x_*)f∗=f(x∗)。高斯过程的连续性保证了训练数据yyy和测试点函数值f∗f_*f∗的联合分布仍为高斯分布
(yf∗)∼N(0,(K(X,X)K(X,x∗)K(x∗,X)K(x∗,x∗)))\left(\begin{array}{l}y \\ f_{*}\end{array}\right) \sim \mathcal{N}\left(0,\left(\begin{array}{ll}K(X, X) & K\left(X, x_{*}\right) \\ K\left(x_{*}, X\right) & K\left(x_{*}, x_{*}\right)\end{array}\right)\right)(yf∗)∼N(0,(K(X,X)K(x∗,X)K(X,x∗)K(x∗,x∗)))

式中各部分含义:

  • K(X,x∗)K(X, x_*)K(X,x∗):训练数据与测试点的协方差向量,大小为n×1n×1n×1,元素为k(xi,x∗)k(x_i,x_*)k(xi,x∗);
  • K(x∗,X)K(x_*, X)K(x∗,X):K(X,x∗)K(X, x_*)K(X,x∗)的转置;
  • K(x∗,x∗)K(x_*, x_*)K(x∗,x∗):测试点自身的协方差,由核函数直接计算得到(标量)。

3. 测试点的条件分布(核心推导)

根据多元高斯分布的条件分布公式 ,在已知训练数据(X)和(y)的情况下,测试点f∗f_*f∗的条件分布 为:
f∗∣X,y∼N(μ∗,σ∗2)f_{*} | X, y \sim \mathcal{N}\left(\mu_*, \sigma_*^{2}\right)f∗∣X,y∼N(μ∗,σ∗2)

这就是GPR的预测分布,其中:

(1)预测均值(确定性预测值)

μ∗=K(X,x∗)⊤K(X,X)−1y\mu_{*}=K\left(X, x_{*}\right)^{\top} K(X, X)^{-1} yμ∗=K(X,x∗)⊤K(X,X)−1y

含义:通过训练数据的协方差矩阵逆、训练与测试点的协方差向量,对训练目标值做加权求和,得到测试点的预测值。

(2)预测方差(不确定性度量)

σ∗2=K(x∗,x∗)−K(X,x∗)⊤K(X,X)−1K(X,x∗)\sigma_{*}^{2}=K\left(x_{*}, x_{*}\right)-K\left(X, x_{*}\right)^{\top} K(X, X)^{-1} K\left(X, x_{*}\right)σ∗2=K(x∗,x∗)−K(X,x∗)⊤K(X,X)−1K(X,x∗)

含义:测试点自身的协方差,减去训练数据对测试点的"解释部分",剩余部分即为预测的不确定性,训练数据覆盖越少的区域,方差越大

关键说明

以上推导是无噪声观测 的情况,实际场景中观测值会包含噪声(如测量误差),只需在协方差矩阵K(X,X)K(X,X)K(X,X)中加入噪声项K(X,X)+σn2IK(X,X)+\sigma_n^2IK(X,X)+σn2I (σn\sigma_nσn为噪声标准差,I为单位矩阵),推导逻辑完全不变,这也是实际代码中最常用的形式。

四、高斯过程回归的完整算法流程

GPR的流程分为模型训练预测两个阶段,输入为训练数据和测试点,输出为测试点的预测均值和方差,步骤清晰且可落地,适合本科/研究生动手实现。

输入与输出

  • 输入:训练集{(x1,y1),(x2,y2),...,(xn,yn)}\{(x_1,y_1),(x_2,y_2),...,(x_n,y_n)\}{(x1,y1),(x2,y2),...,(xn,yn)}、测试点x∗x_*x∗、选定的核函数k(x,x′)k(x,x')k(x,x′);
  • 输出:测试点x∗x_*x∗的预测均值μ∗\mu_*μ∗、预测方差σ∗2\sigma_*^2σ∗2。

具体步骤

阶段1:模型训练(学习核函数超参数)
  1. 选择核函数:根据数据特征选择合适的核函数(如平滑数据选RBF核,周期性数据选周期核);
  2. 构造协方差矩阵 :计算训练数据的协方差矩阵K(X,X)K(X,X)K(X,X),并加入噪声项K(X,X)+σn2IK(X,X)+\sigma_n^2IK(X,X)+σn2I(适配实际有噪声的数据);
  3. 优化核函数超参数 :通过最大化边际似然函数 优化核函数的超参数(如σ、p、ℓ\sigma、p、\ellσ、p、ℓ)和噪声参数(\sigma_n),常用数值优化方法(梯度下降、L-BFGS)实现;
    边际似然函数:p(y∣X)=N(y∣0,K(X,X)+σn2I)p(y | X)=\mathcal{N}(y | 0, K(X, X)+\sigma_n^2I)p(y∣X)=N(y∣0,K(X,X)+σn2I)。
阶段2:模型预测(推导测试点的分布)
  1. 计算协方差项
    • 训练数据与测试点的协方差向量K(X,x∗)K(X,x_*)K(X,x∗);
    • 测试点自身的协方差K(x∗,x∗)K(x_*,x_*)K(x∗,x∗);
  2. 求解预测均值 :μ∗=K(X,x∗)⊤K(X,X)−1y\mu_{*}=K\left(X, x_{*}\right)^{\top} K(X, X)^{-1} yμ∗=K(X,x∗)⊤K(X,X)−1y;
  3. 求解预测方差 :σ∗2=K(x∗,x∗)−K(X,x∗)⊤K(X,X)−1K(X,x∗)\sigma_{*}^{2}=K\left(x_{*}, x_{*}\right)-K\left(X, x_{*}\right)^{\top} K(X, X)^{-1} K\left(X, x_{*}\right)σ∗2=K(x∗,x∗)−K(X,x∗)⊤K(X,X)−1K(X,x∗);
  4. 输出结果 :测试点的预测分布N(μ∗,σ∗2)\mathcal{N}(\mu_*, \sigma_*^2)N(μ∗,σ∗2),用均值作为预测值,方差衡量不确定性。

核心关键点

GPR的"训练"并非学习模型参数 (非参数模型无固定维度参数),而是优化核函数的超参数,让核函数能更精准地描述数据间的相关性,这是与参数化模型(如线性回归、神经网络)的本质区别。

五、高斯过程回归实战案例(Python+PyTorch/GPyTorch)

本案例以拟合带噪声的正弦函数为目标(经典的非线性平滑数据场景),使用GPyTorch(高斯过程专用库)实现GPR,全程代码注释清晰,可直接运行,同时生成4个核心分析图帮助理解GPR的特性,适合本科/研究生动手实验。

案例思路

  1. 生成带噪声的训练数据:基于正弦函数生成真实曲线,加入高斯噪声模拟实际观测数据;
  2. 定义GPR模型:使用常数均值函数+RBF核(最常用组合),适配平滑非线性数据;
  3. 模型训练:用Adam优化器最小化负对数边际似然,学习核函数超参数和噪声参数;
  4. 模型预测:在测试集上得到预测均值、方差和95%置信区间;
  5. 可视化分析:展示训练数据与真实函数、预测均值与置信区间、预测方差、训练损失曲线。

完整可运行代码

python 复制代码
import torch
import gpytorch
import numpy as np
import matplotlib.pyplot as plt

# 设置随机种子,保证结果可复现(本科/研究生实验必备)
torch.manual_seed(42)
np.random.seed(42)

# 1. 定义真实函数(正弦函数,平滑非线性)
def true_function(x):
    return torch.sin(2 * np.pi * x)

# 2. 生成训练数据和测试数据
n_train = 200  # 训练样本数
train_x = torch.linspace(0, 1, n_train)  # 输入区间[0,1]均匀取样
noise_std = 0.2  # 噪声标准差
train_y = true_function(train_x) + noise_std * torch.randn(train_x.size())  # 加入高斯噪声

n_test = 500  # 测试样本数
test_x = torch.linspace(0, 1, n_test)  # 测试输入,更密集以展示平滑曲线

# 3. 定义高斯过程回归模型(继承GPyTorch的ExactGP,精确高斯过程)
class ExactGPModel(gpytorch.models.ExactGP):
    def __init__(self, train_x, train_y, likelihood):
        super(ExactGPModel, self).__init__(train_x, train_y, likelihood)
        self.mean_module = gpytorch.means.ConstantMean()  # 均值函数:常数均值(等价于m(x)=0)
        # 协方差函数:ScaleKernel包装RBF核,自动学习核函数超参数
        self.covar_module = gpytorch.kernels.ScaleKernel(gpytorch.kernels.RBFKernel())

    def forward(self, x):
        mean_x = self.mean_module(x)  # 计算均值
        covar_x = self.covar_module(x)  # 计算协方差
        return gpytorch.distributions.MultivariateNormal(mean_x, covar_x)  # 返回多元高斯分布

# 4. 初始化似然函数和模型
likelihood = gpytorch.likelihoods.GaussianLikelihood()  # 高斯似然,适配回归任务
model = ExactGPModel(train_x, train_y, likelihood)

# 5. 模型训练
model.train()  # 切换训练模式
likelihood.train()
optimizer = torch.optim.Adam(model.parameters(), lr=0.1)  # 优化器:Adam
# 损失函数:精确边际对数似然,最小化负对数边际似然等价于最大化边际似然
mll = gpytorch.mlls.ExactMarginalLogLikelihood(likelihood, model)

n_iter = 100  # 训练迭代次数
training_loss = []  # 记录训练损失
for i in range(n_iter):
    optimizer.zero_grad()  # 清空梯度
    output = model(train_x)  # 模型前向传播
    loss = -mll(output, train_y)  # 计算负对数边际似然损失
    loss.backward()  # 反向传播
    optimizer.step()  # 更新参数
    training_loss.append(loss.item())
    if (i+1) % 10 == 0:  # 每10次迭代打印一次损失
        print(f'Iteration {i+1}/{n_iter} - Loss: {loss.item():.3f}')

# 6. 模型预测
model.eval()  # 切换评估模式
likelihood.eval()
with torch.no_grad(), gpytorch.settings.fast_pred_var():  # 关闭梯度,加速预测
    test_pred = likelihood(model(test_x))  # 得到测试点的预测分布
    pred_mean = test_pred.mean  # 预测均值
    pred_var = test_pred.variance  # 预测方差
    lower, upper = test_pred.confidence_region()  # 95%置信区间(均值±2倍标准差)

# 7. 可视化4个核心结果(本科/研究生重点分析图)
fig, axes = plt.subplots(2, 2, figsize=(14, 10))
fig.suptitle('Gaussian Process Regression (GPR) Example', fontsize=16)

# 子图1:训练数据与真实函数
axes[0, 0].scatter(train_x.numpy(), train_y.numpy(), color='red', s=20, label='Training Data (with noise)')
axes[0, 0].plot(test_x.numpy(), true_function(test_x).numpy(), color='blue', linewidth=2, label='True Function (sin)')
axes[0, 0].set_title('Training Data and True Function', fontsize=12)
axes[0, 0].set_xlabel('x')
axes[0, 0].set_ylabel('y')
axes[0, 0].legend()
axes[0, 0].grid(True, linestyle='--', alpha=0.6)

# 子图2:GPR预测均值与95%置信区间
axes[0, 1].plot(test_x.numpy(), pred_mean.numpy(), color='magenta', linewidth=2, label='Predicted Mean')
axes[0, 1].fill_between(test_x.numpy(), lower.numpy(), upper.numpy(), color='magenta', alpha=0.3, label='95% Confidence Interval')
axes[0, 1].scatter(train_x.numpy(), train_y.numpy(), color='red', s=20, label='Training Data', zorder=10)
axes[0, 1].set_title('GPR Predicted Mean and 95% Confidence Interval', fontsize=12)
axes[0, 1].set_xlabel('x')
axes[0, 1].set_ylabel('y')
axes[0, 1].legend()
axes[0, 1].grid(True, linestyle='--', alpha=0.6)

# 子图3:预测方差(不确定性)
axes[1, 0].plot(test_x.numpy(), pred_var.numpy(), color='green', linewidth=2, label='Predicted Variance')
axes[1, 0].set_title('Predicted Variance (Uncertainty)', fontsize=12)
axes[1, 0].set_xlabel('x')
axes[1, 0].set_ylabel('Variance')
axes[1, 0].legend()
axes[1, 0].grid(True, linestyle='--', alpha=0.6)

# 子图4:训练损失曲线(负对数边际似然)
axes[1, 1].plot(range(1, n_iter+1), training_loss, color='orange', linewidth=2, label='Training Loss')
axes[1, 1].set_title('Negative Log Marginal Likelihood Loss Curve', fontsize=12)
axes[1, 1].set_xlabel('Iteration')
axes[1, 1].set_ylabel('Loss Value')
axes[1, 1].legend()
axes[1, 1].grid(True, linestyle='--', alpha=0.6)

plt.tight_layout(rect=[0, 0.03, 1, 0.95])
plt.show()

案例结果分析(本科/研究生重点理解)

  1. 预测均值:洋红色曲线几乎与真实正弦曲线重合,说明GPR能精准拟合平滑非线性数据;
  2. 95%置信区间:覆盖了大部分训练数据,且区间宽度均匀,说明模型的不确定性估计合理;
  3. 预测方差:整体方差较小且平稳,说明模型对该数据的预测可信度高(若测试点远离训练数据,方差会显著增大);
  4. 损失曲线:随着迭代次数增加,损失快速下降并趋于平稳,说明核函数超参数已收敛到最优值。

六、高斯过程的适用场景

高斯过程的核心优势是概率性预测、非参数灵活拟合、自然的不确定性度量 ,同时受限于计算复杂度,其适用场景有明确的边界,本科/研究生需明确其适用场景运用前提,避免盲目使用。

1. 核心适用场景

(1)回归问题(核心场景)

适用于小/中等规模、平滑非线性、需要不确定性度量的回归任务,比如:

  • 物理实验数据拟合(如温度、压力的测量数据,带测量噪声);
  • 小样本的预测问题(如稀缺资源的产量预测,数据量少)。
(2)贝叶斯优化

最经典的应用场景 ,用于优化黑箱函数(未知函数形态、计算成本高、不可导),比如:

  • 机器学习模型的超参数调优(替代网格搜索/随机搜索,效率更高);
  • 工业实验优化(如化工反应的工艺参数优化,减少实验次数)。
(3)时间序列预测

适用于平滑的时间序列数据,比如气温预测、水文数据预测,能捕捉数据的趋势和平滑性,同时给出预测的不确定性。

(4)分类问题(扩展场景)

通过将GPR的输出映射到概率空间(如逻辑斯蒂变换),可实现二分类/多分类,适合需要概率性分类结果的场景(如疾病诊断,给出患病概率+不确定性)。

(5)不确定性建模

任何需要量化预测可信度的场景,比如:

  • 自动驾驶的环境预测(量化障碍物位置的预测不确定性,提升安全性);
  • 金融风险预测(量化股价预测的不确定性,辅助风险决策)。

2. 运用前提条件(本科/研究生必记)

高斯过程并非万能,使用时需满足以下条件,否则效果会大幅下降或计算成本过高:

  1. 数据量小/中等 :训练的时间复杂度为O(n3)O(n^3)O(n3)(n为样本数),内存复杂度为O(n2)O(n^2)O(n2),适合n<10000n<10000n<10000的场景,大数据集下效率极低;
  2. 数据平滑/连续 :高斯过程的核心假设是数据平滑,对剧烈波动、离散的非平滑数据拟合效果差;
  3. 合适的核函数:必须根据数据特征选择核函数,无先验知识时可通过核函数组合/交叉验证选择;
  4. 数据含噪声:高斯过程能自然处理噪声数据,若数据无噪声,需手动设置极小的噪声参数。

七、高斯过程的优缺点(对比传统回归算法)

将高斯过程与本科/研究生阶段学过的线性回归、多项式回归对比,明确其核心优势和局限性,便于算法选型。

核心优点

  1. 概率性预测 :唯一能自然给出预测值+不确定性的回归模型,这是传统回归算法不具备的核心优势;
  2. 非参数特性:无需预设函数形态,避免了"模型假设与真实数据不符"的问题,能灵活捕捉复杂非线性特征;
  3. 模型灵活:通过核函数的选择/组合,可适配平滑、线性、周期性等多种数据特征,无需修改模型结构;
  4. 抗过拟合 :平滑性假设让模型在小样本场景下不易过拟合,而多项式回归在小样本下易因阶数过高过拟合;
  5. 贝叶斯天然适配:高斯过程是贝叶斯框架下的模型,能自然融入先验知识,适合贝叶斯建模。

核心缺点

  1. 计算复杂度高 :O(n3)O(n^3)O(n3)的时间复杂度,大数据集下训练耗时极长,甚至无法运行;
  2. 内存消耗大:需要存储(n×n)的协方差矩阵,样本数过大时会出现内存溢出;
  3. 核函数选择困难:模型性能高度依赖核函数,无通用的核函数选择方法,需要经验或交叉验证;
  4. 超参数优化繁琐:核函数的超参数较多,且优化过程需要数值方法,对优化器的选择和学习率敏感;
  5. 高维数据拟合差:对于高维特征数据(如图片、文本),核函数难以捕捉特征间的复杂关系,拟合效果不如神经网络。

与多项式回归的核心对比(本科/研究生重点区分)

特性 高斯过程回归(GPR) 多项式回归
模型类型 非参数模型 参数模型
预测结果 概率分布(均值+方差) 确定性值
非线性拟合能力 强(核函数灵活) 中等(仅捕捉平滑非线性)
不确定性度量 支持(核心优势) 不支持
计算复杂度 高(O(n3)O(n^3)O(n3)) 低(O(n)O(n)O(n))
小样本表现 优秀(抗过拟合) 一般(易过拟合)
大数据集表现 差(计算/内存瓶颈) 优秀(效率高)
可解释性 中等(核函数可解释,模型整体较抽象) 高(参数物理意义明确)

八、核心总结(本科/研究生必背)

  1. 高斯过程是无限维度的高斯分布 ,核心由均值函数 (通常为0)和协方差函数(核函数)定义,核函数是其灵魂,决定了数据的相关性规则;
  2. 高斯过程回归(GPR)的核心价值是概率性预测,输出预测均值(预测值)和方差(不确定性),这是与传统回归算法的本质区别;
  3. GPR的数学原理基于多元高斯分布的条件分布推导 ,训练过程并非学习参数,而是优化核函数的超参数
  4. GPR的优势是非参数灵活、概率预测、抗过拟合 ,缺点是计算复杂度高、内存消耗大、核函数选择困难
  5. GPR适合小/中等规模、平滑非线性、需要不确定性度量的场景(如贝叶斯优化、小样本回归、概率决策),大数据集/高维数据场景优先选择神经网络、随机森林等算法;
  6. 本科/研究生阶段学习GPR的重点:理解核函数的作用、掌握GPR的概率预测特性、能动手实现简单的GPR模型并分析结果。
相关推荐
古译汉书2 小时前
【IoT死磕系列】Day 3:学习HTTP!实战:STM32手写GET请求获取天气实战(附源码+八股文)
数据结构·stm32·物联网·网络协议·学习·算法·http
喜欢吃燃面2 小时前
基础算法:枚举(上)
c++·学习·算法
郝学胜-神的一滴2 小时前
计算思维:数字时代的超级能力
开发语言·数据结构·c++·人工智能·python·算法
m0_531237172 小时前
C语言-数组练习
c语言·开发语言·算法
识君啊2 小时前
Java 动态规划 - 力扣 零钱兑换与完全平方数 深度解析
java·算法·leetcode·动态规划·状态转移
xiaoye-duck2 小时前
《算法题讲解指南:优选算法-滑动窗口》--09长度最小的子数串,10无重复字符的最长字串
c++·算法
Frostnova丶2 小时前
LeetCode 762 二进制表示中质数个计算置位
算法·leetcode
WZ188104638692 小时前
LeetCode第367题
算法·leetcode
季明洵2 小时前
Java实现循环队列、栈实现队列、队列实现栈
java·数据结构·算法··队列