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 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
-
RandomizedPcaTrainer
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 |
| WeightColumn |
Die Gewichtsspalte, die der Trainer erwartet. Dies kann sein |
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. |