SVM 数据规范化...对新(训练)数据进行分类呢?

机器算法验证 支持向量机 数据集 正常化
2022-03-30 07:36:23

我对 SVM 分类任务(以及更一般的分类任务)、数据规范化有很大的疑问。假设我有一个使用标准化数据训练的 SVM ,以及要分类的新数据

1我如何规范化新数据请注意,当我标准化和训练我的 SVM 时,我并不认识它们。

2哪种是最好/合适的标准化方法最小最大还是零均值+方差?

我认为的一个可能的解决方案是:一旦新数据到达,并且我们正在使用 SV(即训练数据的一部分),我们可以对 SV 进行反规范化,重新计算 min-Max/mean-var新的整个数据集,并对新数据进行归一化并重新归一化 SV。那这个呢?

提前致谢, 伊万诺

1个回答
  1. 存储训练数据集特征的均值和标准差。当接收到测试数据时,通过减去其相应的训练均值并除以相应的训练标准差来对每个特征进行归一化。

  2. 按最小值/最大值进行归一化通常是一个非常糟糕的主意,因为它涉及根据两个特定观察来缩放整个数据。这会导致您的缩放以噪声为主。mean/std 是一个标准程序,您甚至可以尝试更强大的测量(例如中位数/MAD)

为什么要缩放/标准化?由于 SVM 优化问题的定义方式,具有较高方差的特征对边际的影响更大。通常这是没有意义的——我们希望我们的分类器是“单位不变的”(例如,结合患者体重和身高的分类器不应该受到单位选择的影响——公斤或克、厘米或米) .

但是,我猜可能存在所有特征都以相同单位给出的情况,并且它们的方差差异确实反映了重要性的差异。在这种情况下,我会尝试跳过缩放/标准化,看看它对性能有什么影响。