2012-04-30 6 views
2

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

+0

コード、実際の出力、および予想される結果をお知らせください。 – vyegorov

答えて

3

サポートベクトルの数は、精度とは直接関係しません。それはデータの形状(およびC/nuパラメータ)に依存します。

シグマが高いほど、カーネルは「フラット」ガウスであるため、決定境界は「スムーズ」であることを意味します。シグマが小さいほど「シャープな」ピークになります。したがって、決定境界はより柔軟で正しい答えであれば奇妙な形状を再現することができます。シグマが非常に高い場合は、データポイントに非常に大きな影響があります。非常に低い場合、それらは非常に小さい影響力を持つでしょう。

したがって、シグマ値を増やすと、サポートベクトルが増えることがあります。同じ決定境界であれば、より多くのポイントがマージン内に収まります。なぜなら、ポイントは「曖昧」になるからです。しかし、シグマが増加するということは、マージンを超えた緩やかな変数「移動」ポイントがより高価であることを意味します。そのため、分類器のマージンは小さくなり、SVは少なくなります。もちろん、SVの数がまったく違っても、劇的に異なる決定境界を与えることもできます。

精度を最大限にするという点では、Cとシグマのさまざまな値でグリッド検索を行い、たとえば、 3倍のクロスバリデーションがトレーニングセットに適用されます。 1つの合理的なアプローチは、例えばから選択することである。 Cについて2.^(-9:3:18)およびmedian_eval * 2.^(-4:2:10);それらの数字はかなり恣意的ですが、私は過去に成功したものです。

関連する問題