因数分解マシン (FM) アルゴリズムは、特徴間の相互作用を組み込む非線形モデルである。 このアルゴリズムは、Eコマース、広告、およびライブビデオストリーミングを使用して商品を宣伝するシナリオに適しています。
コンポーネントの構成Configure the components
以前はMachine Learning Studioとして知られていたMachine Learning Designerは、FMトレインおよびFM予測コンポーネントでFMアルゴリズムを提供します。 コンポーネントを含むテンプレートを使用して、FM実験を作成できます。 Machine Learning Studioを使用している場合は、ホームページでFM-Embedding for Rec-Systemテンプレートを見つけて、[作成] をクリックします。 Machine Learning Designerを使用している場合は、Visualized Modeling (Designer) ページのパイプラインテンプレートタブで [Alink]FM-Embedding for Rec-Systemテンプレートを検索し、[作成] をクリックします。
次のいずれかの方法を使用して、FMアルゴリズムコンポーネントを設定できます。
方法1: パイプラインページでコンポーネントを設定する
Machine Learning Platform for AI (PAI) のMachine Learning Designerのパイプラインページで、FMアルゴリズムコンポーネントのパラメーターを設定できます。 Machine Learning Designerは、以前はMachine Learning Studioとして知られていました。 下表に、各パラメーターを説明します。
コンポーネント | タブ | パラメーター | 説明 |
FMトレイン | フィールド設定 | フィーチャー列 | 入力テーブルの特性に基づいてフィーチャ列を選択します。 STRING型とDOUBLE型の列がサポートされています。 |
ラベル列 | 入力テーブルの特性に基づいてラベル列を選択します。 DOUBLEタイプの列のみがサポートされています。 | ||
高度なオプション | このパラメーターはMachine Learning Designerでのみ使用できます。 [詳細オプション] を選択した場合、Flink設定項目が使用可能です。 | ||
Flink設定アイテム | このパラメーターはMachine Learning Designerでのみ使用できます。 Flink設定項目を指定します。 詳細については、「設定」をご参照ください。 | ||
パラメーター設定 | タスクタイプ | タスクタイプを選択します。 有効な値:
| |
反復回数 | イテレーションの総数を指定します。 デフォルト値は 10 です。 | ||
正則化係数 | コンマ (,) で区切られた3つの浮動小数点数を指定します。 これらの3つの数値は、0次項、1次項、2次項の正則化係数を表している。 | ||
学習率 | 学習率を指定します。 トレーニングが分岐している場合は、このパラメーターを小さい値に設定します。 | ||
パラメータ初期化標準偏差 | パラメーター初期化の標準偏差を指定します。 このパラメーターは、データの正規化に使用されます。 値はDOUBLE型です。 デフォルト値: 0.05 | ||
寸法 | コンマ (,) で区切られた3つの正の整数を指定します。 これら3つの正の整数は、0次項、1次項、2次項の長さを表す。 | ||
ブロックサイズ | パフォーマンスメトリックの名前を指定します。 | ||
出力テーブルのライフサイクル | このパラメーターはMachine Learning Studioでのみ使用できます。 出力テーブルのライフサイクルを指定します。 | ||
チューニング | 数の労働者 | ワーカーの数を指定します。 このパラメーターは、ノードあたりのメモリサイズ (MB) パラメーターと一緒に使用する必要があります。 有効な値: 1 ~ 9999 | |
ノードあたりのメモリサイズ (MB) | 各ノードのメモリサイズを指定します。 このパラメーターは、作業者数パラメーターと一緒に使用する必要があります。 有効値: 1024〜64 × 1024。 単位:MB。 | ||
FM予測 | パラメーター設定 | 予測結果列 | 予測結果列の名前を指定します。 |
予測スコア列 | このパラメーターはMachine Learning Studioでのみ使用できます。 予測スコアの列名を指定します。 None。 | ||
出力詳細列 | 予測詳細列の名前を指定します。 | ||
予約済み列 | 出力テーブルで予約する列を指定します。 | ||
高度な設定 | このパラメーターはMachine Learning Designerでのみ使用できます。 [詳細設定] を選択した場合、各ワーカーが使用するスレッド数とModelSizeのタイプが使用できます。 | ||
各ワーカーが使用するスレッド数 | 各ワーカーで予測に使用するスレッド数を指定します。 デフォルト値は 1 です。 | ||
タイプのModelSize | モデルサイズタイプを指定します。 デフォルト値: small。 有効な値:
| ||
チューニング | 数の労働者 | ワーカーの数を指定します。 このパラメーターは、[コアあたりのメモリサイズ (MB)] パラメーターと一緒に使用する必要があります。 有効な値: 1 ~ 9999 | |
コアあたりのメモリサイズ (MB) | 各コアのメモリサイズを指定します。 このパラメーターは、作業者数パラメーターと一緒に使用する必要があります。 有効値: 1024〜64 × 1024。 単位:MB。 |
方法2: PAIコマンドを使用する
コンポーネント | パラメーター | 必須 | 説明 | デフォルト値 |
FMトレイン | tensorColName | 可 | フィーチャー列の名前。 列のデータはkey-value形式でなければなりません。 複数の名前はコンマ (,) で区切ります。 例: 1:1.0,3:1.0 | None |
labelColName | 可 | label列の名前。 数値データ型の列のみがサポートされています。 taskパラメーターがbinary_classificationに設定されている場合、labelの値は0または1である必要があります。 | None | |
タスク | 可 | タスクの ID を設定します。 有効な値: regression and binary_classification。 | 回帰 | |
numEpochs | 不可 | 反復回数。 | 10 | |
薄暗い | 不可 | コンマ (,) で区切られた3つの正の整数。 これら3つの正の整数は、0次項、1次項、2次項の長さを表す。 | 1,1,10 | |
learnRate | 不可 | 学習率。 説明 トレーニングが分岐している場合は、learnRateパラメーターを小さい値に設定します。 | 0.01 | |
ラムダ | 不可 | コンマ (,) で区切られた3つの浮動小数点数。 これらの3つの数値は、0次項、1次項、2次項の正則化係数を表している。 | 0.01,0.01,0.01 | |
initStdev | 不可 | パラメータ初期化の標準偏差。 | 0.05 | |
FM予測 | predResultColName | 不可 | 予測結果列の名前。 | prediction_result |
predScoreColName | 不可 | 予測スコア列の名前。 | prediction_score | |
predDetailColName | 不可 | 予測の詳細列の名前。 | prediction_detail | |
keepColNames | 不可 | 出力テーブルで予約する列。 | すべての列 |
FMアルゴリズムテンプレートの入力として次のデータを使用すると、トレーニング操作で生成されるモデル曲線下面積 (AUC) は約0.97になります。