SVM 中的多项式内核参数

数据挖掘 机器学习 分类 支持向量机
2021-10-12 05:39:57

在 SVM 中,多项式内核定义为:

(规模 * crossprod(x, y) + 偏移量)^度

比例和偏移参数如何影响模型以及它们应该在什么范围内?(直觉请)

只是数字稳定性的比例和偏移量(这对我来说就是这样),还是它们也会影响预测准确性?

当数据已知或需要网格搜索时,是否可以计算/估计比例和偏移的良好值?caret 包总是将偏移量设置为 1,但它会在网格中搜索比例。(为什么)偏移量 1 是一个好值吗?

谢谢

PS.:维基百科并没有真正帮助我理解:

对于 d 次多项式,多项式内核定义为

其中 x 和 y 是输入空间中的向量,即从训练或测试样本计算的特征向量,是多项式中高阶项与低阶项的影响的 常数权衡。 当 时,内核称为同质内核。(进一步广义的多内核除以用户指定的标量参数

?polydot 在 R 的帮助系统中的解释也没有:

scale:多项式和正切内核的缩放参数是规范化模式(<-!?)的便捷方式,无需修改数据本身

offset:多项式或双曲正切内核中使用的偏移量(<-lol 谢谢)

1个回答

偏移量参数在分类任务中有时被称为“偏差”,它的直观理解与使用什么样的内核无关。它主要用于补偿不以 0 为中心的特征向量。

我将尝试用一个玩具示例直观地解释偏差的作用。假设您有一些x参数始终为负的特征向量。您在 SVM 中使用的一组权重w(假设是线性的,只是为了清楚起见)可能会将特征转换为 [0, 1] 范围 - 因此它们始终为负数。但是,属于第 1 类的元素属于 [0, 0.5] 范围,属于第 2 类的元素属于 [0.5, 1] 范围。

为了分类,SVM 使用 0 作为阈值断点——如果大于 0,则为第 1 类的元素,如果小于 0,则为第 -1 类的元素。但是在这种情况下,所有元素都将被分类到第 2 类。但是,偏差为 0.5(在这种线性情况下),它们将被正确分类。

这种几何解释对于更复杂的内核不太适用,但想法是一样的:偏差项试图补偿不以零为中心的特征。在实践中,如果特征以零为中心,则并不总是需要偏差项。要解决偏见问题,您可以:

  1. 将您的功能居中并忘记偏见项(并不总是有效)
  2. 扩充您的特征数据以在开头包含 1。IE:

    [feat1 feat2 feat3] --> [feat1 feat2 feat3 1]
    

    对于您的所有特征向量。然后偏置项将作为另一个 SVM 权重参数学习。

  3. 了解您的权重,然后根据最佳预测规则计算偏差:

支持向量机的“预测规则” 也就是说,给定所有支持向量S, 学习到的权重αi, 培训班y(i), 训练特征x(i),以及用于预测的特征x,预测的类将是y(x). 最优的w0然后将偏差或偏差计算为正确和计算的预测类别之间的平均距离: 最优偏差

希望有帮助。我认为最简单的方法是将您的功能居中;)