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(Možnosti).

Vstupní a výstupní sloupce

Vstupními funkcemi musí být data sloupců známého vektoru 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 založený na prahové hodnotě. Skóre vyšší než prahová hodnota mapuje true a skóre nižší než prahová hodnota map 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? Yes
Vyžaduje se ukládání do mezipaměti? No
Povinné nuGet kromě Microsoft.ML Žádné
Exportovatelný do ONNX No

Podrobnosti o trénovacím algoritmu

Tento trenér používá top 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 je chyba blízko 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 jednotného rozkladu 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 prostoru pro projektované funkce $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 normou $L_2$ projektovaného vektoru: $\sqrt{\left(|x-m|_2^2 – | Ux-p|_2^2\right)|x-m|_2^2}$.

Zde je popsána metoda.

Všimněte si, že algoritmus lze provést do PCA jádra tak, že před předáním do trenéra použijete ApproximatedKernelTransformer data na data.

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

Pole

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

Sloupec hmotnosti, který trenér očekává. Může být null, což značí, že váha se nepoužívá pro trénování.

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

Vlastnosti

Info

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

Metody

Fit(IDataView)

Vlaky a vrátí ITransformerhodnotu .

(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í

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

Připojte k řetězci odhadu kontrolní bod ukládání do mezipaměti. Tím zajistíte, aby se podřízené estimátory natrénovaly na data uložená 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>)

Pokud získáte odhadátor, vraťte obtékání objektu, 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ě zadaný objekt, a 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ězec odhadovačů prostřednictvím EstimatorChain<TLastTransformer> toho, kde je odhadovač, IEstimator<TTransformer> pro který chceme získat transformátor, uložen 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 volání fit.

Platí pro

Viz také