セクション 3. 章 3
single
チャレンジ:自動ハイパーパラメータチューニング
メニューを表示するにはスワイプしてください
モデルのハイパーパラメータを手動で選択する代わりに、ランダムサーチ(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')
タスク
スワイプしてコーディングを開始
あなたの目標は、RandomizedSearchCV の scikit-learn メソッドを使用して、多層パーセプトロン(MLP) のハイパーパラメータをチューニングすることです。
以下の手順に従ってください:
- パラメータグリッド
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の値を含めます。
MLPClassifier()を使用してモデルを初期化します。RandomizedSearchCVを適用:
- 定義した
mlpモデルを推定器として使用します; - 定義した
param_distributionsグリッドを使用します; - パラメータ組み合わせ数を制限するために
n_iter=4を設定します; - 評価指標として
'accuracy'を使用します; - 再現性のために
random_state=1を設定します。
- ランダムサーチをトレーニングデータに適合させ、見つかった最適なパラメータを出力します。
- 最適なモデルをトレーニングデータ全体で学習し、トレーニングセットとテストセットの両方でその精度を評価します。
解答
すべて明確でしたか?
フィードバックありがとうございます!
セクション 3. 章 3
single
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください