高斯过程(GP)- GaussianProcess
高斯过程(Gaussian Process, GP)是一类非参数贝叶斯方法,可统一用于回归与分类。其核心思想是:将未知函数视为随机过程,并通过核函数定义样本间相似性,再基于观测数据更新后验分布。
高斯过程(GP)- GaussianProcess
1. 方法概述
高斯过程(Gaussian Process, GP)是一类非参数贝叶斯方法,可统一用于回归与分类。其核心思想是:将未知函数视为随机过程,并通过核函数定义样本间相似性,再基于观测数据更新后验分布。
设训练集为
$$ \mathcal{D}=\{(x_i,y_i)\}_{i=1}^{n},\quad x_i\in\mathbb{R}^d \tag{1} $$
其中,\(y_i\) 在回归中为连续值,在分类中为离散标签。
高斯过程的先验写为
$$ f(x)\sim \mathcal{GP}\big(m(x),k(x,x')\big) \tag{2} $$
工程中通常取零均值 \(m(x)=0\)。
2. 公共部分(预处理与符号)
本模块在训练前支持缺失处理、One-Hot 编码、缩放、特征选择(方差阈值/互信息 KBest)与降维(PCA/KPCA)。这些步骤均在训练流程内拟合,避免数据泄漏。
2.1 常见预处理公式
Z-score 标准化: $$ z_{ij}=\frac{x_{ij}-\mu_j}{\sigma_j} \tag{3} $$
Min-Max 缩放: $$ z_{ij}=\frac{x_{ij}-\min x_j}{\max x_j-\min x_j+\varepsilon} \tag{4} $$
One-Hot 编码: $$ x^{(c)}_{ij}=\mathbf{1}(x_{ij}=c) \tag{5} $$
2.2 符号说明
| 符号 | 含义 |
|---|---|
| \(n\) | 样本数 |
| \(d\) | 特征维度 |
| \(X\in\mathbb{R}^{n\times d}\) | 训练特征矩阵 |
| \(y\) | 训练标签/目标值 |
| \(k(\cdot,\cdot)\) | 核函数 |
| \(K\) | 核矩阵,\(K_{ij}=k(x_i,x_j)\) |
| \(\sigma_n^2\) | 观测噪声方差(WhiteKernel 或 \(\alpha\)) |
| \(x_*\) | 待预测样本 |
| \(\hat{y}\) | 预测值 |
| \(TP,FP,TN,FN\) | 分类混淆矩阵四要素 |
3. 回归版(GaussianProcessRegressor)
3.1 观测模型
回归任务假设
$$ y_i=f(x_i)+\epsilon_i,\quad \epsilon_i\sim\mathcal{N}(0,\sigma_n^2) \tag{6} $$
由此得到训练输出分布
$$ y\mid X\sim \mathcal{N}(0, K(X,X)+\sigma_n^2 I) \tag{7} $$
3.2 后验预测分布
设
$$ K_y=K(X,X)+\sigma_n^2 I \tag{8} $$
测试点 \(x_*\) 的后验均值与方差为
$$ \mu_*=k(x_*,X)K_y^{-1}y \tag{9} $$
$$ \sigma_*^2=k(x_*,x_*)-k(x_*,X)K_y^{-1}k(X,x_*) \tag{10} $$
回归预测可取 \(\hat{y}_*=\mu_*\)。
3.3 对数边际似然(超参数学习)
GP 超参数(如 length_scale、noise_level)通常通过最大化对数边际似然估计:
$$ \log p(y\mid X,\theta)= -\frac{1}{2}y^\top K_y^{-1}y-\frac{1}{2}\log|K_y|-\frac{n}{2}\log(2\pi) \tag{11} $$
其中 \(\theta\) 表示核函数及噪声参数。模块中 n_restarts_optimizer 对应多次重启优化。
3.4 回归评价指标
MAE: $$ \mathrm{MAE}=\frac{1}{n}\sum_{i=1}^{n}|y_i-\hat{y}_i| \tag{12} $$
RMSE: $$ \mathrm{RMSE}=\sqrt{\frac{1}{n}\sum_{i=1}^{n}(y_i-\hat{y}_i)^2} \tag{13} $$
决定系数: $$ R^2=1-\frac{\sum_{i=1}^{n}(y_i-\hat{y}_i)^2}{\sum_{i=1}^{n}(y_i-\bar{y})^2} \tag{14} $$
4. 分类版(GaussianProcessClassifier)
4.1 潜变量模型
分类中引入潜函数 \(f(x)\),并通过链接函数映射到概率:
$$ p(y_i=1\mid f_i)=\sigma(f_i),\quad \sigma(t)=\frac{1}{1+e^{-t}} \tag{15} $$
二分类似然可写为
$$ p(y\mid f)=\prod_{i=1}^{n}\sigma(f_i)^{y_i}\big(1-\sigma(f_i)\big)^{1-y_i} \tag{16} $$
4.2 后验近似与预测
由于分类似然非高斯,后验
$$ p(f\mid X,y)\propto p(y\mid f)p(f\mid X) \tag{17} $$
通常需近似求解(如 Laplace 近似)。预测概率可表示为
$$ p(y_*=1\mid x_*,\mathcal{D})=\int \sigma(f_*)\,p(f_*\mid x_*,\mathcal{D})\,df_* \tag{18} $$
工程实现中多分类一般采用 one-vs-rest 方式构造每类概率并取最大概率类别。
4.3 分类评价指标
准确率: $$ \mathrm{Accuracy}=\frac{TP+TN}{TP+TN+FP+FN} \tag{19} $$
精确率 / 召回率: $$ \mathrm{Precision}=\frac{TP}{TP+FP},\quad \mathrm{Recall}=\frac{TP}{TP+FN} \tag{20} $$
F1: $$ F1=\frac{2\cdot \mathrm{Precision}\cdot \mathrm{Recall}}{\mathrm{Precision}+\mathrm{Recall}} \tag{21} $$
ROC 相关量: $$ \mathrm{TPR}=\frac{TP}{TP+FN},\quad \mathrm{FPR}=\frac{FP}{FP+TN} \tag{22} $$
AUC: $$ \mathrm{AUC}=\int_0^1 \mathrm{TPR}(\mathrm{FPR})\,d(\mathrm{FPR}) \tag{23} $$
PR 曲线中的 AP: $$ \mathrm{AP}=\int_0^1 \mathrm{Precision}(\mathrm{Recall})\,d(\mathrm{Recall}) \tag{24} $$
5. 核函数体系(与模块实现一致)
5.1 RBF 核
$$ k_{\mathrm{RBF}}(x,z)=\exp\left(-\frac{1}{2}(x-z)^\top\Lambda^{-1}(x-z)\right) \tag{25} $$
其中 \(\Lambda=\mathrm{diag}(\ell_1^2,\ldots,\ell_d^2)\)。当所有 \(\ell_j\) 相同为各向同性;不同则为 ARD(自动相关性判别)。
5.2 Matérn 核
$$ k_{\mathrm{Matérn}}(r)=\frac{2^{1-\nu}}{\Gamma(\nu)}\left(\frac{\sqrt{2\nu}r}{\ell}\right)^\nu K_\nu\left(\frac{\sqrt{2\nu}r}{\ell}\right), \quad r=\|x-z\| \tag{26} $$
5.3 Rational Quadratic 核
$$ k_{\mathrm{RQ}}(x,z)=\left(1+\frac{\|x-z\|^2}{2\alpha\ell^2}\right)^{-\alpha} \tag{27} $$
5.4 DotProduct(线性核)
$$ k_{\mathrm{Dot}}(x,z)=\sigma_0^2 + x^\top z \tag{28} $$
5.5 WhiteKernel(噪声核)
$$ k_{\mathrm{White}}(x,z)=\sigma_n^2\,\delta_{xz} \tag{29} $$
最终常用复合核:
$$ k(x,z)=k_{\mathrm{base}}(x,z)+k_{\mathrm{White}}(x,z) \tag{30} $$
6. ARD 特征相关性(论文可直接引用)
在 ARD 场景下,若核学习得到每维长度尺度 \(\ell_j\),则可定义特征相关性(相对重要度)为
$$ r_j\propto \frac{1}{\ell_j^2} \tag{31} $$
归一化后
$$ \tilde r_j=\frac{\ell_j^{-2}}{\sum_{k=1}^{d}\ell_k^{-2}},\quad \sum_{j=1}^{d}\tilde r_j=1 \tag{32} $$
模块输出的 feature_relevance_topN.png 与“特征重要性”Sheet 基于此计算。
7. 训练、交叉验证与学习曲线
7.1 训练/测试划分
若测试集比例为 \(t\),则
$$ n_{\mathrm{test}}=\lceil nt\rceil,\quad n_{\mathrm{train}}=n-n_{\mathrm{test}} \tag{33} $$
7.2 K 折交叉验证指标均值
$$ \bar M=\frac{1}{K}\sum_{k=1}^{K}M_k \tag{34} $$
7.3 学习曲线统计
设训练规模序列为 \(s_q\),第 \(q\) 个规模下第 \(k\) 折得分为 \(M_{qk}\),则
$$ \mu_q=\frac{1}{K}\sum_{k=1}^{K}M_{qk},\quad \sigma_q=\sqrt{\frac{1}{K}\sum_{k=1}^{K}(M_{qk}-\mu_q)^2} \tag{35} $$
图中通常绘制 \(\mu_q\pm\sigma_q\) 阴影区间。
8. 复杂度与适用范围
GP 的主要计算瓶颈在核矩阵求逆/分解,训练复杂度约为
$$ \mathcal{O}(n^3) \tag{36} $$
存储复杂度约为
$$ \mathcal{O}(n^2) \tag{37} $$
因此更适合中小样本;大样本场景建议控制 CV 折数、学习曲线样本上限,或考虑稀疏近似方法。
9. 与本软件输出对应关系(论文写作友好)
- 分类输出:Accuracy、F1、AUC/AP、混淆矩阵、ROC/PR、阈值曲线、校准曲线、类别分布、学习曲线。
- 回归输出:RMSE、MAE、R²、预测-真实图、残差直方图、残差-Q-Q、残差-拟合、学习曲线。
- Excel 关键 Sheet:
原始数据、处理后数据、训练集、测试集、指标、预测- 分类附加:
混淆矩阵、分类报告 - 公共:
图表清单、参数、参数与配置(分组)、报告摘要 - 可选:
CV汇总、CV折i_预测、验证集
10. 论文写作模板
- “本文采用高斯过程模型进行 \(\text{分类/回归}\) 建模,先验形式见式(2),核函数采用 \(\text{RBF/Matérn/RQ/Dot}\) 并叠加噪声核(式(30))。”
- “回归任务基于后验预测均值与方差(式(9)–式(10))进行推断,并以 RMSE、MAE 与 \(R^2\)(式(12)–式(14))评价模型性能。”
- “分类任务采用高斯过程分类框架,其后验概率由式(18)给出,并结合 Accuracy、F1、AUC/AP(式(19)–式(24))进行综合评估。”
- “为解释变量贡献,引入 ARD 长度尺度并按式(31)–式(32)计算特征相关性,输出 Top-N 结果用于解释分析。”
11. 与代码实现的对应关系
高斯过程程序对应的关键代码位于 具体的算法/高斯过程(GP)- GaussianProcess/core/critic_calculator.py。真实实现与普通公式说明相比,多了 ARD 相关性导出、复杂度保护、模型模板导出等程序化细节。
需要在 md 中明确以下内容:
-
GP 程序显式考虑了复杂度约束
代码中对学习曲线与交叉验证的样本规模做了上限采样与保护,因为 GP 的计算复杂度较高。论文中若样本量较大,应说明是经过采样评估还是全量评估。 -
ARD 结果会被转成“特征相关性”输出
当启用ard=True时,程序会根据各维长度尺度计算相关性近似量,并导出 Top-N 图与表。因此文中若解释变量重要性,应写成“基于 ARD 长度尺度的相关性解释”,而不是套用树模型的重要性定义。 -
结果目录含独立预测模板
程序会导出gaussian_process_model.pkl、模型元数据以及predict_template.py,并在模板中处理输入列对齐问题,便于结果复用。 -
Excel 结果比理论公式更面向复核
除原始数据、处理后数据、训练集、测试集、指标、预测、混淆矩阵、分类报告、学习曲线、特征重要性、图表清单、参数外,还支持CV汇总、CV折i_预测、验证集、参数与配置(分组)、报告摘要。 -
分类与回归都支持扩展图表
分类任务可输出 ROC、PR、阈值曲线、校准曲线与类别分布;回归任务可输出预测-真实图和学习曲线。论文中应把这些作为“实验结果展示层”,与 GP 后验公式分开叙述。
12. 论文写作模板
方法描述模板:
“本文采用高斯过程模型建立预测框架。通过选择合适核函数刻画样本间相似性,并在训练集上完成超参数优化。对于需要解释变量作用的情形,进一步启用 ARD 机制,根据各维长度尺度评估特征相关性。考虑到高斯过程在大样本场景下计算开销较大,模型评估结合训练测试划分与受控规模的交叉验证/学习曲线分析共同完成。”
结果描述模板:
“程序结果目录包含处理后数据、逐样本预测、整体指标、参数配置、图表清单以及基于 ARD 的特征相关性结果。分类任务进一步给出混淆矩阵、ROC/PR、阈值与校准图;回归任务则给出预测-真实对比与学习曲线。因此论文中既可以报告 GP 的预测精度,也可以补充核函数设定、ARD 解释结果及复杂度控制下的稳定性分析。”
13. 单篇终审补充
13.1 图题与表题对齐建议
原始数据表可写为:表X 高斯过程原始数据表。处理后数据表可写为:表X 高斯过程处理后数据表。训练集表可写为:表X 高斯过程训练集数据表。测试集表可写为:表X 高斯过程测试集数据表。指标表可写为:表X 高斯过程性能指标表。预测表可写为:表X 高斯过程逐样本预测结果表。特征重要性表可写为:表X 高斯过程 ARD 特征相关性表。图表清单表可写为:表X 高斯过程图表索引表。参数表可写为:表X 高斯过程参数设置表。CV汇总表可写为:表X 高斯过程交叉验证汇总表。CV折1_预测、CV折2_预测可分别写为:表X 高斯过程第1折、第2折预测结果表。验证集表可写为:表X 高斯过程验证集结果表。参数与配置(分组)表可写为:表X 高斯过程分组参数配置表。报告摘要表可写为:表X 高斯过程结果摘要表。feature_relevance_topN.png建议写为:图X 高斯过程 ARD 特征相关性图。pred_vs_true.png建议写为:图X 高斯过程预测值与真实值散点图。true_vs_pred_line.png建议写为:图X 高斯过程真实值与预测值对比图。residuals_hist.png建议写为:图X 高斯过程残差直方图。residuals_qq.png建议写为:图X 高斯过程残差 Q-Q 图。residuals_vs_pred.png建议写为:图X 高斯过程残差与预测值关系图。
13.2 终审说明
- 当前最适合作为终审证据的代表性目录可采用
具体的算法/高斯过程(GP)- GaussianProcess/results/高斯过程(GP)- GaussianProcess分析结果_20260329_163818。该目录同时具备结果簿、实体图和 repro 脚本。 - 真实工作表为
原始数据/处理后数据/训练集/测试集/指标/预测/特征重要性/图表清单/参数/CV汇总/CV折1_预测/CV折2_预测/验证集/参数与配置(分组)/报告摘要。与文档自述一致,但当前代表性目录明显是回归场景。 - 当前真实图文件稳定为
feature_relevance_topN.png、pred_vs_true.png、true_vs_pred_line.png、residuals_hist.png、residuals_qq.png、residuals_vs_pred.png。论文若解释变量影响,应写成“基于 ARD 长度尺度的相关性解释”,不要误写成树模型特征重要性。 - 当前复现脚本为
repro_template_20260329_163818.py,采用SRC_FILE = 'repro_inputs/sample_regression.xlsx'。因此高斯过程这篇可以把repro_inputs/...作为标准复现输入口径。 - 这篇文档同样覆盖分类与回归两类任务,但本轮终审证据是回归场景。若后续补强,可再单独补一套分类结果目录的真实 sheet 与图名。
13.3 全量强化补充
本篇终审补充绑定的真实算法目录为 具体的算法/高斯过程(GP)- GaussianProcess,本次采用的代表性结果目录为 具体的算法/高斯过程(GP)- GaussianProcess/results/高斯过程(GP)- GaussianProcess分析结果_20260329_163818。
该目录当前只保留一份主结果工作簿:
高斯过程(GP)- GaussianProcess分析结果_20260329_163818.xlsx
实测工作表为:
原始数据处理后数据训练集测试集指标预测特征重要性图表清单参数CV汇总CV折1_预测CV折2_预测验证集参数与配置(分组)报告摘要
这轮证据明确是回归场景,同时包含 ARD 相关性意义下的 特征重要性 表。因此论文解释变量贡献时应写“基于 ARD 长度尺度的特征相关性”,不要套用树模型特征重要性概念。
当前目录中的真实图文件为:
feature_relevance_topN.pngpred_vs_true.pngtrue_vs_pred_line.pngresiduals_hist.pngresiduals_qq.pngresiduals_vs_pred.png
因此本轮图证据覆盖 ARD 相关性、预测对比和残差诊断,不包含分类 ROC/PR 图。
复现实物方面,该目录实际包含:
具体的算法/高斯过程(GP)- GaussianProcess/results/高斯过程(GP)- GaussianProcess分析结果_20260329_163818/repro_template_20260329_163818.py具体的算法/高斯过程(GP)- GaussianProcess/results/高斯过程(GP)- GaussianProcess分析结果_20260329_163818/repro_inputs/sample_regression.xlsx
脚本中明确写成 SRC_FILE = 'repro_inputs/sample_regression.xlsx'。因此高斯过程这一篇当前已经是 repro_inputs/... 相对路径复现口径。
13.4 软件实现核查补充(2026-07)
- 当前源码核查到的实现同时覆盖分类与回归;本轮代表性结果目录是回归场景,因此正文中的特征重要性应按 ARD 长度尺度的相关性解释,而不是树模型式的重要性排名。
- 导出图证包括
pred_vs_true、true_vs_pred_line、残差直方图、残差 Q-Q 图、残差-预测图以及feature_relevance_topN,说明该模块的核心证据链是“预测拟合 + 残差诊断 + 特征相关性”。 - 复现脚本使用
repro_inputs/sample_regression.xlsx,这一点已经和源码中的相对路径口径对齐;文中可直接按该输入路径说明。 - 若正文讨论核函数、噪声项、ARD、K 折与学习曲线,可以保留为标准理论与参数说明,但结果解释必须回到实际导出的回归表和图。