モデル ビルダーとは

完了

機械学習は、明示的にプログラミングすることなく、数学と統計を使用してデータ内のパターンを識別する手法です。 Model Builder は、ML.NET を使用してカスタム機械学習モデルをトレーニングおよびデプロイするためのグラフィカル Visual Studio 拡張機能です。

ML.NET 用の Model Builder Visual Studio 拡張機能を示すスクリーンショット。

たとえば、住宅の価格を予測したいとします。 平方フィートでの住宅のサイズなどの 1 つの特徴を使用して、その価格を見積もる場合、大きな住宅ほど価格が上昇するという相関関係のあるヒューリスティックをプログラミングできるかもしれません。

住宅価格の線形回帰モデルを示すグラフ。

しかし、世界は常にそのように単純であるとは限りません。 多くの変数が、住宅の価格に影響します。 このようなケースでは、エッジ ケースを取り込む単純なヒューリスティックを見つけ出すのは難しくなるので、機械学習の方が優れた解決策である可能性があります。

明示的なプログラミング ルールではなく機械学習を使用する場合、履歴データを用いて、実際の観測に基づいてそれらのルールを識別します。 機械学習によって検出されたパターンを使用して、新しいデータや以前は気づいていなかったデータを用いて予測を行う、モデルと呼ばれる成果物を作成します。

ML.NET は、オープンソースで、クロスプラットフォームの .NET 用機械学習フレームワークです。 つまり、既存の .NET スキルを適用し、Visual Studio のように使い慣れたツールを使用して機械学習モデルをトレーニングできます。

Model Builder を使用して、どのような種類の問題を解決できますか?

Model Builder を使用して、次のような一般的な多くの機械学習の問題を解決できます。

  • データの分類: トピック別のニュース記事の整理。
  • 数値の予測: 住宅価格の見積もり。
  • 類似した特性を持つ項目のグループ化: 顧客のセグメント化。
  • 項目の推奨: 推奨ムービー。
  • 画像の分類: コンテンツに基づく画像のタグ付け。
  • 画像内の被写体の検出: 交差点での歩行者と自転車の検出。

Model Builder を使用してモデルをどのように作成できますか?

一般に、機械学習モデルをアプリケーションに追加するプロセスは、トレーニングと使用の 2 つの手順で構成されます。

トレーニング

トレーニングは、アルゴリズムを履歴データに適用して、基になるパターンを取り込むモデルを作成するプロセスです。 これにより、モデルを使用して、新しいデータに対して予測を行うことができます。

Model Builder では自動機械学習 (AutoML) を使用して、データに最適なモデルが見つけられます。 AutoML は、機械学習をデータに適用するプロセスを自動化します。 データセットに対して AutoML 実験を実行して、さまざまなデータ変換、機械学習アルゴリズム、および設定を反復処理して、最適なモデルを選択できます。

モデル ビルダーは機械学習の専門知識がなくても使用できます。 必要なのは、いくらかのデータと解決する問題だけです。

モデルのトレーニング プロセスは、次の手順で構成されます。

  1. シナリオの選択: どのような問題を解決しようとしていますか。 選択するシナリオは、データと、予測しようとしている内容によって異なります。
  2. 環境の選択: どこでモデルをトレーニングしますか。 使用可能なコンピューティング リソース、コスト、プライバシー要件、およびその他の要因に応じて、自分のコンピューターでローカルに、またはクラウドで、モデルをトレーニングするように選択できます。
  3. データの読み込み: トレーニングに使用するデータセットを読み込みます。 予測する列を定義し、予測の入力として使用する列を選択します。
  4. モデルのトレーニング: 選択したシナリオに基づいて、AutoML にデータセットに最適なアルゴリズムを選択させます。
  5. モデルの評価: メトリックを使用して、新しいデータに対してモデルのパフォーマンスと予測の精度を評価します。

従量課金

機械学習モデルをトレーニングしたら、それを使用して予測を行います。 使用とは、トレーニング済みの機械学習モデルを使用して、新しいデータや以前には気づいていなかったデータで予測するプロセスのことです。 Model Builder では、新規および既存の .NET プロジェクトの機械学習モデルを使用できます。

ML.NET ベースの機械学習モデルはシリアル化されて、ファイルに保存されます。 その後、モデル ファイルを任意の .NET アプリケーションに読み込んで、ML.NET API を通じて予測を行うために使用できます。 これらのアプリケーションの種類には、次のようなものがあります。

  • ASP.NET Core Web API
  • Azure Functions
  • Blazor
  • Windows Presentation Foundation (WPF) または Windows フォーム (WinForms)
  • コンソール
  • クラス ライブラリ

次のユニットでは、Model Builder での機械学習モデルのトレーニングのプロセスについて学習します。