RandomizedPcaTrainer Klasse

Definition

Für IEstimator<TTransformer> die Schulung eines ungefähren PCA mit randomisiertem SVD-Algorithmus.

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)
Vererbung

Hinweise

Um diesen Trainer zu erstellen, verwenden Sie RandomizedPca oder RandomizedPca(Options).

Eingabe- und Ausgabespalten

Die Spaltendaten der Eingabefeatures müssen ein Vektor mit bekannter Größe sein Single. Der Trainer gibt folgende Spalten aus:

Name der Ausgabespalte Spaltentyp Description
Score Single Der nicht-negative, unbegrenzte Score, der durch das Anomalieerkennungsmodell berechnet wurde.
PredictedLabel Boolean Die vorhergesagte Beschriftung basierend auf dem Schwellenwert. Ein Wert, der höher als der Schwellenwert ist true , und ein Wert, der niedriger als der Schwellenwert ist false, zugeordnet. Der Standardschwellenwert ist 0.5. Verwenden Sie <xref:AnomalyDetectionCatalog.ChangeModelThreshold> diese Einstellung, um den Standardwert zu ändern.

Trainermerkmale

Machine Learning-Aufgabe Anomalieerkennung
Ist normalisierung erforderlich? Yes
Ist zwischenspeichern erforderlich? No
Erforderliches NuGet zusätzlich zu Microsoft.ML Nichts
Exportierbar in ONNX No

Details des Schulungsalgorithmus

Dieser Trainer verwendet die obersten Eigenvectoren, um den Unterbereich, der die normale Klasse enthält, anzunähern. Für jede neue Instanz wird der Normunterschied zwischen dem unformatierten Featurevektor und dem projizierten Feature in diesem Unterbereich berechnet. Wenn der Fehler nahe 0 ist, wird die Instanz als normal (nicht anomaliely) betrachtet.

Genauer gesagt trainiert dieser Trainer eine ungefähre PCA mit einer randomisierten Methode zum Berechnen der Singularwert-Analyse (SVD) der Matrix, deren Zeilen die Eingabevektoren sind. Das von diesem Trainer generierte Modell enthält drei Parameter:

  • Eine Projektionsmatrix $U$
  • Der Mittelvektor im ursprünglichen Featurebereich $m$
  • Der Mittelvektor im projizierten Featurebereich $p$

Bei einem Eingabefunktionsvektor $x$wird die Anomaliebewertung berechnet, indem die $L_2$-Norm des ursprünglichen Eingabevektors und die $L_2$-Norm des projizierten Vektors verglichen wird: $\sqrt{\left(|x-m|_2^2 - |Ux-p|_2^2\right)|x-m|_2^2}$.

Die Methode wird hier beschrieben.

Beachten Sie, dass der Algorithmus in Kernel PCA gemacht werden kann, indem die ApproximatedKernelTransformer Daten angewendet werden, bevor er an den Trainer übergeben wird.

Im Abschnitt "Siehe auch" finden Sie Links zu Verwendungsbeispielen.

Felder

Name Beschreibung
FeatureColumn

Die Featurespalte, die der Trainer erwartet.

(Geerbt von TrainerEstimatorBase<TTransformer,TModel>)
LabelColumn

Die Bezeichnungsspalte, die der Trainer erwartet. Dies kann sein null, was angibt, dass die Bezeichnung nicht für schulungen verwendet wird.

(Geerbt von TrainerEstimatorBase<TTransformer,TModel>)
WeightColumn

Die Gewichtsspalte, die der Trainer erwartet. Dies kann sein null, was angibt, dass das Gewicht nicht für das Training verwendet wird.

(Geerbt von TrainerEstimatorBase<TTransformer,TModel>)

Eigenschaften

Name Beschreibung
Info

Für IEstimator<TTransformer> die Schulung eines ungefähren PCA mit randomisiertem SVD-Algorithmus.

Methoden

Name Beschreibung
Fit(IDataView)

Züge und Gibt einen ITransformer.

(Geerbt von TrainerEstimatorBase<TTransformer,TModel>)
GetOutputSchema(SchemaShape)

Für IEstimator<TTransformer> die Schulung eines ungefähren PCA mit randomisiertem SVD-Algorithmus.

(Geerbt von TrainerEstimatorBase<TTransformer,TModel>)

Erweiterungsmethoden

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

Fügen Sie einen "Zwischenspeicherungsprüfpunkt" an die Schätzkette an. Dadurch wird sichergestellt, dass die nachgeschalteten Schätzer anhand zwischengespeicherter Daten trainiert werden. Es ist hilfreich, einen Zwischenspeicherprüfpunkt vor Trainern zu haben, die mehrere Datendurchläufe übernehmen.

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

Geben Sie bei einer Schätzung ein Wrapping-Objekt zurück, das eine Stellvertretung aufruft, sobald Fit(IDataView) sie aufgerufen wird. Es ist häufig wichtig, dass ein Schätzer Informationen zu dem, was passt, zurückgeben, weshalb die Fit(IDataView) Methode ein speziell typiertes Objekt und nicht nur ein allgemeines ITransformerObjekt zurückgibt. IEstimator<TTransformer> Gleichzeitig werden jedoch oft in Pipelines mit vielen Objekten gebildet, daher müssen wir möglicherweise eine Kette von Schätzern bauen, über EstimatorChain<TLastTransformer> die der Schätzer, für den wir den Transformator erhalten wollen, irgendwo in dieser Kette begraben wird. Für dieses Szenario können wir über diese Methode einen Delegat anfügen, der aufgerufen wird, sobald "Fit" aufgerufen wird.

Gilt für:

Weitere Informationen