

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

# 因数分解機アルゴリズム
<a name="fact-machines"></a>

因数分解機アルゴリズムは、分類タスクと回帰タスクの両方に使用できる汎用的な教師あり学習アルゴリズムです。これは、高次元スパースデータセット内の特徴間の相互作用を経済的にキャプチャするように設計された線形モデルの拡張です。例えばクリック予測システムでは、因数分解機モデルは、特定の広告カテゴリの広告が特定のページカテゴリのページに配置されたときに確認されたクリック率パターンをキャプチャできます。因数分解機は、クリック予測や項目推奨など、高次元スパースデータセットを処理するタスクに適した選択肢です。

**注記**  
因数分解機の Amazon SageMaker AI 実装では、特徴間のペアワイズ (2 次) 相互作用のみを考慮します。

**Topics**
+ [因数分解機アルゴリズムの入出力インターフェイス](#fm-inputoutput)
+ [因数分解機アルゴリズムの EC2 インスタンスの推奨事項](#fm-instances)
+ [因数分解機サンプルノートブック](#fm-sample-notebooks)
+ [因数分解機の仕組み](fact-machines-howitworks.md)
+ [因数分解機のハイパーパラメータ](fact-machines-hyperparameters.md)
+ [因数分解機モデルを調整する](fm-tuning.md)
+ [因数分解機のレスポンス形式](fm-in-formats.md)

## 因数分解機アルゴリズムの入出力インターフェイス
<a name="fm-inputoutput"></a>

因数分解機アルゴリズムは、二項分類モードまたは回帰モードで実行できます。各モードで、データセットをトレーニングチャネルデータセットと共に**テスト**チャネルに提供できます。スコアリングは、使用するモードによって異なります。回帰モードでは、テストデータセットは二乗平均平方根誤差 (RMSE) を使用してスコアリングされます。二項分類モードでは、テストデータセットは二項交差エントロピー (対数損失)、精度 (しきい値 = 0.5) および F1 スコア (しきい値 = 0.5) を使用してスコアリングされます。

**トレーニング**については、因数分解機アルゴリズムは、現在 `Float32` テンソルの `recordIO-protobuf` 形式でのみサポートしています。ユースケースは主にスパースデータに対するものであるため、`CSV` は適切な候補ではありません。recordIO でラップされた protobuf では、ファイルモードとパイプモードの両方のトレーニングがサポートされます。

**推論**については、因数分解機アルゴリズムは `application/json` 形式と `x-recordio-protobuf` 形式をサポートします。
+ **バイナリ分類**の問題については、アルゴリズムは、スコアとラベルを予測します。ラベルは、数値で、`0` または `1` になります。スコアは、ラベルが `1` があるべきであるとアルゴリズムがみなす度合いを示す数値です。アルゴリズムは最初にスコアを計算し、次にスコア値からラベルを導出します。スコアが 0.5 以上である場合、ラベルは `1` です。
+ **回帰**の問題については、スコアのみが返り、それが予測値になります。たとえば、因数分解器が映画の評価の予測に使用されている場合、スコアは予測された評価値を示します。

トレーニングファイルと推論ファイルの形式の詳細については、[因数分解機サンプルノートブック](#fm-sample-notebooks)を参照してください。

## 因数分解機アルゴリズムの EC2 インスタンスの推奨事項
<a name="fm-instances"></a>

Amazon SageMaker AI の因数分解機アルゴリズムは高スケーラブルであり、分散型インスタンスでトレーニングできます。スパースデータセットと高密度データセットの両方に CPU インスタンスでのトレーニングと推論をお勧めします。状況によっては、高密度データに対する 1 つ以上の GPU でのトレーニングに利点がある場合があります。GPU でのトレーニングは高密度データでのみ使用できます。スパースデータには CPU インスタンスを使用してください。因数分解機アルゴリズムは、トレーニングと推論用に P2、P3、G4dn、G5 インスタンスをサポートします。

## 因数分解機サンプルノートブック
<a name="fm-sample-notebooks"></a>

SageMaker AI 因数分解機学習アルゴリズムを使用して MNIST データセット内の 0～9 の手書き数字のイメージを分析するサンプルノートブックについては、「[An Introduction to Factorization Machines with MNIST](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/factorization_machines_mnist/factorization_machines_mnist.html)」を参照してください。SageMaker AI でサンプルを実行するために使用できる Jupyter ノートブックインスタンスを作成してアクセスする方法の詳細については、「[Amazon SageMaker ノートブックインスタンス](nbi.md)」を参照してください。ノートブックインスタンスを作成して開いたら、**[SageMaker AI サンプル]** タブを選択して、すべての SageMaker AI サンプルのリストを表示します。NTM アルゴリズムを使うトピックモデリングのサンプルノートブックは、**[Introduction to Amazon Algorithms]** (Amazon アルゴリズムの概要) セクションにあります。ノートブックを開くには、その [**Use (使用)**] タブをクリックして [**Create copy (コピーを作成)**] を選択します。