Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ チャレンジ:自動ハイパーパラメータチューニング | 結論
Pythonによるニューラルネットワーク入門
セクション 3.  3
single

single

bookチャレンジ:自動ハイパーパラメータチューニング

メニューを表示するにはスワイプしてください

モデルのハイパーパラメータを手動で選択する代わりに、ランダムサーチRandomizedSearchCV)は最適な構成を見つけるためのより効率的な方法です。グリッドサーチGridSearchCV)がハイパーパラメータのすべての組み合わせを体系的に評価するのに対し、ランダムサーチはこれらの組み合わせからランダムなサブセットを選択します。このアプローチにより、計算コストを大幅に削減しつつ、優れた結果を得ることができます。

ニューラルネットワークでは、可能なハイパーパラメータの組み合わせ数が膨大になるため、すべての選択肢を網羅的にテストするのは多くの場合非現実的です。ランダムサーチは、定義された数のハイパーパラメータセットをランダムにサンプリングすることで、この問題を回避し、探索と効率のバランスを取ります。

RandomizedSearchCV(
    estimator=model, 
    param_distributions=randomized_parameters, 
    n_iter=number_of_models_to_test,  # Number of random combinations to evaluate
    scoring='accuracy',  # Evaluation metric
    random_state=42,  # Ensures reproducibility
)
  • estimator: 最適化するモデル(例:MLPClassifier
  • param_distributions: ハイパーパラメータ名をキー、サンプリングする値のリストを値とする辞書
  • n_iter: テストするランダムな組み合わせ数を指定。値が大きいほど最適な組み合わせが見つかる可能性が高まるが、計算量も増加
  • scoring: 評価指標を定義(例:分類の場合は'accuracy'
タスク

スワイプしてコーディングを開始

あなたの目標は、RandomizedSearchCVscikit-learn メソッドを使用して、多層パーセプトロン(MLP) のハイパーパラメータをチューニングすることです。

以下の手順に従ってください:

  1. パラメータグリッド param_distributions を定義します:
  • 'hidden_layer_sizes':3つの構成 — (20, 20), (25, 25), (30, 30) を含めます;
  • 'learning_rate_init'0.02, 0.01, 0.005 の値を含めます;
  • 'max_iter'10, 30, 50 の値を含めます。
  1. MLPClassifier() を使用してモデルを初期化します。
  2. RandomizedSearchCV を適用
  • 定義した mlp モデルを推定器として使用します;
  • 定義した param_distributions グリッドを使用します;
  • パラメータ組み合わせ数を制限するために n_iter=4 を設定します;
  • 評価指標として 'accuracy' を使用します;
  • 再現性のために random_state=1 を設定します。
  1. ランダムサーチをトレーニングデータに適合させ、見つかった最適なパラメータを出力します。
  2. 最適なモデルをトレーニングデータ全体で学習し、トレーニングセットとテストセットの両方でその精度を評価します。

解答

Switch to desktop実践的な練習のためにデスクトップに切り替える下記のオプションのいずれかを利用して、現在の場所から続行する
すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 3.  3
single

single

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

some-alt