SVMパラメーター推定のグリッドサーチ


8

現在、グリッドサーチを使用して、サポートベクターマシンをトレーニングしています。パラメータガンマとCがある場合、R関数tune.svmがこれら2つのパラメーターのすべての組み合わせに対して10分割交差検証を実行することを理解しています。

開始方法がわからなかったので、それについていくつかの情報を取得しようとしました。たとえば、wikipedia 2は線形ではない値を提案しています(例:{10、100、1000}の範囲のC)。

これまでのところ、2番目のウィキペディアリンクの例を使用しています。

gammas = 2^(-15:3)
costs = 2^(-5:15)

その結果、399の組み合わせになります。

これには非常に時間がかかります(約2000サンプル)。たとえば、カーネル「放射状」の場合、最善の結果はガンマ= 0.5、コスト= 2です。

コストに(1、2、3、4、... 10)とガンマに(0、0.5、1、1.5、2)のような値を使用しただけでは、同じ結果が得られませんか?結果がわかっているので、この例が構成されていることを知っています。

私の質問:

しかし、なぜこの指数スケールなのでしょうか?

0と1の間には非常に多くの値があるため、これは計算時間の浪費であり、非常に大きな数が少ないため、とにかく正確な結果を見つけることができませんでした。これが狭い範囲を見つけるために使用された場合にのみ意味があります。たとえば、最適なコストが2 ^ 3であることがわかっていて、そのあたりを検索するとします。しかし、そのように実行されることはどこにも言及されていません。


1
これが、グリッド検索が最適なパラメーターを見つけるための貧弱な方法である理由です。Optunityのような専用の最適化メソッドを提供するライブラリをチェックアウトすることもできます。
Marc Claesen、2015年

回答:


11

指数グリッドの理由は、Cとガンマの両方が乗法的に機能するスケールパラメーターであるため、ガンマを2倍にすると、ほぼ半分の効果と同じくらいの効果(反対方向にも)が得られるためです。これは、ほぼ指数関数的に増加する値のグリッドを使用する場合、各グリッドポイントでのモデル選択基準の評価によって取得されたハイパーパラメーターに関するほぼ同じ量の「情報」が存在することを意味します。

私は通常、2の整数乗に基づいてグリッドを検索します。これはかなりうまくいくようです(グリッド検索の最適化に関する論文に取り組んでいます。グリッドが細かすぎると、モデル選択基準に適合しなくなる可能性があります。なので、かなり粗いグリッドは、一般化と計算コストに適しています。)

広い範囲については、残念ながら最適なハイパーパラメータ値は問題の性質とデータセットのサイズに依存し、事前に決定することはできません。明らかに無駄が大きいグリッドの理由は、高い確率で適切な値を自動的に見つけられるようにするためです。

計算コストが問題になる場合は、グリッド検索を使用するのではなく、Nelder-Meadシンプレックスアルゴリズムを使用して、交差検証エラーを最適化できます。これは、勾配情報を必要としない最適化アルゴリズムであるため、グリッド検索が現在使用されている問題に使用するのは非常に簡単です。私はRユーザーではありませんが、Nerder-MeadはRを介して実装されていoptimます。


最初の段落では、何が不明確であるかを非常によく説明しました。その情報(スケーリングについて)を見つけることができませんでした。
Verena Haunschmid 2014年

パラグラフ2で言及した作品はまだ公開されていますか?
Sycoraxは、モニカ

いいえ、残念ながら拒否されましたが、査読者のコメントに対応するために書き直しています。
Dikran Marsupial 2015

0

これは、SVMの「パラメータ調整」の問題と呼ばれます。最も簡単なアプローチの1つは、CVフォールドを通過する際に得られるクラス予測精度の最高レベルについて、それぞれの中央値を取ることです。

また、経験則として、より単純な分類子を使用して、データが線形分離可能かどうかを判断します。k最近傍(kNN)または線形回帰が適切に機能する場合は、SVMのようなより高価な(計算上)ア​​プローチを使用しないでください。SVMは使いすぎやすいため、線形回帰、kNN、線形判別分析、ランダムフォレストなどを必ず評価してください。

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