RandomizedPcaTrainer Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Oggetto per il training di un PCA approssimativo usando l'algoritmo IEstimator<TTransformer> SVD casuale.
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)
- Ereditarietà
-
RandomizedPcaTrainer
Commenti
Per creare questo trainer, usare RandomizedPca o RandomizedPca(Options).
Colonne di input e output
I dati delle colonne delle funzionalità di input devono essere un vettore di dimensioni note di Single. Questo formatore restituisce le colonne seguenti:
Nome colonna di output | Tipo di colonna | Descrizione |
---|---|---|
Score |
Single | Punteggio non negativo non associato calcolato dal modello di rilevamento anomalie. |
PredictedLabel |
Boolean | Etichetta stimata, in base alla soglia. Un punteggio superiore alla soglia viene mappato a true e un punteggio inferiore alla soglia viene mappato a false . La soglia predefinita è 0.5 . Usare <xref:AnomalyDetectionCatalog.ChangeModelThreshold> per modificare il valore predefinito. |
Caratteristiche del trainer
Attività di Machine Learning | Anomaly Detection |
È necessaria la normalizzazione? | Sì |
È necessaria la memorizzazione nella cache? | No |
NuGet richiesto oltre a Microsoft.ML | Nessuno |
Esportabile in ONNX | No |
Dettagli dell'algoritmo di training
Questo trainer usa i principali eigenitori per approssimare lo spazio secondario contenente la classe normale. Per ogni nuova istanza, calcola la differenza di norma tra il vettore di funzionalità non elaborato e la funzionalità proiettata su tale sottospace. Se l'errore è vicino a 0, l'istanza viene considerata normale (non anomalia).
In particolare, questo formatore esegue il training di un PCA approssimativo usando un metodo casuale per calcolare la scomposizione del valore singolare (SVD) della matrice le cui righe sono i vettori di input. Il modello generato da questo trainer contiene tre parametri:
- Matrice di proiezione $U$
- Vettore medio nello spazio di funzionalità originale $m$
- Vettore medio nello spazio delle funzionalità proiettato $p$
Per un vettore di funzionalità di input $x$, il punteggio anomalie viene calcolato confrontando la norma $L_2$ del vettore di input originale e la norma $L_2$ del vettore proiettato: $\sqrt{\left(|x-m|_2^2 - | Ux-p|_2^2\right)|x-m|_2^2}$.
Il metodo è descritto qui.
Si noti che l'algoritmo può essere effettuato in Kernel PCA applicando l'oggetto ApproximatedKernelTransformer ai dati prima di passarlo al trainer.
Controllare la sezione Vedere anche i collegamenti agli esempi di utilizzo.
Campi
FeatureColumn |
Colonna di funzionalità prevista dal trainer. (Ereditato da TrainerEstimatorBase<TTransformer,TModel>) |
LabelColumn |
Colonna etichetta prevista dal trainer. Può essere |
WeightColumn |
Colonna di peso prevista dal trainer. Può essere |
Proprietà
Info |
Oggetto per il training di un PCA approssimativo usando l'algoritmo IEstimator<TTransformer> SVD casuale. |
Metodi
Fit(IDataView) |
Esegue il training e restituisce un ITransformeroggetto . (Ereditato da TrainerEstimatorBase<TTransformer,TModel>) |
GetOutputSchema(SchemaShape) |
Oggetto per il training di un PCA approssimativo usando l'algoritmo IEstimator<TTransformer> SVD casuale. (Ereditato da TrainerEstimatorBase<TTransformer,TModel>) |
Metodi di estensione
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
Aggiungere un "checkpoint di memorizzazione nella cache" alla catena di stima. Ciò garantisce che gli estimatori downstream vengano sottoposti a training sui dati memorizzati nella cache. È utile avere un checkpoint di memorizzazione nella cache prima dei training che accettano più passaggi di dati. |
WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
Dato un stimatore, restituire un oggetto wrapping che chiamerà un delegato una volta Fit(IDataView) chiamato. Spesso è importante che un stimatore restituisca informazioni su ciò che è stato adatto, che è il motivo per cui il Fit(IDataView) metodo restituisce un oggetto tipizzato in modo specifico, anziché solo un oggetto generale ITransformer. Tuttavia, allo stesso tempo, IEstimator<TTransformer> sono spesso formati in pipeline con molti oggetti, quindi potrebbe essere necessario creare una catena di stima tramite EstimatorChain<TLastTransformer> dove lo stimatore per cui si vuole ottenere il trasformatore è sepolto da qualche parte in questa catena. Per questo scenario, è possibile collegare questo metodo a un delegato che verrà chiamato una volta chiamato fit. |