题解思路
高斯过程回归在本题中不需要学习超参数,直接按公式计算即可。
设训练输入为 X,输出为 y,测试点为 X*。
- 用 RBF 核函数计算训练集核矩阵:
题目内容
小美是美团的一名数据分析师,她希望利用高斯过程回归模型,根据一部分商家的位置坐标 xi 及其对应的营业额yi,来预测另一批位置 x∗ 的商家可能营业情况。
请你仅使用 numpy,实现该模型的封闭式预测(无超参学习)
1. 固定超参数
- 长尺度:l=1.0
- 信号方差:σf2=1.0
- 噪声方差:σn2=0.1
2. 核函数(RBF 核 / 高斯核)
k(p,q)=σf2exp(−2l2∥p−q∥22)
3. 预测公式
- 训练核矩阵:K=K(X,X)+σn2In
- 逆矩阵:K−1
- 对每个测试点 (x∗)k∗=K(X,x∗) y^=k∗TK−1y
输入描述
单行JSON 格式数据:
{
"train": [[x11, ..., y1],
[x21, ..., y2],
...],
"test": [[x*1,..., ],
...]
}
- 维度 d∈{1,2}(训练与测试一致)
- 训练样本数4≤n≤40,测试样本数 2≤m≤20
- 所有值为实数,无缺失
输出描述
单行JSON数组一预测均值序列,例如[0.0,0.988567]
补充说明
- 矩阵求逆可直接使用np.linalg.inv(训练集尺寸最多 40,可直接求逆)
- 不需要设置任何随机数
- 数据不需要额外预处理
- 浮点误差处理:使用常规 double 精度计算,输出 round(val,6) 即可
样例1
输入
{"train":[[-1,-1],[1,1]],"test":[[-1],[0],[1]]}
输出
[-0.896337, 0.0, 0.896337]