「ハイパーパラメータ」を取り巻く中核キーワード群です。 検索やインデックス作成で参照する際の手がかりにしてください。 各キーワードは関連する概念・手法・道具立てを含み、 文献検索や学習計画の起点になります。
最も忙しい読者のために、 まず結論だけまとめます。 詳細は以下のセクションへ:
lr、 決定木の深さ max_depth、 正則化強度 alpha、 ニューラルネットの層数。scikit-learn で RandomForestClassifier(n_estimators=100, max_depth=5) と書いた瞬間、 あなたはハイパーパラメータを決めています。 n_estimators も max_depth も学習で自動には決まりません。 「なぜ 100 にしたの?」と聞かれて答えられないなら、 まずこの概念を押さえる必要があります。
このページの読み方:まず 30秒結論 と 直感 を読み、 必要に応じて 数式 や 計算例、 落とし穴 に進んでください。
料理のレシピで言えば、 火加減・調理時間 がハイパーパラメータ、 でき上がりの味 がパラメータ。
機械学習では:
lr=0.01、 隠れ層数 n_layers=3、 ドロップアウト率 p=0.5w、 線形回帰の係数 βつまり 二段階最適化 です。 内側ループで $\boldsymbol{\theta}$ を訓練、 外側ループで $\boldsymbol{\lambda}$ を探索。
Random Forest で max_depth を {3, 5, 7, 10, None} の中から選ぶ場合:
| max_depth | 訓練精度 | CV 精度(5-fold) |
|---|---|---|
| 3 | 0.82 | 0.81 |
| 5 | 0.88 | 0.86 |
| 7 | 0.92 | 0.85 |
| 10 | 0.97 | 0.82 |
| None | 1.00 | 0.78 |
選択 = max_depth=5。 訓練精度は 5 のほうが None より低いが、 CV 精度が最高 → 汎化性能が良い。
最小再現コード。 SSDSE-B のような実データを前提に、 4〜8 行で動く例です:
from sklearn.model_selection import GridSearchCV
from sklearn.ensemble import RandomForestClassifier
param_grid = {'max_depth': [3, 5, 7, 10, None]}
gs = GridSearchCV(RandomForestClassifier(random_state=0), param_grid, cv=5)
gs.fit(X_train, y_train)
print('best:', gs.best_params_, gs.best_score_)
補足:ライブラリのバージョンや前処理状態によって出力は変わります。 自分の環境で動かすときは pip list でバージョンを確認し、 入力 CSV のパス・列名を実態に合わせてください。
ハイパーパラメータ を実務で扱うとき、 多くの分析者が同じところでつまずきます。 代表的な失敗パターンを先回りで押さえておくと、 後工程のトラブルを大幅に減らせます。
{0.01, 0.1, 1} のような粗いグリッドだと、 最適値 0.03 を逃します。 対数刻みかランダムサーチを。※ 上記は文献調査・現場経験で報告される頻度の高い注意点。 ドメインや手法のバージョンによって追加の落とし穴がある場合があります。
ハイパーパラメータ は「ML基礎」分野の中で発展してきた概念・手法です。 学術的には継続的な研究で精緻化され、 実務的にはツール・ライブラリの普及で誰でも使えるようになってきました。 用語の使い方・意味は時代と分野で少しずつ変わるため、 文脈に応じた解釈が大切です。 入門書だけでなく、 標準的な教科書(例:データサイエンス・統計学の定本)や信頼できるオンライン教材も併用すると、 ぶれない理解に近づけます。
「ハイパーパラメータ」は単独で完結する概念ではなく、 より大きな分野の一部です。 上位カテゴリの教材を読むことで、 この用語の 位置づけ が立体的に見えてきます: