RandomizedPcaTrainer クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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)
- 継承
-
RandomizedPcaTrainer
注釈
このトレーナーを作成するには、 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 |
トレーナーが期待するラベル列。 を指定できます |
WeightColumn |
トレーナーが期待する重み列。 は |
プロパティ
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 が呼び出されると呼び出されるデリゲートをアタッチできます。 |