我在使用RBF内核来学习SVR (回归)。我想知道这个推论是怎么做的。我认为它是支持向量,函数均值和伽马的函数,但是它似乎遗漏了一个方面(可能是基于两个点有多近的尺度。
下面是我在图中尝试过的“我的方程”。
out = mean
for vect in vectors:
out = out + (vect.y - mean) * math.exp(-(vect.x - x) ** 2 * gamma)当我只做了两个点的间隔,我的方程与skLearn报告的svr.predict相匹配。

在3个训练点和2个相近点的情况下,我的公式与svr.predict给出的公式不匹配:

给定支持向量、伽马和均值,以及其他需要的东西,有RBF核的SVR推理方程是什么?这些可以从sklearn类中获得吗?
发布于 2022-05-29 03:37:38
对于我来说,使用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_包含函数的y偏移量。
我发现svr._dual_coef_包含将每个指数乘以的系数。
我发现svr.support_包含作为支持向量的训练集中元素的索引。
我意识到我只是在访问svr类中想要访问的内容,但是,我没有看到用于访问这些变量的官方API方法,目前这对我来说是有效的。
https://stackoverflow.com/questions/72419556
复制相似问题