【发布时间】:2018-10-20 20:53:15
【问题描述】:
我正在尝试理解内核函数,尤其是高斯/RBF 函数K(a,b) = exp(-gamma||a-b||**2)。
据我了解,这是部分使用欧几里得距离计算向量 a 和 b 的相似性度量。不过,我的问题不是关于这个内核的细节。
我不明白的是:当您在 SVM 中使用此内核时,向量 a 和 b 是什么?
【问题讨论】:
我正在尝试理解内核函数,尤其是高斯/RBF 函数K(a,b) = exp(-gamma||a-b||**2)。
据我了解,这是部分使用欧几里得距离计算向量 a 和 b 的相似性度量。不过,我的问题不是关于这个内核的细节。
我不明白的是:当您在 SVM 中使用此内核时,向量 a 和 b 是什么?
【问题讨论】:
SVM 是一种监督学习算法,因此会有一个训练阶段和一个测试阶段,您可以在其中使用收集到的数据样本。
用于训练的数据样本通常用 {x_i, y_i} 表示,其中 x 是每个数据的实值属性,y 是相应的标签(参见 wikipedia SVM page,例如“线性 SVM”部分)。 对于每个内核 K(a, b)。值“a”和“b”是您拥有的数据的 x_i 和 x_j。
在测试阶段,您将只有集合 {x_i},并且您想估计相应的 y。同样在这种情况下,“a”和“b”是您拥有的数据的 x_i 和 x_j。
编辑
K(a, b) 为每一对 (a, b) = (x_i, x_j) 计算,i 和 j 不同。内核表示一个点积 (Kernel trick),由所谓的函数 phi 在特征空间上定义。 SVM 需要所有对的所有点积,因为铰链损失包含所有点积的 i 和 j 的总和(这意味着所有 K(x_i, x_j))。
例如,如果你有集合 {x_i} = {x_1, x_2} 你需要 K(x_1, x_1), K(x_1, x_2), K(x_2, x_1), K(x_2, x_2)
(对于每个内核 K(a,b) = K(b,a),是一个点积,然后是对称的。最后你不需要 K(x_2, x_1))
【讨论】: