結論
グリッドサーチは、ハイパーパラメータごとに決めた候補値のすべての組み合わせを試す方法で、試行回数は候補数の掛け算で決まります。ランダムサーチは、決めた範囲から値を無作為に選んで決めた回数だけ試す方法で、性能を左右するハイパーパラメータが一部に限られる場面では、同じ試行回数でもグリッドサーチより効率よく探せることが多くあります。
比較表
| 観点 | グリッドサーチ | ランダムサーチ |
|---|---|---|
| 英語 | grid search(格子探索) | random search |
| 試す値の決め方 | 種類ごとに候補値を並べ、その格子の交点をすべて試す | 指定した範囲や分布から、試行ごとに無作為に選ぶ |
| 試行回数 | 候補数の掛け算で決まる(例:3通り×4通り=12回) | 計算の予算に合わせて先に決める |
| 種類を増やしたとき | 試行回数が掛け算で急増する | 決めた試行回数のまま探索できる |
| 性能に効くハイパーパラメータが一部だけのとき | 効くハイパーパラメータも候補数の分しか試せず、残りの試行は効かないハイパーパラメータの値違いに使われる | 試行ごとに値が変わるので、効くハイパーパラメータも試行回数と同じ数の異なる値を試せる |
| 見逃しやすいもの | 候補値と候補値の間にある値 | 運によっては良い領域を見逃す。必ず最良が見つかるわけではない |
| 前の試行の結果の使い方 | 使わない(試す組み合わせを最初にすべて決める) | 使わない(各試行の値を独立に選ぶ) |
| 向く場面 | ハイパーパラメータが少なく(目安は3種類以下)、決めた候補を漏れなく調べたいとき | 種類が多いときや、計算の予算が限られるとき |
| シラバス項目 | 技術分野 項目16 最適化手法(キーワード「グリッドサーチ」) | 技術分野 項目16 最適化手法(キーワード「ランダムサーチ」) |
| G検定での問われ方 | 組み合わせ数の計算、種類が増えると試行回数が掛け算で増える弱点 | グリッドサーチより効率よく探せる理由、試行回数を自由に決められる点 |
最終確認日:2026年11月1日
それぞれの説明
グリッドサーチとランダムサーチは、学習率や正則化の強さなど、学習の前に決めるハイパーパラメータを探す方法です。どちらも候補ごとにモデルを学習させ、検証データや交差検証の成績で比べて、最もよいものを選びます。違いは、試す値の選び方です。
グリッドサーチ
ハイパーパラメータごとに候補値を決め、そのすべての組み合わせを試します。学習率を横軸、正則化の強さを縦軸に並べた方眼紙の交点を、1つずつ調べるイメージです。試行回数は候補数の掛け算で、学習率3通り、正則化4通りなら12回です。ここにドロップアウト率を3通り加えると36回になります。
しくみが単純で、決めた候補の組み合わせを漏れなく調べられます。一方で、種類が増えると試行回数が急増し、候補値の間にある値は調べません。
ランダムサーチ
試行回数を先に決め、各試行で値を範囲から無作為に選びます。試行回数は種類の数によらず、計算の予算に合わせて決められます。
2012年にBergstraとBengioは、ニューラルネットワークの実験で、ランダムサーチがグリッドサーチと同等以上のモデルを、はるかに少ない計算時間で見つけることを示しました。理由は、性能を大きく左右するハイパーパラメータが一部に限られることが多いためです。よく効く学習率と、ほとんど効かない値の2種類を16回の試行で調べるとします。各4通りのグリッドサーチでは、学習率は4通りしか試せません。ランダムサーチなら、16回とも異なる学習率を試せます。
使い分け
Goodfellowらの教科書『Deep Learning』は、ハイパーパラメータが3種類以下ならグリッドサーチを行うのが一般的だと述べています。種類が多いときや計算の予算が限られるときは、ランダムサーチが向きます。学習率のように桁が変わる値は、どちらの方法でも対数の目盛りで候補を置いたり値を選んだりします。さらに効率を求めるなら、過去の結果から次の候補を選ぶベイズ最適化などを使います。
見分けるコツ
- 「すべての組み合わせ」「格子」ならグリッドサーチ、「無作為」「試行回数を先に決める」ならランダムサーチです。
- 組み合わせ数を問われたら、各ハイパーパラメータの候補数を掛け算します。足し算ではありません。
- どちらも、前の試行の結果を見て次の候補を選ぶことはしません。結果をもとに次の候補を選ぶのは、ベイズ最適化などの方法です。
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
グリッドサーチで、候補値を各5通りにしたまま、調べるハイパーパラメータを2種類から4種類に増やすと、試行回数は2倍になる。
答えを見る
答え × 誤り
試行回数は候補数の掛け算です。2種類なら5×5で25回、4種類なら5の4乗で625回となり、25倍に増えます。
-
ランダムサーチは試行ごとに値を選び直すので、グリッドサーチと違って、複数の計算機で試行を同時に実行することはできない。
答えを見る
答え × 誤り
どちらも、試す値を前の試行の結果に関係なく決めるので、試行を同時に並列で実行できます。BergstraとBengioも、並列化のしやすさを、ランダムサーチがグリッドサーチと共有する利点に挙げています。
-
ランダムサーチは、計算の途中で打ち切っても、それまでに終えた試行だけで1つの探索として結果を比べられる。
答えを見る
答え ◯ 正しい
各試行は範囲全体から独立に値を選ぶので、途中までの試行もそれだけで探索として成り立ちます。グリッドサーチは途中で止めると格子の一部しか調べておらず、調べる順番によっては特定の値に偏ります。
関連問題
出典
- 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.3 Grid Search、11.4.4 Random Search)
- scikit-learn User Guide, Tuning the hyper-parameters of an estimator (3.2.1 Exhaustive Grid Search、3.2.2 Randomized Parameter Optimization)
ほかの違い比較
- アジャイルとウォーターフォールの違い 進め方とAI開発での使い分け
- 赤池情報量規準(AIC)とベイズ情報量規準(BIC)の違い 罰則の重さ
- バギングとブースティングの違い 並列か逐次か、減らす誤差の違い
- バッチ正規化とレイヤー正規化の違い 平均と分散を計算する範囲の違い
- バッチ学習・ミニバッチ学習とオンライン学習の違い 更新回数とぶれ
- BERTとGPTの違い エンコーダとデコーダ、学習課題の違い
- CBOWとスキップグラムの違い 予測の向きと学習の速さ
- 分類問題と回帰問題の違い 出力の形で見分けるコツと評価指標
- CNN・RNNとTransformerの違い 得意なデータと計算の並列性
- 協調フィルタリングとコンテンツベースフィルタリングの違い 仕組み
- 共分散と相関係数の違い 式の関係と単位・値の範囲
- データ汚染とAdversarial Attackの違い 学習時か推論時かと対策
- 決定木とランダムフォレストの違い 解釈のしやすさと精度・安定性
- 深さ優先探索と幅優先探索の違い 調べる順番・最短解・メモリ
- 営業秘密と限定提供データの違い 3つの要件と刑事罰の有無
- Faster R-CNNとYOLOの違い 2段階型と1段階型、速度と精度
- GANと拡散モデル(Diffusion Model)の違い 学習と生成の仕組み
- GANとVAEの違い 識別器の有無と学習の仕組み
- GDPRと個人情報保護法の違い 法的根拠・本人の権利・制裁金
- 勾配降下法と誤差逆伝播法の違い 勾配を使う側と求める側
- ホールドアウト検証と交差検証の違い 分割回数・計算量・使い分け
- 画像分類(物体識別)と物体検出の違い 出力の形と使い分け
- 委託・第三者提供と共同利用の違い 同意の要否と受け手が使える範囲
- k-means法と階層的クラスタリングの違い クラスタ数を決める時期と計算量
- 個人情報・個人データと保有個人データの違い 範囲の入れ子とかかる義務
- 個人情報と個人識別符号の違い 包含関係と当たる例・当たらない例
- L1正則化とL2正則化の違い 罰則の形と重みが0になるか
- 最小二乗法と最尤法の違い 推定の基準と結果が一致する条件
- LIMEとSHAPの違い 局所近似とシャープレイ値の使い分け
- LSTMとGRUの違い ゲートの数と記憶セルの有無
- 機械学習とディープラーニングの違い 包含関係と特徴量の決め方
- 平均絶対値誤差(MAE)と平均二乗誤差(MSE)の違い 外れ値への強さ
- 正規化と正則化の違い 目的と代表的な手法を表で整理
- 主成分分析(PCA)と特異値分解(SVD)の違い 目的と計算の関係
- 主成分分析(PCA)とt-SNEの違い 線形か非線形か、保つ構造の違い
- 適合率と再現率の違い 分母の違いと重視する場面
- プルーニング・量子化と蒸留の違い 何を減らすかと元モデルの扱い
- Q学習とSARSAの違い 更新式の1か所と方策オン・オフ
- RNNとLSTMの違い 記憶セルと勾配消失の起きにくさ
- Self-AttentionとSource-Target Attentionの違い Q・K・Vの出どころ
- セマンティック・インスタンスとパノプティックの違い 背景と個体の扱い
- 新規性と進歩性の違い 比べ方とAI発明での論点
- シグモイド関数とソフトマックス関数の違い 出力の合計と使い分け
- ソフトローとハードローの違い 法的拘束力の有無と日本・EUの例
- 強いAIと弱いAIの違い 心をもつと考えるかの違い
- 教師あり学習・教師なし学習と強化学習の違い 学習の手がかりと代表例
- 特許権と著作権の違い 発生・保護対象・期間とAIでの使い分け
- 匿名加工情報と仮名加工情報の違い 加工の程度と第三者提供の可否
- 転移学習とファインチューニングの違い 重みを固定するか更新するか
- 請負契約と準委任契約の違い 完成義務とAI開発での使い分け
- Zero-shotとFew-shotの違い 与える例の数と重みを更新しない点