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)
繼承

備註

若要建立此定型器,請使用 RandomizedPcaRandomizedPca (Options)

輸入和輸出資料行

輸入特徵資料行資料必須是 的已知大小向量 Single 。 此定型器會輸出下列資料行:

輸出資料行名稱 資料行類型 描述
Score Single 異常偵測模型所計算的非負數未系結分數。
PredictedLabel Boolean 根據閾值的預測標籤。 高於閾值的分數會對應至 true ,而低於閾值的分數會對應至 false 。 預設閾值為 0.5 。使用 <xref:AnomalyDetectionCatalog.ChangeModelThreshold> 來變更預設值。

定型器特性

機器學習工作 異常偵測
是否需要正規化?
是否需要快取?
除了 Microsoft.ML 之外,還需要 NuGet
可匯出至 ONNX

定型演算法詳細資料

此定型器會使用頂端特徵向量來近似包含一般類別的子空間。 針對每個新實例,它會計算原始特徵向量與該子空間上投影特徵之間的常態差異。 如果錯誤接近 0,則實例會被視為正常 (非異常) 。

更具體來說,此定型器會使用隨機化方法來定型近似 PCA,以計算其資料列為輸入向量之矩陣的單一值分解 (SVD) 。 此定型器所產生的模型包含三個參數:

  • 投影矩陣 $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> 建置估算器的鏈結,而我們想要取得轉換器的估算器會在此鏈結的某處被隱藏。 在該案例中,我們可以透過此方法附加呼叫一次將會呼叫的委派。

適用於

另請參閱