如何解释 RBF 内核的长度尺度参数?

数据挖掘 scikit-学习 支持向量机 核心
2021-09-26 14:17:37

根据 RBF 内核的 Scikit-Learn 文档:内核的长度尺度。如果是浮点数,则使用各向同性内核。如果是数组,则使用各向异性内核,其中 l 的每个维度定义相应特征维度的长度尺度。

我目前正在解决一个问题,我正在设置每个单独特征的长度尺度(我假设这里是维度的同义词)。我的理解是,较小的长度尺度意味着更复杂的功能。

我的问题是,我可以使用这个参数来解释某个特征将如何帮助模型泛化到新数据吗?

例如,如果我有一个数据集,优化后的长度刻度值如下所示: [Feature_1: length-scale = 20] [Feature_2: length-scale = 1] [Feature_3: length-scale = 5]

这是否意味着,如果我必须选择一个可以帮助模型泛化到新数据的特征,那就是 Feature_1?Feature_2 是否可能导致我的模型过拟合?这些假设是否合理?

注意:我在这个内核中使用支持向量回归。

1个回答

尽管我更熟悉将 RBF 内核与高斯过程一起使用,但我认为您的直觉是正确的,因为一般来说,较大的长度尺度意味着学习的函数在该方向上的变化较小,这是另一种说法,即该特征与学习的功能无关。

因此,如果您必须选择最重要的特征,您可以说具有最低长度尺度参数的特征最相关。

所有这些仅适用于特征的特征尺度(例如标准偏差)已经具有可比性(即,如果您想保持这种直觉,则必须在优化长度尺度之前对特征进行标准化)。

也就是说,从长度尺度的角度来看,很难对是什么让你过拟合做出假设。我认为我们可以说跨许多独立特征的较短长度尺度会增加模型的复杂性,从而增加过度拟合的风险。与往常一样,有一个优化的复杂性来提高样本外性能。

为了完成答案,我喜欢通过评估内核矩阵 k(x1, x2) 并计算其有效等级来跟踪内核模型的复杂性,如https://infoscience.epfl.ch/record/110188/files/罗伊V07.pdf较低的等级意味着模型不太复杂(因为所有点在隐式内核空间中看起来都更相似),而较高的有效等级允许学习非常复杂的函数,但您会失去统计能力,因为在您的内核空间中,所有点都是“异常值” ,从某种意义上说,它们彼此are分开。

我希望这会有所帮助。