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(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 |
| WeightColumn |
Váhový sloupec, který trenér očekává. Může být |
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. |