2

RBFカーネルのMATLAB関数を使用しています。いくつかのデータセットでは、シグマ値を増やしていくと、サポートベクターの数が増えて精度が上がります。1つのデータセットの場合、シグマ値を増やすと、サポートベクターが減少し、精度が向上します。RBFカーネルの場合、サポートベクターと精度の関係を分析できません。

4

1 に答える 1

4

サポートベクターの数は、精度と直接の関係はありません。データの形状(およびC / nuパラメーター)によって異なります。

より高いシグマは、カーネルが「よりフラットな」ガウス分布であることを意味します。したがって、決定境界は「より滑らか」です。より低いシグマはそれを「より鋭い」ピークにするので、決定境界はより柔軟であり、それらが正しい答えである場合、奇妙な形を再現することができます。シグマが非常に高い場合、データポイントは非常に幅広い影響を及ぼします。非常に低い場合、影響は非常に小さくなります。

したがって、多くの場合、シグマ値を増やすと、サポートベクターが増えます。ほぼ同じ決定境界の場合、ポイントが「あいまい」になるため、より多くのポイントがマージン内に収まります。ただし、シグマの増加は、マージンを超えてポイントを「移動」するスラック変数のコストが高くなることも意味します。そのため、分類子のマージンがはるかに小さくなり、SVが少なくなる可能性があります。もちろん、SVの数が完全に異なる、劇的に異なる決定境界を提供する場合もあります。

精度を最大化するという観点から、Cとシグマの多くの異なる値でグリッド検索を実行し、トレーニングセットでの3分割交差検定などで最高のパフォーマンスが得られるものを選択する必要があります。2.^(-9:3:18)合理的なアプローチの1つは、たとえばCとmedian_eval * 2.^(-4:2:10);から選択することです。これらの数値はかなり恣意的ですが、過去に成功して使用した数値です。

于 2012-04-30T21:30:14.230 に答える