特定のデータセットに対してSVMを実行し、次の観察を行いました。分類器を構築するための機能の数を変更すると、結果のサポートベクトルの数も変更されます。
この種のシナリオを説明する方法を知りたいです。
特定のデータセットに対してSVMを実行し、次の観察を行いました。分類器を構築するための機能の数を変更すると、結果のサポートベクトルの数も変更されます。
この種のシナリオを説明する方法を知りたいです。
回答:
SVMが解決する最適化問題を見ると:
ST 全てのために、私は= 1 、... N
サポートベクトルは、それらのある対応ξ I > 0。言い換えれば、それらは誤分類されているか、境界に近いデータポイントです。
機能の完全なセットがあるとき、この問題に対する解決策を、いくつかの機能を捨てる場合と比較してみましょう。機能を破棄することは機能的に機能を維持することと同等ですが、破棄したい機能jにを追加します。
これら2つの最適化問題を比較し、数学を調べてみると、機能の数とサポートベクターの数の間に強い関係はないことがわかります。どちらの方向にも行くことができます。
簡単なケースを考えると便利です。負の特徴と正の特徴がそれぞれ(-1、-1)と(1,1)の周りに集まっており、3つのサポートベクトルを持つ対角分離超平面で分離可能な2次元の場合を想像してください。ここで、y軸機能をドロップすると、データがx軸に投影されるようになります。データがまだ分離可能である場合、たとえばx = 0の場合、各側に1つずつ、2つのサポートベクトルしか残されないため、yフィーチャを追加するとサポートベクトルの数が増えます。ただし、データが分離できなくなった場合、x = 0の間違った側にある各ポイントに対して少なくとも1つのサポートベクトルが得られます。この場合、yフィーチャを追加するとサポートベクトルの数が減ります。
したがって、この直感が正しい場合、非常に高次元の特徴空間で作業している場合、または高次元の特徴空間にマップするカーネルを使用している場合、データは分離可能になる可能性が高いため、特徴を追加する傾向があります別のサポートベクターを追加するだけです。一方、データが現在分離可能ではなく、分離性を大幅に改善する機能を追加すると、サポートベクターの数が減少する可能性が高くなります。