次の方法で共有


RandomizedPcaTrainer クラス

定義

IEstimator<TTransformer>ランダム化された SVD アルゴリズムを使用しておおよその PCA をトレーニングします。

public sealed class RandomizedPcaTrainer : Microsoft.ML.Trainers.TrainerEstimatorBase<Microsoft.ML.Data.AnomalyPredictionTransformer<Microsoft.ML.Trainers.PcaModelParameters>,Microsoft.ML.Trainers.PcaModelParameters>
type RandomizedPcaTrainer = class
    inherit TrainerEstimatorBase<AnomalyPredictionTransformer<PcaModelParameters>, PcaModelParameters>
Public NotInheritable Class RandomizedPcaTrainer
Inherits TrainerEstimatorBase(Of AnomalyPredictionTransformer(Of PcaModelParameters), PcaModelParameters)
継承

注釈

このトレーナーを作成するには、 RandomizedPca または RandomizedPca(Options)を使用します

入力列と出力列

入力特徴列データは、既知のサイズの Singleベクターである必要があります。 このトレーナーからは、以下の列が出力されます。

出力列の名前 列の型 説明
Score Single 異常検出モデルによって計算された負でない無制限のスコア。
PredictedLabel Boolean しきい値に基づく予測ラベル。 しきい値よりも高いスコアがマップ true され、しきい値よりも低いスコアがマップされます false。 既定のしきい値は 0.5.既定値を変更するために使用 <xref:AnomalyDetectionCatalog.ChangeModelThreshold> します。

トレーナーの特性

機械学習タスク 異常検出
正規化は必要ですか? はい
キャッシュは必要ですか? いいえ
Microsoft.ML に加えて必要な NuGet なし
ONNX にエクスポート可能 いいえ

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

このトレーナーは、上位固有ベクトルを使用して、標準クラスを含むサブスペースを近似します。 新しいインスタンスごとに、生の特徴ベクトルと、そのサブスペースに投影されたフィーチャのノルム差が計算されます。 エラーが 0 に近い場合、インスタンスは正常 (異常ではない) と見なされます。

具体的には、このトレーナーは、行が入力ベクトルである行列の特異値分解 (SVD) を計算するためのランダム化された方法を使用して、おおよその PCA をトレーニングします。 このトレーナーによって生成されるモデルには、次の 3 つのパラメーターが含まれています。

  • 射影行列 $U$
  • 元の特徴空間の平均ベクトル $m$
  • 投影された特徴空間の平均ベクトル $p$

入力特徴ベクトル $x$ の場合、元の入力ベクトルの $L_2$ ノルムと、投影ベクトルの $L_2$ ノルム ($\sqrt{\left(|x-m|_2^2 - を比較することによって、異常スコアが計算されます|Ux-p|_2^2\right)|x-m|_2^2}$ です。

この方法については 、ここで説明します

データをトレーナーに渡す前にデータを ApproximatedKernelTransformer 適用することで、アルゴリズムをカーネル PCA に作成できることに注意してください。

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

フィールド

FeatureColumn

トレーナーが期待する特徴列。

(継承元 TrainerEstimatorBase<TTransformer,TModel>)
LabelColumn

トレーナーが期待するラベル列。 を指定できます null。これは、ラベルがトレーニングに使用されていないことを示します。

(継承元 TrainerEstimatorBase<TTransformer,TModel>)
WeightColumn

トレーナーが期待する重み列。 は null、トレーニングに重みが使用されていないことを示します。

(継承元 TrainerEstimatorBase<TTransformer,TModel>)

プロパティ

Info

IEstimator<TTransformer>ランダム化された SVD アルゴリズムを使用しておおよその PCA をトレーニングします。

メソッド

Fit(IDataView)

をトレーニングして返します ITransformer

(継承元 TrainerEstimatorBase<TTransformer,TModel>)
GetOutputSchema(SchemaShape)

IEstimator<TTransformer>ランダム化された SVD アルゴリズムを使用しておおよその PCA をトレーニングします。

(継承元 TrainerEstimatorBase<TTransformer,TModel>)

拡張メソッド

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

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

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

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

適用対象

こちらもご覧ください