Skip to content

高斯核函数

高斯核函数也称 RBF 核,是支持向量机、核岭回归、高斯过程和许多相似度建模方法中的常用工具。

概念详解

高斯核定义为:

K(xi,xj)=exp(||xixj||22σ2)

也常写成:

K(xi,xj)=exp(γ||xixj||2)

其中:

γ=12σ2

距离越近,核值越接近 1;距离越远,核值越接近 0。

数学理解

核函数可以看作隐式特征映射的内积:

K(xi,xj)=ϕ(xi)Tϕ(xj)

高斯核对应无限维特征空间,因此可以把原本线性不可分的数据映射到更高维空间中进行线性分割。

σ 的影响可以从公式看出:

  • σ 较小:距离稍远核值就迅速下降,模型更关注局部。
  • σ 较大:核值下降缓慢,模型更平滑。

应用代码

python
import numpy as np

def rbf_kernel(X, Y=None, gamma=1.0):
    X = np.asarray(X)
    Y = X if Y is None else np.asarray(Y)
    x2 = np.sum(X ** 2, axis=1, keepdims=True)
    y2 = np.sum(Y ** 2, axis=1, keepdims=True).T
    dist2 = x2 + y2 - 2 * X @ Y.T
    return np.exp(-gamma * dist2)

X = np.array([[0, 0], [1, 0], [0, 2]], dtype=float)
K = rbf_kernel(X, gamma=0.5)
print(np.round(K, 3))

小结

高斯核把“距离”转化为“相似度”。它非常灵活,但参数 γ 过大容易过拟合,过小则可能欠拟合。