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,則實例會被視為正常 (非異常) 。
更具體來說,此定型器會使用隨機化方法來定型近似 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 |
定型器預期的標籤資料行。 可以是 |
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> 建置估算器的鏈結,而我們想要取得轉換器的估算器會在此鏈結的某處被隱藏。 在該案例中,我們可以透過此方法附加呼叫一次將會呼叫的委派。 |