問題: ラベル 1、2、3 による 3 クラス分類。
ツール: MATLAB 用 LibSVM
svmModel = svmtrain(<Trainfeatures>, <TrainclassLabels>, '-b 1 -c <someCValue> -g <someGammaValue>');
[predLabels, classAccuracy, **probEstimates**] = svmpredict(<TestFeatures>, <TestClassLabels>, '-b 1');
このステップの後、probEstimates の最初の 10 行は次のようになります。
0.9129 0.0749 0.0122
0.9059 0.0552 0.0389
0.8231 0.0183 0.1586
0.9077 0.0098 0.0825
0.9074 0.0668 0.0257
0.8685 0.0146 0.1169
0.8962 0.0664 0.0374
0.9074 0.0548 0.0377
0.9474 0.0054 0.0472
0.9178 0.0642 0.0180
ただし、最初の 10 個の予測ラベルは次のようになります。
2
2
2
2
2
2
2
2
2
2
質問:
私の理解では、確率推定は、特定のアイテムがその特徴ベクトルを考慮して特定のクラスに属する確率であるということでした。しかし、それが本当なら、これらの項目はクラス 2 ではなくクラス 1 に属しているはずです。libsvm はクラスの順序を変更しますか? 私が間違っている場合、誰かが確率推定の実際の解釈が何であるかを説明できますか?
クラス 1 の精度を高めるために決定境界を移動する必要がある場合 (クラス 1 であると予測されるアイテムが少なくなるため、決定境界でより保守的になります)、これらのクラス確率のどれをどのように処理する必要がありますか? ?