グリッドサーチとランダムサーチの比較

Pythonでのハイパーパラメータチューニング

Alex Scriven

Data Scientist

共通点は?

ランダムサーチとグリッドサーチの共通点は?

  • いずれもハイパーパラメータを自動でチューニングする
  • いずれもサンプル対象のグリッドを設定する(対象のハイパーパラメータと各値)

 

グリッド設計は慎重に!

 

  • いずれも交差検証の方法と評価指標を設定する
Pythonでのハイパーパラメータチューニング

相違点は?

グリッドサーチ:

  • サンプル空間の全組み合わせを総当たりで試す
  • サンプリング手法はなし
  • 計算コストが高い
  • サンプル空間内で最良スコアを必ず見つける

ランダムサーチ:

  • 指定したサンプル空間から組み合わせをランダムに一部選ぶ
  • 一様以外のサンプリング手法も選べる(デフォルトは一様)
  • 計算コストが低い
  • サンプル空間内の最良スコアは保証されない(ただし_良い_解を_速く_見つけやすい)
Pythonでのハイパーパラメータチューニング

どちらを使うべき?

どちらを使うべきか?考慮点は?

  • データ量はどのくらいか
  • 調整したいハイパーパラメータ数と値の数は
  • 資源はどのくらいか(時間・計算資源)

 

  • データが多いほどランダムサーチが有利なことが多い
  • これらが多いほどランダムサーチが有利なことが多い
  • 資源が少ないほどランダムサーチが有利なことが多い
Pythonでのハイパーパラメータチューニング

Let's practice!

Pythonでのハイパーパラメータチューニング

Preparing Video For Download...