1行定義
ランダムサーチとは、ハイパーパラメータの値を指定した範囲から無作為に選んで、決めた回数だけ試し、最もよい組み合わせを選ぶ探索方法のことです。
くわしく
ランダムサーチは、ハイパーパラメータの値を、決めた範囲から無作為に選んで試す探索方法です。試す回数を先に決めておき、その回数だけ値を選んでモデルを学習させます。検証データで最もよかった組み合わせを採用します。
なぜ無作為が効くのか
ハイパーパラメータがたくさんあっても、性能を大きく左右するのは一部だけということがよくあります。ここでは、性能に強く効く学習率と、ほとんど効かない別の値の2種類を、9回の試行で調べる例を考えます。
グリッドサーチで各3通りずつ(3 × 3 = 9回)試すと、学習率は3通りしか試せません。同じ学習率で効かない値だけを変えた試行が3回ずつ重なり、その分は学習率の比較に役立ちません。ランダムサーチでは、9回とも学習率が異なる値になるので、学習率を9通り試せます。同じ計算量で、重要な値をより細かく調べられるわけです。
この考え方は、2012年にバーグストラとベンジオが論文で示しました。どのハイパーパラメータが重要かはデータによって変わり、事前に見極めにくいことも指摘しています。そのため、新しいデータに対して格子をうまく設計するのは難しくなります。
使い方の工夫
- 試行回数をハイパーパラメータの種類と関係なく決められるので、計算の予算を立てやすくなります。
- 学習率のように桁が変わる値は、0.0001〜0.1のような範囲から、対数の目盛りで均等に選びます。
- 1回目の結果を見て範囲を絞り、もう一度ランダムサーチを行うこともあります。
弱点
無作為に選ぶため、運によっては似た値ばかり選ばれたり、よい領域を見逃したりします。必ず最良の組み合わせが見つかるわけではありません。さらに効率を求める場合は、過去の結果から次の候補を選ぶベイズ最適化などが使われます。
覚え方
「回数は先に決める、値はくじ引きで選ぶ」と覚えます。
G検定での出題
出題のされ方
値を無作為に選んで決めた回数だけ試すしくみと、性能を左右するハイパーパラメータが一部に限られる場面で、グリッドサーチより効率よく探せる理由が問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| ランダムサーチこのページの用語 | ハイパーパラメータの値を指定した範囲から無作為に選んで、決めた回数だけ試し、最もよい組み合わせを選ぶ探索方法 |
| グリッドサーチ | ハイパーパラメータごとに候補値を決め、そのすべての組み合わせを試して、検証データで最もよい組み合わせを選ぶ探索方法 |
違いを表で比べる
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
ランダムサーチでは、調べるハイパーパラメータの種類の数とは関係なく、試行回数を自由に決められる。
答えを見る
答え ◯ 正しい
グリッドサーチの試行回数は、候補数の掛け算で決まります。ランダムサーチは、計算の予算に合わせて回数を先に決められます。
-
ランダムサーチは、同じ試行回数であれば、グリッドサーチより必ずよい組み合わせを見つける。
答えを見る
答え × 誤り
多くの場面で効率がよいとされますが、無作為に選ぶので、運によってはよい領域を見逃します。必ず上回るわけではありません。
-
学習率のように有効な値の桁が大きく変わるハイパーパラメータは、対数の目盛りで均等になるように値を選ぶことが多い。
答えを見る
答え ◯ 正しい
0.0001〜0.1をそのまま均等に選ぶと、約9割が0.01以上の値になります。対数で選ぶと、各桁を同じくらい試せます。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目16 最適化手法)
- James Bergstra, Yoshua Bengio, Random Search for Hyper-Parameter Optimization, Journal of Machine Learning Research 13, 281–305 (2012)
- Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning, MIT Press (2016) (11.4.4 Random Search)
- scikit-learn documentation, 3.2. Tuning the hyper-parameters of an estimator (3.2.2 Randomized Parameter Optimization)