Partager via


RandomizedPcaTrainer Classe

Définition

Pour IEstimator<TTransformer> l’entraînement d’un PCA approximatif à l’aide de l’algorithme SVD aléatoire.

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)
Héritage

Remarques

Pour créer ce formateur, utilisez RandomdPca ou RandomdPca(Options).

Colonnes d’entrée et de sortie

Les données de colonne des caractéristiques d’entrée doivent être un vecteur de taille connue de Single. Ce formateur génère les colonnes suivantes :

Nom de colonne de sortie Type de colonne Description
Score Single Score non négatif non lié calculé par le modèle de détection d’anomalie.
PredictedLabel Boolean Étiquette prédite, en fonction du seuil. Un score supérieur au seuil est mappé et true un score inférieur au seuil est mappé à false. Le seuil par défaut est 0.5. Permet <xref:AnomalyDetectionCatalog.ChangeModelThreshold> de modifier la valeur par défaut.

Caractéristiques de l’entraîneur

Tâche d’apprentissage automatique Détection des anomalies
La normalisation est-elle nécessaire ? Oui
La mise en cache est-elle requise ? Non
NuGet requis en plus de Microsoft.ML Aucun
Exportable vers ONNX Non

Détails de l’algorithme d’apprentissage

Ce formateur utilise les vecteurs propres supérieurs pour approximativement le sous-espace contenant la classe normale. Pour chaque nouvelle instance, elle calcule la différence de norme entre le vecteur de caractéristique brute et la fonctionnalité projetée sur ce sous-espace. Si l’erreur est proche de 0, l’instance est considérée comme normale (non-anomalie).

Plus précisément, ce formateur entraîne un PCA approximatif à l’aide d’une méthode aléatoire pour calculer la décomposition de valeur singulière (SVD) de la matrice dont les lignes sont les vecteurs d’entrée. Le modèle généré par cet entraîneur contient trois paramètres :

  • Matrice de projection $U$
  • Vecteur moyen dans l’espace de caractéristiques d’origine $m$
  • Vecteur moyen dans l’espace de caractéristique projeté $p$

Pour un vecteur de fonctionnalité d’entrée $x$, le score d’anomalie est calculé en comparant la norme $L_2$ du vecteur d’entrée d’origine et la norme $L_2$ du vecteur projeté : $\sqrt{\left(|x-m|_2^2 - | Ux-p|_2^2\right)|x-m|_2^2}$.

La méthode est décrite ici.

Notez que l’algorithme peut être effectué dans le PCA du noyau en appliquant les ApproximatedKernelTransformer données avant de les transmettre à l’entraîneur.

Consultez la section Voir aussi pour obtenir des liens vers des exemples d’utilisation.

Champs

FeatureColumn

Colonne de caractéristique attendue par l’entraîneur.

(Hérité de TrainerEstimatorBase<TTransformer,TModel>)
LabelColumn

Colonne d’étiquette attendue par l’entraîneur. Peut être null, ce qui indique que l’étiquette n’est pas utilisée pour l’entraînement.

(Hérité de TrainerEstimatorBase<TTransformer,TModel>)
WeightColumn

Colonne de poids attendue par l’entraîneur. Peut être null, ce qui indique que le poids n’est pas utilisé pour l’entraînement.

(Hérité de TrainerEstimatorBase<TTransformer,TModel>)

Propriétés

Info

Pour IEstimator<TTransformer> l’entraînement d’un PCA approximatif à l’aide de l’algorithme SVD aléatoire.

Méthodes

Fit(IDataView)

Effectue l’apprentissage et retourne un ITransformer.

(Hérité de TrainerEstimatorBase<TTransformer,TModel>)
GetOutputSchema(SchemaShape)

Pour IEstimator<TTransformer> l’entraînement d’un PCA approximatif à l’aide de l’algorithme SVD aléatoire.

(Hérité de TrainerEstimatorBase<TTransformer,TModel>)

Méthodes d’extension

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

Ajoutez un « point de contrôle de mise en cache » à la chaîne d’estimateur. Cela garantit que les estimateurs en aval seront entraînés par rapport aux données mises en cache. Il est utile d’avoir un point de contrôle de mise en cache avant les formateurs qui prennent plusieurs passes de données.

WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>)

Étant donné un estimateur, retournez un objet de création de package de restrictions qui appellera un délégué une fois Fit(IDataView) appelé. Il est souvent important qu’un estimateur retourne des informations sur ce qui était adapté, c’est pourquoi la Fit(IDataView) méthode retourne un objet spécifiquement typé, plutôt que simplement un général ITransformer. Toutefois, en même temps, IEstimator<TTransformer> sont souvent formés en pipelines avec de nombreux objets. Nous pouvons donc avoir besoin de créer une chaîne d’estimateurs par EstimatorChain<TLastTransformer> le biais de laquelle l’estimateur pour lequel nous voulons obtenir le transformateur est enterré quelque part dans cette chaîne. Pour ce scénario, nous pouvons par le biais de cette méthode attacher un délégué qui sera appelé une fois l’ajustement appelé.

S’applique à

Voir aussi