0

VL-Feat と LIBLINEAR を使用して 2 カテゴリ分類を処理します。トレーニング セットの #(-)/#(+) は 35.01 で、各特徴ベクトルの次元は 3.6e5 です。私は約15000の例を持っています。

デフォルトで、正の例の重みを 35.01 に、負の例の重みを 1 に設定しました。しかし、私が得たのは、テスト データセットでのパフォーマンスが非常に悪いことです。

その理由を探るために、トレーニング例を入力として設定しました。私が見ているのは、負の例は正の例よりもわずかに高い決定値を取得することです。本当に奇妙ですよね?入力をチェックして、例に誤ったラベルを付けていないことを確認しました。ヒストグラム ベクトルの正規化を行いました。

誰もこの状況に遭遇したことがありますか?

トレーニング済みモデルのパラメーターは次のとおりです。バイアス、レギュラライザー、デュアリティギャップなどのパラメーターは非常に小さいため、正確性が失われやすいため、違和感を覚えます。

model.info = 
            solver: 'sdca'
            lambda: 0.0100
    biasMultiplier: 1
              bias: -1.6573e-14
         objective: 1.9439
       regularizer: 6.1651e-04
              loss: 1.9432
     dualObjective: 1.9439
          dualLoss: 1.9445
        dualityGap: -2.6645e-15
         iteration: 43868
             epoch: 2
       elapsedTime: 228.9374
4

1 に答える 1

0

起こりうることの 1 つは、LIBSVM がデータ セットの最初の例をポジティブ クラスとして、ネガティブ クラスをデータセットの最初の例ではないクラスとして使用することです。したがって、ポジティブよりもネガティブの方が 35 倍多いため、最初の例はネガティブであり、クラスが反転している可能性があります。これを確認する方法は?トレーニング セットの最初のデータ ポイントがポジティブ クラスであることを確認します。

LIBLINEAR の FAQ を確認しましたが、LIBLINEAR でも発生しているようです (LIBLINEAR には詳しくありません): http://www.csie.ntu.edu.tw/~cjlin/liblinear/FAQ。 html (反転検索)

于 2014-01-24T01:14:18.707 に答える