機械学習モデルを検証する - Amazon SageMaker

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

機械学習モデルを検証する

モデルをトレーニングした後、そのパフォーマンスと正確性がビジネス目標を達成可能かどうか判断するために、モデルを評価します。さまざまな方法で複数のモデルを生成し、それぞれを評価することができます。例えば、モデルごとに異なるビジネスルールを適用し、さまざまな尺度を適用して各モデルの適合性を判断することができます。モデルが特定のものよりも敏感である必要があるかどうか (またはその逆) を検討することができます。

履歴データ (オフラインの場合) またはライブデータを使用してモデルを評価できます。

  • オフラインテスト - モデルに推論のリクエストを送信するために、ライブデータではなく過去データを使用します。

    トレーニングを受けたモデルをアルファエンドポイントにデプロイし、履歴データを使用して推論リクエストを送信します。リクエストを送信するには、Amazon SageMaker ノートブックインスタンスで Jupyter Notebook を使用し、 AWS SDK for Python (Boto) または が提供する高レベルの Python ライブラリを使用します SageMaker。

  • ライブデータを使用したオンラインテスト —SageMaker は、本番稼働用バリアントを使用して、本番稼働用モデルの A/B テストをサポートします。本番稼働用バリアントは、同じ推論コードを使用し、同じ SageMaker エンドポイントにデプロイされるモデルです。検証するモデルにライブトラフィックのごく一部が移動するように、本番バリアントを設定します。例えば、評価のためにトラフィックの 10% をモデルのバリエーションに送信することを選択できます。モデルのパフォーマンスに満足したら、更新されたモデルに 100% のトラフィックをルーティングできます。本番稼働でのモデルのテストの例については、「本番稼働用バリアント」を参照してください。

詳細については、Evaluating Machine Learning Models (機械学習モデルの評価) など、モデルの評価方法に関する記事や書籍を参照してください。

オフラインモデル評価のオプションは次のとおりです。

  • 保留セットを使用して検証する - 機械学習の実践者は、データの一部を「保留セット」として残しておくことがよくあります。モデルのトレーニングにこのデータを使用しません。

    このアプローチでは、モデルが保留セットに関する推論をどの程度適切に提供するかを評価します。次に、モデルのメモリを使用するのではなく、モデルが最初のトレーニングで学習したことをどの程度効果的に一般化しているかを評価します。この検証方法は、モデルが正しい答えをどれくらいの頻度で推論できるかを示します。

     

    いくつかの点で、このアプローチは小学生を教えることに似ています まず、学習するための一連の例を提供し、学習から一般化する能力をテストします。宿題とテストでは、最初の学習に含まれていなかった問題を提起し、彼らが効果的に一般化できるかどうかを判断します。完璧な記憶を持つ生徒は、ルールを学習する代わりに、問題を暗記することができます。

     

    通常、保留データセットはトレーニングデータの 20~30% です。

     

  • K 分割検証 - この検証手法では、サンプルデータセットを k 個の部分に分割します。このそれぞれを、k 回のトレーニング実行のための保留セットとみなし、他の k-1 個の部分をそのトレーニング実行のためのトレーニングセットとして使用します。同様のプロセスを使用して k 個のモデルを作成し、モデルを集約して最終モデルを生成します。k は通常、5 ~ 10 の範囲の値です。