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

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にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決します。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL ml(("Machine Learning")) -.-> ml/FrameworkandSoftwareGroup(["Framework and Software"]) ml/FrameworkandSoftwareGroup -.-> ml/sklearn("scikit-learn") subgraph Lab Skills ml/sklearn -.-> lab-49217{{"モデルの複雑さを理解する"}} end

データの読み込み

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

パラメータの選択

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

ベンチマークの影響

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

結果のプロット

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

まとめ

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