【らんだむさーち】

ランダムサーチ とは?

最終更新:
💡 全部試すより、サイコロを振った方が早いことがある

ハイパーパラメータ最適化の手法の一つ。指定した候補や確率分布から組み合わせを無作為に選び、決めた回数だけ評価して、その中で良い結果を探す。

📌 このページのポイント
同じ範囲で16回ずつ試す例グリッドランダムYYXX4 × 4 = 16点無作為に16点この例ではXの値は4種類と16種類Xの影響が大きい場合に利点がある最良値を見つける保証ではない
点は試した組み合わせ、X・Yは2つのパラメータ。同じ範囲でも軸上で試す値が変わる。
ひよこ ひよこ
ランダムサーチって、ただの当てずっぽうなの?
ペンギン先生 ペンギン先生
候補や確率分布、評価指標、試行回数を先に決めてから無作為に選ぶよ。決めた範囲の外は探索できないし、均等に選ぶとは限らない。良い値を見つける保証はないけれど、探索手法を比べる基準にもなるんだ。
ひよこ ひよこ
グリッドサーチと何が違うの?
ペンギン先生 ペンギン先生
グリッドは各パラメータの候補を組み合わせるので、3種類ずつなら3×3で9回だよ。ランダムでは同じ9回でも、連続した軸の値をそれぞれ違う点で試せることがある。影響の大きい軸が少ないと有利になる場合があるけれど、探索範囲そのものが自動で広がるわけではないね。
ひよこ ひよこ
乱数シードを固定したら結果も同じになる?
ペンギン先生 ペンギン先生
RandomizedSearchCVのrandom_stateに整数を指定すると、候補の選択を再現しやすくなるよ。ただし学習器の乱数やデータ分割なども結果に影響する。探索のシードだけで実験全体の再現性が確保できるとは限らないんだ。
ひよこ ひよこ
ベイズ最適化があるのに、なぜ使うの?
ペンギン先生 ペンギン先生
試行を独立に選べて、実装や並列実行がしやすいからだよ。過去の結果を使って次の候補を選ぶ方法と比べる基準にもなる。どちらが良いかは問題や予算、分布の設定によるので、同じ評価条件で比べることが大切だね。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「ランダムサーチ」って出てきたら「ランダムにハイパーパラメータを試して良い組み合わせを探す手法」と思えればだいたいOK!
📖 おまけ:英語の意味
「Random Search」 = ランダム探索
💬 Random(無作為)にSearch(探索)するという意味。2012年のBergstraとBengioの論文では、ハイパーパラメータ探索における効率や比較の基準としての価値を示したよ

参考資料

← 用語集にもどる