モデルの複雑さを理解する

Machine LearningMachine LearningBeginner
オンラインで実践に進む

This tutorial is from open-source community. Access the source code

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、モデルの複雑さが予測精度と計算性能にどのように影響するかを調べます。回帰用のデータセットである Diabetes Dataset と分類用のデータセットである 20newsgroups Dataset の 2 つのデータセットを使用します。3 つの異なる推定器に対する複雑さの影響をモデル化します。

  • 確率的勾配降下法学習を実装する SGDClassifier(分類データ用)
  • Nu サポートベクトル回帰を実装する NuSVR(回帰データ用)
  • GradientBoostingRegressor は、順次前方ステージ方式で加法的モデルを構築します

選択した各モデルの関連するモデルパラメータの選択を通じて、モデルの複雑さを変化させます。次に、計算性能(レイテンシ)と予測力(MSE またはハミング損失)の両方に対する影響を測定します。

VM のヒント

VM の起動が完了したら、左上隅をクリックしてノートブックタブに切り替えて、Jupyter Notebook を使って練習しましょう。

Jupyter Notebook が読み込み終わるまで数秒待つことがあります。Jupyter Notebook の制限により、操作の検証は自動化できません。

学習中に問題がある場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決します。

データの読み込み

回帰用のデータセットである diabetes dataset と分類用のデータセットである 20newsgroups dataset の両方を読み込みます。

パラメータの選択

必要な値をすべて含む辞書を作成することで、各推定器のパラメータを選択します。各推定器に対して、変化させるパラメータ、複雑さのラベル、複雑さの計算方法、データ、その他の構成値を定義します。

ベンチマークの影響

与えられた推定器に対するパラメータの影響を計算します。各ラウンドで、変化させるパラメータの新しい値で推定器を設定し、予測時間、予測性能、および複雑さを収集して、それらの変化が推定器にどのように影響するかを確認します。パラメータとして渡された複雑さの計算方法を使用して複雑さを計算します。

結果のプロット

モデルの複雑さが精度とレイテンシに与える影響をプロットします。y 軸に予測誤差を、x 軸にモデルの複雑さを使用します。同じグラフに予測誤差と予測レイテンシの両方をプロットします。

まとめ

この実験では、モデルの複雑さが予測精度と計算性能の両方にどのように影響するかを調べました。選択した各モデルで関連するモデルパラメータを選択することで、モデルの複雑さを変化させました。その後、計算性能(レイテンシ)と予測力(MSE またはハミング損失)の両方に対する影響を測定しました。より複雑なモデルは、より長い学習時間を必要とし、予測誤差を減らすことを保証しないことがわかりました。