RandomizedPcaTrainer Třída

Definice

Pro IEstimator<TTransformer> trénování přibližného PCA pomocí randomizovaného algoritmu SVD.

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)
Dědičnost

Poznámky

Chcete-li vytvořit tohoto trenéra, použijte RandomizedPca nebo RandomizedPca(Options).

Vstupní a výstupní sloupce

Vstupními funkcemi musí být data sloupců známým vektorem Singlevelikosti . Tento trenér vypíše následující sloupce:

Název výstupního sloupce Typ sloupce Description
Score Single Nezáporné nevázané skóre vypočítané modelem detekce anomálií.
PredictedLabel Boolean Predikovaný popisek na základě prahové hodnoty. Skóre vyšší než prahová hodnota mapuje true a skóre nižší než prahová hodnota mapuje na false. Výchozí prahová hodnota je 0.5. Slouží <xref:AnomalyDetectionCatalog.ChangeModelThreshold> ke změně výchozí hodnoty.

Charakteristiky trenéra

Úloha strojového učení Detekce anomálií
Vyžaduje se normalizace? Ano
Vyžaduje se ukládání do mezipaměti? No
Požadovaný NuGet kromě Microsoft.ML None
Exportovatelné do ONNX No

Podrobnosti trénovacího algoritmu

Tento trenér používá horní eigenvectory k přibližné podprostoru obsahující normální třídu. Pro každou novou instanci vypočítá standardní rozdíl mezi nezpracovaným vektorem funkce a projektovanou funkcí v tomto podprostoru. Pokud se chyba blíží 0, považuje se instance za normální (nenomálie).

Konkrétně tento trenér trénuje přibližnou PCA pomocí randomizované metody pro výpočet rozkladu jednotné hodnoty (SVD) matice, jejíž řádky jsou vstupní vektory. Model vygenerovaný tímto trenérem obsahuje tři parametry:

  • Matice projekce $U$
  • Střední vektor v původním prostoru funkcí $m$
  • Střední vektor v předpokládaném prostoru funkcí $p$

U vektoru vstupní funkce $x$ se skóre anomálií vypočítá porovnáním $L_2$ normy původního vstupního vektoru a $L_2$ předpokládaného vektoru: $\sqrt{\left(|x-m|_2^2 - |Ux-p|_2^2\right)|x-m|_2^2}$.

Zde je popsána metoda.

Mějte na paměti, že algoritmus může být proveden do jádra PCA použitím ApproximatedKernelTransformer dat před jejich předáním trenérovi.

Odkazy na příklady použití najdete v části Viz také.

Pole

Name Description
FeatureColumn

Sloupec funkcí, který trenér očekává.

(Zděděno od TrainerEstimatorBase<TTransformer,TModel>)
LabelColumn

Sloupec popisku, který trenér očekává. Může to být null, což označuje, že popisek se nepoužívá pro trénování.

(Zděděno od TrainerEstimatorBase<TTransformer,TModel>)
WeightColumn

Váhový sloupec, který trenér očekává. Může být null, což označuje, že hmotnost není použita pro trénování.

(Zděděno od TrainerEstimatorBase<TTransformer,TModel>)

Vlastnosti

Name Description
Info

Pro IEstimator<TTransformer> trénování přibližného PCA pomocí randomizovaného algoritmu SVD.

Metody

Name Description
Fit(IDataView)

Vlaky a vrací .ITransformer

(Zděděno od TrainerEstimatorBase<TTransformer,TModel>)
GetOutputSchema(SchemaShape)

Pro IEstimator<TTransformer> trénování přibližného PCA pomocí randomizovaného algoritmu SVD.

(Zděděno od TrainerEstimatorBase<TTransformer,TModel>)

Metody rozšíření

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

Připojte kontrolní bod ukládání do mezipaměti do řetězu odhadce. Tím zajistíte, aby podřízené estimátory byly natrénovány proti datům uloženým v mezipaměti. Před průchodem více dat je užitečné mít kontrolní bod ukládání do mezipaměti.

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

Vzhledem k estimátoru vraťte objekt obtékání, který jednou zavolá delegáta Fit(IDataView) . Často je důležité, aby estimátor vrátil informace o tom, co bylo vhodné, což je důvod, proč Fit(IDataView) metoda vrací konkrétní typ objekt, spíše než jen obecný ITransformer. Ve stejnou dobu se však často vytvářejí do kanálů s mnoha objekty, takže možná budeme muset vytvořit řetěz odhadců prostřednictvím IEstimator<TTransformer> místa, kde odhadovač, EstimatorChain<TLastTransformer> pro který chceme získat transformátor, je někde v tomto řetězu. Pro tento scénář můžeme prostřednictvím této metody připojit delegáta, který bude volána po zavolání fit.

Platí pro

Viz také