SVM 中的线性和多项式内核中的内核尺度参数是啥?

Posted

技术标签:

【中文标题】SVM 中的线性和多项式内核中的内核尺度参数是啥?【英文标题】:What does the Kernel Scale parameter inLinear and polynomial kernel in SVM?SVM 中的线性和多项式内核中的内核尺度参数是什么? 【发布时间】:2017-08-11 03:31:43 【问题描述】:

我有一个理论问题,并理解高斯内核的内核比例的概念,但是当我在 Matlab 的 fitcsvm 中运行“OptimizeHyperparameters”时,它给了我不同的值,我想了解这意味着什么...

在线性内核 svm 中,内核规模的高值意味着什么?并在多项式中?

【问题讨论】:

【参考方案1】:

请注意 MATLAB 帮助中的这些段落:

您不能将任何交叉验证名称-值对参数与“OptimizeHyperparameters”名称-值对参数一起使用。您只能使用“HyperparameterOptimizationOptions”名称-值对组参数来修改“OptimizeHyperparameters”的交叉验证。

OptimizeHyperparameters 值会覆盖您使用其他名称-值对参数设置的任何值。例如,将 OptimizeHyperparameters 设置为“auto”会导致应用“auto”值。

MATLAB 将预测矩阵 X 的所有元素除以 KernelScale 的值。然后,软件应用适当的核范数来计算 Gram 矩阵。因此,内核尺度的高值意味着预测矩阵的所有元素必须被划分为一个大值。

KernelScale 可以在 [1e-3,1e3] 之间。 Fitcsvm 在正值中搜索,默认在 [1e-3,1e3] 范围内进行对数缩放。

如果您指定 KernelScale 和您自己的内核函数,例如 'KernelFunction'、'kernel',则软件会引发错误。您必须在内核中应用缩放。

【讨论】:

以上是关于SVM 中的线性和多项式内核中的内核尺度参数是啥?的主要内容,如果未能解决你的问题,请参考以下文章

在 python scikit-learn 中,RBF 内核的性能比 SVM 中的线性差得多

在 R 中调整 svm 参数(线性 SVM 内核)

与扩展特征空间中的线性 SVM 相比,内核 SVM 都有哪些缺点?

如何更改 LibSVM 中的 SVM 内核?

非线性 SVM 的原始权重

SVM 的自定义内核,何时应用它们?