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. normalizeから使ってみてくださいsklearn.preprocessing。確認したところ、関数はわずかに異なる値を返します。

于 2015-09-04T20:19:03.277 に答える