次の方法で共有


PairwiseCouplingTrainer クラス

定義

IEstimator<TTransformer>指定した二項分類子を使用するペアワイズ結合多クラス分類子をトレーニングするためのものです。

public sealed class PairwiseCouplingTrainer : Microsoft.ML.Trainers.MetaMulticlassTrainer<Microsoft.ML.Data.MulticlassPredictionTransformer<Microsoft.ML.Trainers.PairwiseCouplingModelParameters>,Microsoft.ML.Trainers.PairwiseCouplingModelParameters>
type PairwiseCouplingTrainer = class
    inherit MetaMulticlassTrainer<MulticlassPredictionTransformer<PairwiseCouplingModelParameters>, PairwiseCouplingModelParameters>
Public NotInheritable Class PairwiseCouplingTrainer
Inherits MetaMulticlassTrainer(Of MulticlassPredictionTransformer(Of PairwiseCouplingModelParameters), PairwiseCouplingModelParameters)
継承

注釈

このトレーナーを作成するには、 PairwiseCoupling を使用します。

入力列と出力列

入力ラベル列のデータは キー 型である必要があり、特徴列は既知のサイズの Singleベクターである必要があります。

このトレーナーからは、以下の列が出力されます。

出力列の名前 列の型 説明
Score Single のベクター すべてのクラスのスコア。 値が大きいほど、関連するクラスに分類される可能性が高くなります。 i 番目の要素が最大値の場合、予測ラベル インデックスは i になります。 i はゼロベースのインデックスです。
PredictedLabel キー 予測ラベルのインデックス。 その値が i の場合、実際のラベルはキーと値の入力ラベルの型の i 番目のカテゴリになります。

トレーナーの特性

機械学習タスク 多クラス分類
正規化は必要ですか? 基になるバイナリ分類子に依存する
キャッシュは必要ですか? はい
Microsoft.ML に加えて必要な NuGet なし
ONNX にエクスポート可能 いいえ

トレーニング アルゴリズムの詳細

この戦略では、二項分類アルゴリズムがクラスの各ペアでトレーニングされます。 ペアは順序付けされていませんが、置換で作成されます。したがって、0、1、2 の 3 つのクラスがある場合は、ペア (0,0)、(0,1)、(0,2)、(1,1)、(1,2)、(2,2) の分類子をトレーニングします。 2 項分類子ごとに、入力データ ポイントがペアの 2 つのクラスのいずれかに存在する場合は正の例と見なされ、それ以外の場合は負の例と見なされます。 予測時には、クラスの各ペアの確率は、データが与えられたペアのいずれかのクラスにある確率と見なされ、クラスごとの最終的な予測確率は、例が特定のペアにある確率を考慮して計算されます。

これにより、多クラスの問題を解決するために使用 FastTreeBinaryTrainer するなど、自然に多クラス オプションがないトレーナーを悪用できます。 または、トレーナーが多クラス オプションを持っている場合でも、ML.NET で "より単純な" 問題を解決できますが、通常はメモリ制約のため、直接使用することは実用的ではありません。 たとえば、多クラスロジスティック回帰は、多クラスの問題を解決するためのより原則的な方法ですが、ペアワイズ結合分類モデルに必要な 1 つずつではなく、トレーナーがすべてのクラスの L-BFGS 履歴の形式で、より多くの中間状態を 同時に格納する必要があります。

使用例へのリンクについては、「参照」セクションを参照してください。

プロパティ

Info

IEstimator<TTransformer>指定した二項分類子を使用するペアワイズ結合多クラス分類子をトレーニングするためのものです。

(継承元 MetaMulticlassTrainer<TTransformer,TModel>)

メソッド

Fit(IDataView)

データをトランスフォーマーに適合させる

GetOutputSchema(SchemaShape)

出力列を取得します。

(継承元 MetaMulticlassTrainer<TTransformer,TModel>)

拡張メソッド

AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment)

エスティメーター チェーンに 'キャッシュ チェックポイント' を追加します。 これにより、ダウンストリームエスティメーターがキャッシュされたデータに対してトレーニングされます。 複数のデータを受け取るトレーナーが渡す前にキャッシュ チェックポイントを設定すると便利です。

WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>)

エスティメーターを指定すると、デリゲートを 1 回 Fit(IDataView) 呼び出すラップ オブジェクトが呼び出されます。 多くの場合、エスティメーターが適合した内容に関する情報を返すことが重要です。そのため Fit(IDataView) 、メソッドは一般的 ITransformerなオブジェクトではなく、具体的に型指定されたオブジェクトを返します。 ただし、同時に、 IEstimator<TTransformer> 多くのオブジェクトを含むパイプラインに形成されることが多いため、トランスフォーマーを取得するエスティメーターがこのチェーンのどこかに埋もれる場所を介して EstimatorChain<TLastTransformer> 、推定器のチェーンを構築する必要がある場合があります。 このシナリオでは、このメソッドを使用して、fit が呼び出されると呼び出されるデリゲートをアタッチできます。

適用対象

こちらもご覧ください