SVM中线性和多项式内核中的Kernel Scale参数是什么?

Gui*_*rme 7 matlab kernel svm

我有一个理论问题,并且用高斯内核理解内核规模的概念,但是当我在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”,则软件会抛出错误。您必须在内核中应用缩放。