RBF SVMの使用例(対ロジスティック回帰とランダムフォレスト)


10

放射状ベース関数カーネルを備えたサポートベクターマシンは、汎用の教師付き分類器です。

私はこれらのSVMの理論的な基盤とその長所を知っていますが、それらが推奨される方法である場合については知りません。では、RBF SVMが他のML技術よりも優れているクラスの問題はありますか?(スコア、またはその他-堅牢性、開始の容易さ、解釈可能性など)

私のデフォルトのアプローチはロジスティック回帰(おそらくいくつかの相互作用による)、ランダムフォレスト、および少しのニューラルネットワークに集中しているので、私は尋ねています。私のMLをしている友達(Kaggleの勝者もいます)はSVMユーザーではありません(ただし、私のコミュニティのアーティファクトであるか、彼らが対処する問題である可能性があります)。

回答:


8

私は、公開された証拠、個人的な経験、推測を組み合わせて、この質問に答えようと思います。

A)公開された証拠。

質問に答えるのに役立つと知っている唯一の論文はDelgado et al 2014-実世界の分類問題を解決するために何百もの分類子が必要ですか?-UCIから121のデータセットに対して何百もの異なるアルゴリズムと実装を実行するJMLR。彼らは、RBF SVMは「最良の」アルゴリズムではない(私が正しく覚えていればランダムフォレストです)が、トップ3(または5)に含まれていることを発見しました。

データセットの選択が実際の問題の「良いサンプル」であると考える場合、SVMは間違いなく新しい問題で試すべきアルゴリズムですが、最初にランダムフォレストを試すべきです!

その結果を一般化する上での制限は、データセットがほとんどすべて高くて細い(n >> p)であり、それほどスパースではないことです。これは、RFの問題であり、それほど大きくない(nとpの両方)と考えられます。

最後に、公開された証拠については、ランダムフォレストの異なる実装を比較する2つのサイトをお勧めします。

B)個人的な経験。

Delgadoなどの論文はすべて機械学習コミュニティにとって非常に重要であると思うので、いくつかの異なる条件下で結果を再現しようとしました。100以上のバイナリデータセット(デルガドのデータセットのセットから)に対して約15の異なるアルゴリズムを実行しました。また、ハイパーパラメータの選択については、それらの場合よりも慎重になったと思います。

私の結果では、SVMは「最良のアルゴリズム」でした(平均ランク4.9)。元のデータセットには多くのマルチクラス問題が含まれていたため、SVMはRFに合格したと考えています。これについては、推測の部分で説明しますが、SVMの問題になるはずです。

編集(2016年6月):

しかしRFはある道の道をより速く、そしてそれはGBM(5.8)に続いて2回目のベストアルゴリズム(平均ランク5.6)、nnets(7.2)など)にしました。これらの問題では標準的なロジスティック回帰を試みませんでしたが、エラスティックネット(L1およびL2正則化LR)を試しましたが、うまく機能しませんでした(平均ランク8.3)〜

結果の分析や論文の執筆がまだ終わっていないので、結果のテクニカルレポートを指すことすらできません。うまくいけば、数週間以内に私はこの回答を再編集して、結果を含むテクニカルレポートを示すことができます。

この論文はhttp://arxiv.org/abs/1606.00930から入手できます。完全な分析後、RFとSVMは予想されるエラー率の点でほぼ同等であり、SVMが最速であることわかりました(驚いたことに!!)。私はもはや(速度の観点から)RFを推奨することにそれほど重点を置いていません。

したがって、私の個人的な経験では、SVMを使用すると精度が多少向上する可能性がありますが、ほとんどの場合、RFを使用することをお勧めします。

また、より大きな問題については、バッチSVMソルバーを使用できない場合があります(私はLASVMなどのオンラインSVMソルバーを使用したことがありません)。

最後に、私は1つの状況でのみロジスティック回帰を使用しました。私は、画像分類の問題(たとえば、画像の2つの異なる説明を結合するかしないか、および説明の次元数など)に対して、いくつかの「強力な」機能エンジニアリングを行っていました。そして、ロジスティック回帰を使用して多くの選択肢から選択しました(LRにはハイパーパラメーター検索がないため)。(LRに従って)最良の機能に落ち着いたら、RF(最良のハイパーパラメーターを選択する)を使用して最終的な分類子を取得しました。

