簡體   English   中英

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

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

我正在使用 sklearn 使用 RBF 內核進行 SVR(回歸)。 我想知道推理是如何在幕后完成的。 我認為它是支持向量、函數均值和 gamma 的函數,但似乎我缺少一個方面(可能基於 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 類中獲得嗎?

使用 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 類中訪問的內容,但是,我沒有看到用於訪問這些變量的官方 API 方法,目前這對我有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM