SVMパラメータの選択


9

より優れたトレーニングパフォーマンスをもたらすCおよびガンマを選択するためのより良い代替方法はありますか?

回答:


5

グリッド検索は、最適とは言えないハイパーパラメーター設定の調査に多くの時間を費やすため、低速です。より良い解決策は、勾配情報の計算を必要とせず、実装が簡単なNelder-Meadシンプレックスアルゴリズムです(Wikipediaページに十分な情報があるはずです)。WekaツールボックスにいくつかのJavaコードが含まれている可能性もありますが、私はMATLABで作業しており、Wekaについては詳しく調べていません。

SMOは、ハイパーパラメーターではなく、モデルパラメーターを見つけるためのアルゴリズムです。


あなたのMATLAB実装を提供できますか?
ザック

1
ここにtheoval.cmp.uea.ac.uk/matlab/#optimがありますが、すでに最適化ツールボックスがある場合、fminsearchもNelder-MeadメソッドIIRCの実装です。
Dikran Marsupial

5

Nelder-Meadシンプレックス法には、単純なグリッド検索と同じ数の関数評価が含まれます。通常、エラーサーフェスは、最適なパラメータ値に十分近いほど滑らかであり、粗いグリッド検索に続いて、より小さな領域でより細かいグリッド検索で十分です。

Cとガンマの勾配ベースの最適化に関心がある場合は、半径マージンの境界を最適化したり、検証セットのエラー率を最適化したりする方法があります。目的関数の勾配の計算には1つのSVMトレインのようなものが含まれますが、単純な勾配降下には数十回の反復しか含まれない場合があります。(記事とMatlabの実装については、http://olivier.chapelle.cc/ams/を参照してください。)


私の経験では、nelder-meadは通常グリッド検索よりも高速であり、勾配降下はわずかに高速なので、反復回数が少なく、勾配の計算コストが高くなります。したがって、勾配降下法を提供する実装がある場合はそれを使用しますが、Nelder-Meadはおそらくそれほど遅れません。もちろん、グリッド検索を調整するハイパーパラメーターが3つ以上になるとすぐに、すぐに最も遅い方法になります。それぞれの方法の比較効率の研究を見るのは興味深いでしょう。
Dikran Marsupial 2011

パラメーターの数が2つ以上の場合、グリッド検索は実行できないと、あなたは正しいです。しかし、シンプレックスのサイズは次元によって決定されるため、同じことがネルダーミードにも当てはまります。
Innuo

勾配降下と同じ程度にのみ、問題に余分な次元を追加すると、シンプレックスに余分な点が1つだけ追加されるため、勾配降下と同様に、ハイパーパラメーターの数でほぼ線形にスケーリングされます。私はこれを40以上のハイパーパラメーターの問題で使用しており、勾配降下よりもわずかに遅いだけです(多くのハイパーパラメーターがある場合でも、モデルの選択で過剰適合しがちです)。
Dikran Marsupial 2011

0

ここにあなたの質問に関連するアレックス・スモラのブログのエントリーがあります

ここに引用があります:

[...]データセットからランダムに1000ペア(x、x ')を選び、そのペアすべての距離を計算し、中央値、0.1と0.9の分位数をとります。ここで、λを選択して、これら3つの数値のいずれかを逆にします。交差検証を少し行うことで、3つのうちどれが最適かを判断できます。ほとんどの場合、これ以上検索する必要はありません。

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