使用 RBF 内核进行 SVR 推理的方程式是什么?

What is the equation for SVR inference using an RBF kernel?

我正在使用 RBF 内核将 sklearn 用于 SVR(回归)。我想知道推理是如何在幕后完成的。我认为它是支持向量、函数均值和伽玛的函数,但似乎我遗漏了一个方面(可能是基于 2 点的接近程度的一些缩放。

这是我在下图中试过的“我的方程式”

out = mean
for vect in vectors:
    out = out + (vect.y - mean) * math.exp(-(vect.x - x) ** 2 * gamma)

当我只间隔 2 个点时,我的等式与 skLearn 报告的 svr.predict 相匹配。

3 个训练点和 2 个靠近在一起,我的等式与 svr.predict 给出的不匹配:

给定支持向量、伽马和均值,以及任何其他需要的东西,用 RBF 核进行 SVR 推理的方程式是什么?这些可以从 sklearn svr class?

获得吗

使用 sklearn 库和 RBF 内核的 SVR 推理对我有用的方程式如下 python 代码:

# x and y is already defined, and is the training data for the SVR
svr = svm.SVR(kernel="rbf", C=C, gamma=gamma, epsilon=epsilon, tol=tol)
svr.fit(x,y)
vectors = []
for i in svr.support_:
    vectors.append([x[i][0], y[i]])
out = svr._intercept_[0]
for vect, coef in zip(vectors, svr._dual_coef_[0]):
    out = out + coef * math.exp(-(vect[0] - x) ** 2 * gamma)

我发现 svr._intercept_[0] 包含函数的 y 偏移量。

我发现 svr._dual_coef_[0] 包含每个指数乘以的系数。

我发现 svr.support_ 包含您训练集中用作支持向量的元素的索引。

我意识到我正在访问仅在 svr class 中要访问的内容,但是,我没有看到用于访问这些变量的官方 API 方法,这是现在为我工作。