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 IEstimator<TTransformer> per il training di un PCA approssimativo usando l'algoritmo SVD randomizzato.
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 formatore, usare RandomizedPca o RandomizedPca(Options).To create this trainer, use RandomizedPca or RandomizedPca(Options).
Colonne di input e output
Le caratteristiche di input dei dati della colonna devono essere un vettore di dimensioni note di Single. Questo formatore restituisce le colonne seguenti:
| Nome della colonna di output | Tipo di colonna | Descrizione |
|---|---|---|
Score |
Single | Punteggio non negativo e illimitato calcolato dal modello di rilevamento delle anomalie. |
PredictedLabel |
Boolean | Etichetta stimata, in base alla soglia. Un punteggio superiore alla soglia corrisponde 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 | Rilevamento anomalie |
| La normalizzazione è necessaria? | Yes |
| La memorizzazione nella cache è necessaria? | No |
| NuGet necessario oltre a Microsoft.ML | Nessuno |
| Esportabile in ONNX | No |
Dettagli algoritmo di training
Questo formatore usa gli eigenitori principali 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 in tale sottospazio. 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 formatore contiene tre parametri:
- Matrice di proiezione $U$
- Vettore medio nello spazio delle caratteristiche originale $m$
- Vettore medio nello spazio delle caratteristiche proiettato $p$
Per un vettore di funzionalità di input $x$, il punteggio di anomalia 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 trasformato in Kernel PCA applicando ApproximatedKernelTransformer ai dati prima di passarlo al formatore.
Vedere anche la sezione Vedere anche i collegamenti agli esempi di utilizzo.
Campi
| Nome | Descrizione |
|---|---|
| FeatureColumn |
Colonna di funzionalità prevista dal formatore. (Ereditato da TrainerEstimatorBase<TTransformer,TModel>) |
| LabelColumn |
Colonna etichetta prevista dal formatore. Può essere |
| WeightColumn |
Colonna di peso prevista dal formatore. Può essere |
Proprietà
| Nome | Descrizione |
|---|---|
| Info |
Oggetto IEstimator<TTransformer> per il training di un PCA approssimativo usando l'algoritmo SVD randomizzato. |
Metodi
| Nome | Descrizione |
|---|---|
| Fit(IDataView) |
Esegue il training e restituisce un oggetto ITransformer. (Ereditato da TrainerEstimatorBase<TTransformer,TModel>) |
| GetOutputSchema(SchemaShape) |
Oggetto IEstimator<TTransformer> per il training di un PCA approssimativo usando l'algoritmo SVD randomizzato. (Ereditato da TrainerEstimatorBase<TTransformer,TModel>) |
Metodi di estensione
| Nome | Descrizione |
|---|---|
| AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
Aggiungere un "checkpoint di memorizzazione nella cache" alla catena di stima. In questo modo si garantisce che gli estimatori downstream vengano sottoposti a training su dati memorizzati nella cache. È utile disporre di un checkpoint di memorizzazione nella cache prima che i formatori eseseguono più passaggi di dati. |
| WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
Dato uno strumento di stima, restituire un oggetto wrapping che chiamerà un delegato una volta Fit(IDataView) chiamato. È spesso importante che uno strumento di stima restituisca informazioni sulle dimensioni, 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> vengono spesso formati in pipeline con molti oggetti, quindi potrebbe essere necessario creare una catena di estimatori tramite EstimatorChain<TLastTransformer> dove lo strumento di stima per il quale si vuole ottenere il trasformatore è sepolto in una posizione in questa catena. Per questo scenario, è possibile collegare un delegato che verrà chiamato una volta chiamato fit. |