SVM rbf kernel - 估计伽玛的启发式方法

机器算法验证 机器学习 交叉验证 支持向量机
2022-03-15 16:38:13

我在这个交流中读到了一种估计 SVM 中 rbf 内核的 gamma 的启发式方法。我想知道是否有人可以更详细地向我解释一下?我相信您从数据集中选择 1000 个(或大量)数据点对,然后计算每对差异的范数。显然,0.1、0.9 分位数和中位数的倒数是 rbf 内核合适 gamma 的良好候选者。

谢谢

2个回答

首先,没有理由——除了计算成本——不使用你的整个数据集。只要您不使用标签信息,就没有理由不使用您可以从数据中获得的所有信息。

为什么距离的分位数是一个很好的启发式方法?上的 RBF 内核的线性组合在学习阶段,优化调整以最大化边距,同时保持正确的分类。iyiαiexp(γ||xxi||2)αi

有两种极端情况γ

  1. 想象一下非常小,这意味着 RBF 内核非常宽。让我们假设它是如此之宽,以至于 RBF 内核对于数据集的每个数据点仍然足够积极。这可能会给优化器带来困难,因为更改单个的值将更改所有数据点上的决策函数,因为内核太宽了。γαi
  2. 另一种极端情况是当很大时,这意味着 RBF 核非常窄。当改变时,SVM 的决策函数基本上只会改变那个数据点。这意味着可能所有的训练向量最终都会成为支持向量。这显然是不可取的。γαi

要看到启发式算法是一个不错的选择,我们必须意识到某个特定的值决定了 RBF 内核的边界,在该边界中,内核将大于某个值(如Normal -quantile分配)。通过根据成对距离上的分位数选择,您可以确保一定百分比的数据点位于该边界内。因此,如果您更改数据点的,您实际上只会影响一定百分比的数据点的决策函数,这正是您想要的。应如何选择该百分比取决于学习问题,但您应避免更改所有γσγαi只有一个数据点。

是的!您正在描述所谓的“中位数技巧”。

我真的很喜欢上面答案背后的直觉。我也觉得比较容易理解选择的问题γ通过将其视为 RBF 方差的倒数,à la

γ=12σ2
使得 RBF 变为
ϕ(x)=exxi22σ2

现在很清楚,寻找一个好的的问题本质上与寻找一个高斯函数的一个好的方差(减去一个比例因子)是一样的。γ

为此,我们转向方差估计器,但不是通过的平均平方距离来计算方差,而是在该平方距离上计算分位数。xiE[(xxi)2]

正如上面的海报所说,使用分位数可以让我们控制有多少数据点位于我们的高斯函数的一个(或两个,或三个......)标准偏差内。