RandomizedPcaTrainer Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Für IEstimator<TTransformer> die Schulung eines ungefähren PCA mit Randomized 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
-
RandomizedPcaTrainer
Hinweise
Um diesen Trainer zu erstellen, verwenden Sie RandomizedPca oder RandomizedPca(Options).
Eingabe- und Ausgabespalten
Die Eingabefeatures-Spaltendaten müssen ein bekannter Vektor von Single. Der Trainer gibt folgende Spalten aus:
Name der Ausgabespalte | Spaltentyp | BESCHREIBUNG |
---|---|---|
Score |
Single | Die nicht negative, ungebundene Bewertung, die vom Anomalieerkennungsmodell berechnet wurde. |
PredictedLabel |
Boolean | Die vorhergesagte Bezeichnung basierend auf dem Schwellenwert. Eine Bewertung höher als die Schwellenwertzuordnungen und eine Bewertung niedriger als der true Schwellenwert.false Der Standardschwellenwert ist 0.5 . Verwenden Sie <xref:AnomalyDetectionCatalog.ChangeModelThreshold> zum Ändern des Standardwerts. |
Trainereigenschaften
ML-Aufgabe | Erkennung von Anomalien |
Ist die Normalisierung erforderlich? | Yes |
Ist zwischenspeichern erforderlich? | No |
Erforderliche NuGet zusätzlich zu Microsoft.ML | Keine |
Exportierbar in ONNX | No |
Schulungsalgorithmusdetails
Dieser Trainer verwendet die oberen Eigenvectors, um den Teilraum mit der normalen Klasse zu ungefähren. Für jede neue Instanz berechnet sie den Normunterschied zwischen dem rohen Featurevektor und dem projizierten Feature auf diesem Unterbereich. Wenn der Fehler in der Nähe von 0 liegt, wird die Instanz als normal (nicht anomaly) betrachtet.
Genauer gesagt trainiert dieser Trainer eine ungefähre PCA mit einer zufälligen Methode zum Berechnen der Singularwert-Dekomposition (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 mittlere Vektor im projizierten Featureraum $p$
Für einen Eingabefeaturevektor $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 vorgenommen werden kann, indem ApproximatedKernelTransformer die Daten angewendet werden, bevor sie an den Trainer übergeben werden.
Überprüfen Sie den Abschnitt "Siehe auch", um Links zu Verwendungsbeispielen zu finden.
Felder
FeatureColumn |
Die Featurespalte, die der Trainer erwartet. (Geerbt von TrainerEstimatorBase<TTransformer,TModel>) |
LabelColumn |
Die Bezeichnungsspalte, die der Trainer erwartet. Kann sein |
WeightColumn |
Die Gewichtsspalte, die der Trainer erwartet.
|
Eigenschaften
Info |
Für IEstimator<TTransformer> die Schulung eines ungefähren PCA mit Randomized SVD-Algorithmus. |
Methoden
Fit(IDataView) |
Züge und zurückgeben eine ITransformer. (Geerbt von TrainerEstimatorBase<TTransformer,TModel>) |
GetOutputSchema(SchemaShape) |
Für IEstimator<TTransformer> die Schulung eines ungefähren PCA mit Randomized SVD-Algorithmus. (Geerbt von TrainerEstimatorBase<TTransformer,TModel>) |
Erweiterungsmethoden
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
Fügen Sie einen "Zwischenspeicherpunkt" an die Stimatorkette an. Dadurch wird sichergestellt, dass die nachgelagerten Stimatoren gegen zwischengespeicherte Daten trainiert werden. Es ist hilfreich, einen Cache-Prüfpunkt zu haben, bevor Trainer, die mehrere Daten übergeben. |
WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
Geben Sie aufgrund einer Schätzung ein Umbruchobjekt zurück, das einen Stellvertretung aufruft, sobald Fit(IDataView) er aufgerufen wird. Es ist oft wichtig, dass eine Schätzung Informationen zu dem zurückgibt, was passt, weshalb die Fit(IDataView) Methode ein spezifisches typiertes Objekt zurückgibt, anstatt nur ein allgemeines ITransformer. Gleichzeitig IEstimator<TTransformer> werden jedoch oft Pipelines mit vielen Objekten gebildet, sodass wir möglicherweise eine Kette von EstimatorChain<TLastTransformer> Schätzern erstellen müssen, über die der Schätzer, für den wir den Transformator erhalten möchten, irgendwo in dieser Kette begraben wird. Für dieses Szenario können wir über diese Methode eine Stellvertretung anfügen, die einmal aufgerufen wird, wenn die Anpassung aufgerufen wird. |