1

我正在使用从卷积神经网络中提取的特征训练 SVM。正如本文 ( http://arxiv.org/pdf/1405.3531v4.pdf ) 中所写,最好在对特征应用 SVM 之前对其进行 L2 标准化。

我使用这个函数来规范化向量:

def l2normalize(features):
    l2norm = np.sum(np.abs(features)**2,axis=-1)**(1./2)
    return features/l2norm

在这个标准化之后,我的准确率从大约 60% 下降到 20%,所以显然有些地方是错误的。我应该如何为具有 L2 范数的 SVM 正确准备我的向量?

4

1 回答 1

0
  1. 检查您是否实际上正在对从训练数据和测试数据中提取的特征进行归一

  2. 尝试使用normalizefrom sklearn.preprocessing。我检查了,您的函数返回的值略有不同。

于 2015-09-04T20:19:03.277 回答