RandomizedPcaTrainer Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
-
RandomizedPcaTrainer
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 |
WeightColumn |
Sloupec hmotnosti, který trenér očekává. Může být |
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. |