SVM、变量交互和训练数据拟合

机器算法验证 机器学习 预测模型 支持向量机 相互作用
2022-02-25 21:44:57

我有 2 个一般/更理论的问题。

1)我很好奇支持向量机在构建预测模型时如何处理变量交互。例如,如果我有两个特征 f1 和 f2,并且目标取决于 f1、f2,并且说 f1 * f2(或某些函数 h(f1, f2)),那么 SVM 是否适合(不仅在 OOS 上,甚至在训练数据上)在仅包含 f1 和 f2 的特征中包含 f1、f2 和 h(f1, f2) 时会有所改善吗?SVM 算法是否处理特征交互?似乎它会与 SVM 如何尝试在更高维空间中创建超平面有关,但不确定是否想问。

2)当在训练数据上拟合 SVM 时,给定足够的特征并找到最佳参数(通过蛮力搜索或其他方式),SVM 是否总是能轻松拟合训练数据?不确定我的措辞是否正确,但基本上,如果特征中有足够的方差/噪声,SVM 是否总是 100% 适合训练数据?相反,如果 SVM 不能 100% 拟合训练数据,这是否意味着有一些信息(或其他特征)会影响数据中未捕获的目标变量?

谢谢

小澄清。我指的是内核 SVM

2个回答

正如 highBandwidth 所暗示的那样,这取决于您使用的是线性 SVM 还是非线性 SVM(如果不使用内核,那就是迂腐的,它是最大边际线性分类器而不是 SVM)。

最大边际线性分类器与任何其他线性分类器没有什么不同,因为如果数据生成过程意味着属性之间存在交互,那么提供这些交互项可能会提高性能。最大边距线性分类器很像岭回归,惩罚项略有不同,旨在避免过度拟合(给定合适的正则化参数值),在大多数情况下,岭回归和最大边距分类器将给出相似的性能。

将它们引入 SVM 的特征空间,其中将给出一个特征空间,其中每个轴代表一个阶或更小的单项式,参数影响不同阶单项式的相对权重。因此,具有多项式核的 SVM 等效于在属性空间中拟合多项式模型,该模型隐含地包含了这些交互作用。K(x,x)=(xx+c)ddc

给定足够的特征,任何线性分类器都可以轻松拟合数据。IIRC维空间中的“一般位置”中的 n 个点被超平面(参见 VC 维度)粉碎(以任意方式分离)。这样做通常会导致严重的过拟合,因此应该避免。最大边距分类的目的是通过添加一个惩罚项来限制这种过度拟合,这意味着可能实现最大的分离(这将需要与任何训练示例的最大偏差才能产生错误分类)。这意味着您可以将数据转换为非常高维的空间(其中线性模型非常强大),而不会导致过多的过度拟合。nn1

请注意,某些内核会产生无限维特征空间,其中保证对于一般位置的任何有限训练样本都可以进行“简单”分类。例如,径向基函数核,其中特征空间是无限维超球面的正正交。这样的内核使 SVM 成为一个通用逼近器,它基本上可以表示任何决策边界。K(x,x)=expγxx2

然而,这只是故事的一部分。在实践中,我们一般使用soft-margin SVM,其中允许违反margin约束,并且有一个正则化参数来控制最大化margin之间的权衡(这是一个惩罚项,类似于在岭回归)和松弛变量的大小(类似于训练样本的损失)。然后,我们通过调整正则化参数来避免过度拟合,例如通过最小化交叉验证误差(或留一法误差的一些界限),就像我们在岭回归的情况下所做的那样。

因此,虽然 SVM可以对训练集进行简单的分类,但通常只有在正则化和核参数选择不当时才会这样做。使用任何内核模型获得良好结果的关键在于选择合适的内核,然后调整内核和正则化参数以避免过度或欠拟合数据。

答案取决于您使用的是线性 SVM 还是内核 SVM。使用线性 SVM,你只使用你给它的特性,它不考虑交互。使用 Kernel SVM,基本上您会使用许多不同的功能,具体取决于您选择的内核。如果存在分离超平面,即如果确定是特征,那么您可以完全拟合训练数据。通常,您不指定特征,而是给出与特征相关的内核查找再现内核希尔伯特空间。sign(i=1Kβi(x)β0)βi,i{1,2,...K}KK(x1,x2)=i=1Kβi(x1)βi(x2)