一步步上手高斯过程:从零搭建你的第一个AI模型
本文将带你从零开始,安装Python环境并运行第一个高斯过程模型,理解其核心概念。
高斯过程是一种强大的AI方法,可以让你用少量数据做出预测。本文面向完全零基础的读者,带你一步步安装工具并跑通第一个模型。
准备环境:安装Python和必要库
首先,你需要一个Python环境。推荐安装Anaconda(一个包含Python和常用科学计算工具的软件包)。下载地址:https://www.anaconda.com/products/individual,选择对应操作系统的版本。安装时一路默认即可,注意勾选“Add Anaconda to my PATH environment variable”(将Anaconda加入系统路径),否则后续需手动配置。
安装完成后,打开终端(Mac/Linux)或Anaconda Prompt(Windows),输入以下命令安装高斯过程所需的库:
pip install numpy scipy matplotlib scikit-learn:这些是科学计算和机器学习的基础库。pip install GPy:这是一个专门用于高斯过程的Python库。
等待安装完成,如果遇到网络慢,可以尝试使用国内镜像,例如:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple GPy。
编写第一个高斯过程代码
现在,让我们写一个简单的例子。创建一个新文件,比如gp_demo.py,输入以下代码:
import numpy as np
import GPy
# 生成一些示例数据
X = np.random.rand(10, 1) * 10 # 10个随机输入点
y = np.sin(X) + np.random.randn(10, 1) * 0.1 # 带噪声的正弦函数
# 创建高斯过程模型
kernel = GPy.kern.RBF(input_dim=1, variance=1., lengthscale=1.) # RBF核,控制平滑度
model = GPy.models.GPRegression(X, y, kernel)
# 训练模型
model.optimize()
# 打印模型参数
print(model)
这段代码做了以下事情:
- 生成数据:创建10个随机点,目标值来自正弦函数并添加噪声。
- 定义核函数:RBF核(径向基函数核)是一种常用的核,用于衡量输入点之间的相似性。这里设置初始参数。
- 创建并训练模型:
GPRegression是GPy中的高斯过程回归模型。调用optimize()会自动调整核参数以拟合数据。
运行代码:在终端中执行python gp_demo.py。如果一切正常,你会看到类似下面的输出,显示优化后的核参数和噪声方差:
Name : GP regression
Objective : ...
Number of Parameters : 3
Number of Optimization Steps : ...
...
验证是否成功:可视化预测结果
为了直观看到模型效果,我们可以绘制预测曲线。在代码末尾添加:
import matplotlib.pyplot as plt
# 生成测试点
X_test = np.linspace(0, 10, 100).reshape(-1, 1)
# 预测均值与方差
mean, var = model.predict(X_test)
# 绘图
plt.figure()
plt.plot(X, y, 'kx', mew=2, label='训练数据')
plt.plot(X_test, mean, 'b-', label='预测均值')
plt.fill_between(X_test.flatten(), (mean-2*np.sqrt(var)).flatten(), (mean+2*np.sqrt(var)).flatten(), alpha=0.2, color='b', label='95%置信区间')
plt.legend()
plt.show()
重新运行python gp_demo.py,会弹出一个图形窗口。你会看到蓝色的预测曲线穿过数据点,并且有一个浅蓝色的带状区域(置信区间),表示模型的不确定性。这就是高斯过程的魅力:不仅给出预测,还给出预测的可靠程度。
下一步可以做什么
现在你已经成功运行了第一个高斯过程模型!接下来可以:
- 尝试不同的核函数,如
Matern32、Periodic,观察对预测的影响。 - 使用真实数据集,例如
sklearn.datasets中的波士顿房价数据,进行回归预测。 - 学习如何调整超参数(如
lengthscale)来改善模型性能。
记住,实践是最好的学习方式。多修改代码、观察结果,你会逐渐理解高斯过程的原理。
内容来源
DEV Machine Learning
发布时间
2026-07-12 01:33