C)憶測

私はマルチクラスの問題に真剣に取り組んだことはありませんが、SVMはそれほど問題ではないと感じています。問題は、1対1または1対すべてのソリューション間の問題ではありませんが、私が知っているすべての実装では、すべての(OVOまたはOVA)分類子に同じハイパーパラメーターを使用します。SVMに適切なハイパーパラメーターを選択するのは非常にコストがかかるため、私が知っている既成の実装では、各分類子を検索しません。これはSVMの問題だと思います(しかしRFの問題ではありません!!)。

次に、マルチクラスの問題については、直接RFに進みます。


すばらしい答えです!Delgado et alの実験の複製に関するブログ投稿、ノートブック、またはスクリプトはありますか?(パラメーターの調整、変数のスケーリングは、通常、アルゴリズムの選択と同じくらい重要なので、アルゴリズムの優位性について強力な主張をすることは困難です。)
Piotr Migdal

252025210215215210.52621.520.512p

0

コメントを書くための十分な権限がないので、ここでは入力/観察を回答として提供します。

私の経験では、サポートクラス分類子(SVC)は、バイナリクラスのバランスが取れている場合、他のメソッドと同等かそれよりも優れている傾向があります。アンバランスなクラスの場合、SVCはパフォーマンスが低下する傾向があります。

私はマルチクラスの問題を頻繁に扱っていませんが、マルチクラスの問題についてもSVCでいくつかの良い結果を見てきました。

私が気づいたもう1つのことは、次元性の呪いが他のモデリング手法ほどSVCに影響を与えないように見えることです。言い換えると、モデルに項を追加すると、他の手法では、トレーニングセットと比較してテスト(またはホールドアウト)セットのパフォーマンスが低下し始めます。しかし、SVCを使用する場合はそれほどではありません。このため、モデルの節約が優先されない場合は、他の方法ほど過剰に適合させることなく多くの条件を投入できるので、SVCがより良いオプションになる可能性があります。

SVCで私が抱えている問題の1つは、観測をランク付けできるようにするための指標(予測確率など)を暗黙的に提供しないことです。Platt Scaling(Pythonのsklearn.svmパッケージに実装)を使用することもできますが、いくつかの不整合が見られます。(興味があれば詳細を共有できます。)

これが本当にあなたの質問に答えるかどうかはわかりませんが、これらは私の観察です。お役に立てば幸いです。


0

RFと(RBF)SVMの背後には異なる理論がありますが、十分なデータがあると仮定すると、それらは同じように機能します。どちらも複雑な関数を学習し、ノイズの多い情報価値のない変数や外れ値を適切に処理できます。

Kaggleのようなもので最良の結果を得ようとしている場合、とにかくRFとSVMを含む複数のモデルをアンサンブルします。

Kaggle以外の設定では、モデルの実装、本番環境への導入、予測の作成、解釈、マネージャーへの説明などがどれほど難しいかを検討できます。

SVM(線形または高度に規則化されたRBF)は、データ量が少ない場合、または一連の次元を扱う場合に、確実に推奨されます。これにはいくつかの理由があります。1つは、フィーチャの一連の最良の分割ではなく、最大マージンの超平面を探す方が良いことです。また、高次元空間では超平面が存在するため、通常は複雑な境界は必要ありません。とにかくデータを分離することができます。もう1つの問題は、RFの調整が難しい(調整するパラメーターが多い)ため、より多くのデータが必要になることです。

別の考えとして、SVM、特にLOOCVの場合、相互検証は非常に安くて高速です。少数のサンプルのみがサポートベクターであるため(常にではありません)、すべての分割で分類子を再トレーニングする必要はありませんが、テストセットに現在含まれているデータが以前にサポートベクターであった場合のみです。これにより、オンライン学習も容易になります。

また、サポートツリーを格納する方が、完全なツリーよりも安くなる場合があります。

多くの場合、分類器よりも確率モデルを作成する方が優れています。したがって、最初にモデルを作成し、後で決定します。その場合、ロジスティック回帰が推奨されます。また、カーネルと正規化を使用して、希望どおりに動作させることもできます。また、RFを使用して、次のような質問に答えることはしません。

興味深い追加リソース:https : //www.quora.com/What-are-the-advantages-of-different-classification-algorithms http://videolectures.net/solomon_caruana_wslmw/

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.