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 中的线性差得多