線形学習者アルゴリズム - Amazon SageMaker

英語の翻訳が提供されている場合で、内容が矛盾する場合には、英語版がオリジナルとして取り扱われます。翻訳は機械翻訳により提供されています。

線形学習者アルゴリズム

線形モデルは、分類や回帰の問題を解決するために使用される、教師あり学習アルゴリズムです。入力として、examples (x, y) というラベルのモデルを提供します。x は高次元ベクトル、y は数値ラベルです。二項分類の問題の場合、ラベルは 0 または 1 である必要があります。複数クラス分類の問題の場合、ラベルは 0 ~ num_classes - 1 である必要があります。回帰の問題の場合、y は実数です。アルゴリズムは線形関数、または分類問題の場合は線形しきい値関数を学習し、ベクトル x をラベル y の近似値にマッピングします。

Amazon SageMaker の線形学習者アルゴリズムは、分類と回帰の両方の問題についてソリューションを提供します。SageMaker アルゴリズムを使用すると、さまざまなトレーニング目標を同時に探索し、検証セットから最適なソリューションを選択できます。また、多数のモデルを探索して最適なものを選択することもできます。最善のモデルは、以下を最適化します。

  • 平均二乗誤差、交差エントロピー損失、絶対誤差などの連続的な目標

  • F1 尺度、適合率と再現率、または精度など、分類に適した個別の目標。

連続的な目標のみのソリューションを提供する方法と比較して、SageMaker 線形学習者アルゴリズムは、単純なハイパーパラメータ最適化手法より大幅に加速します。また、より便利でもあります。

線形学習者アルゴリズムは、観測値を表す行と特徴の次元を表す列を持つデータ行列を必要とします。また、データポイントと一致するラベルが含まれる追加の列を要求します。少なくとも、Amazon SageMaker の線形学習者では、データを入出力する場所と目標タイプ (分類または回帰) を引数として指定する必要があります。特徴の次元も指定する必要があります。詳細については、以下を参照してください。 CreateTrainingJob。 追加パラメータを HyperParameters リクエスト本文の文字列マップ。これらのパラメータは最適化の手順、またはトレーニングを行う目標関数の詳細を制御します。たとえば、エポックの数、正規化、損失タイプなどです。

線形学習者アルゴリズムの入出力インターフェース

Amazon SageMaker 線形学習者アルゴリズムは、トレーニング、検証 (オプション)、テスト (オプション) の 3 つのデータチャネルに対応しています。検証データを提供する場合、 S3DataDistributionTypeFullyReplicated。 このアルゴリズムは、すべてのエポックで検証損失をログに記録し、検証データのサンプルを使用して、最適なモデルを校正および選択します。検証データを指定しないと、アルゴリズムはトレーニングデータのサンプルを使用してモデルを調整および選択します。テストデータを指定すると、アルゴリズムログに最終モデルのテストスコアが含まれます。

トレーニングについては、線形学習者アルゴリズムは、recordIO-wrapped protobufCSV の両方の形式をサポートします。application/x-recordio-protobuf 入力タイプの場合は、Float32 テンソルのみがサポートされます。text/csv 入力タイプの場合、最初の列はラベルと見なされ、これが予測のターゲット変数です。ファイルモードまたはパイプモードを使用すると、recordIO-wrapped-protobuf または CSV の形式のデータについて線形学習者モデルをトレーニングできます。

推論については、線形学習者アルゴリズムは、application/jsonapplication/x-recordio-protobuf、および text/csv の各形式をサポートします。新しいデータを予測する場合、レスポンスの形式はモデルの種類によって異なります。回帰 (predictor_type='regressor') の場合score はモデルによって生成される予測です。分類用 (predictor_type='binary_classifier' または predictor_type='multiclass_classifier')、モデルは score また predicted_label。 は predicted_label は、モデルによって予測されるクラスであり、 score その予測の強さを測定します。

  • バイナリ分類の場合predicted_label0 または 1 であり、score は、アルゴリズムがラベルを 1 にする必要があると確信している程度を示す単一の浮動小数点数です。

  • 複数クラスの分類の場合predicted_class0 から num_classes-1 の整数になり、score はクラスごとに 1 つの浮動小数点数のリストになります。

分類問題の score を解釈するには、使用する損失関数を考慮する必要があります。loss ハイパーパラメータ値が logistic (バイナリ分類用) または softmax_loss (マルチクラス分類用) の場合、score は対応するクラスの確率として解釈することができます。これらは、loss の値がデフォルト値 auto の場合に線形学習者によって使用される損失値です。ただし、損失が hinge_loss に設定されている場合は、スコアを確率として解釈することはできません。これは、ヒンジ損失で Support Vector Classifier に対応するためです。この場合、確率の推定値は生成されません。

入出力ファイル形式の詳細については、線形学習者の回答形式 を参照してください。推論形式の詳細については、リニア学習者用サンプルノートブック を参照してください。

リニア学習者アルゴリズムのEC2インスタンス推奨

単一または複数のマシンの CPU および GPU インスタンスで線形学習者アルゴリズムをトレーニングできます。テスト中に、マルチ GPU コンピュータがシングル GPU コンピュータより高速である実質的な証拠は見つかりませんでした。結果はユースケースに応じて異なります。

リニア学習者用サンプルノートブック

次の表は、さまざまな使用事例に対応するさまざまなサンプルノートブックの概要を示しています。 Amazon SageMaker 線形学習者アルゴリズム。

役職 説明:

MNISTデータセットを使用した概要

MNISTデータセットを使用して、1桁を予測するためにバイナリ分類機能をトレーニングします。

乳癌の予測

UCIの乳がんデータセットを使用して、乳がんを予測するモデルをトレーニングします。

マルチクラス分類機能の構築方法

UCIのカバータイプデータセットを使用して、マルチクラス分類器をトレーニングする方法を示します。

推論のための機械学習(ML)パイプラインを構築するには?

Scikit-learnコンテナを使用して、エンドツーエンドのMLパイプラインを構築する方法を実演します。

SageMaker でサンプルを実行するために使用できる Jupyter ノートブックインスタンスを作成してアクセスする方法については、「Amazon SageMaker ノートブックインスタンスの使用」を参照してください。ノートブック・インスタンスを作成して開いたら、 SageMaker 例 ]タブをクリックすると、 SageMaker サンプル。線形学習者アルゴリズムを使用したトピックモデリングのサンプルノートブックは、[Introduction to Amazon algorithm (Amazon アルゴリズムの概要)] セクションにあります。ノートブックを開くには、その [Use (使用)] タブを選択し、[Create copy (コピーを作成)] を選択します。