Freigeben über


AveragedPerceptronTrainer Klasse

Definition

Das IEstimator<TTransformer> Ziel mithilfe eines linearen binären Klassifizierungsmodells, das mit dem durchschnittlichen Perceptron trainiert wurde, vorherzusagen.

public sealed class AveragedPerceptronTrainer : Microsoft.ML.Trainers.AveragedLinearTrainer<Microsoft.ML.Data.BinaryPredictionTransformer<Microsoft.ML.Trainers.LinearBinaryModelParameters>,Microsoft.ML.Trainers.LinearBinaryModelParameters>
type AveragedPerceptronTrainer = class
    inherit AveragedLinearTrainer<BinaryPredictionTransformer<LinearBinaryModelParameters>, LinearBinaryModelParameters>
Public NotInheritable Class AveragedPerceptronTrainer
Inherits AveragedLinearTrainer(Of BinaryPredictionTransformer(Of LinearBinaryModelParameters), LinearBinaryModelParameters)
Vererbung

Hinweise

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

Eingabe- und Ausgabespalten

Die Daten in der Spalte für die Eingabezeichnung müssen Boolean sein. Die Eingabefeatures-Spaltendaten müssen ein bekannter Vektor von Single. Der Trainer gibt folgende Spalten aus:

Name der Ausgabespalte Spaltentyp BESCHREIBUNG
Score Single Die von dem Modell berechnete ungebundene Bewertung.
PredictedLabel Boolean Der vorhergesagte Bezeichnung, basierend auf dem Abzeichnen der Bewertung. Eine negative Bewertung wird false und eine positive Bewertung wird true zugeordnet.

Trainereigenschaften

ML-Aufgabe Binäre Klassifizierung
Ist die Normalisierung erforderlich? Yes
Ist zwischenspeichern erforderlich? No
Erforderliche NuGet zusätzlich zu Microsoft.ML Keine
Exportierbar in ONNX Yes

Schulungsalgorithmusdetails

Der Perceptron ist ein Klassifizierungsalgorithmus, der seine Vorhersagen macht, indem sie eine separate Hyperplane finden. Mit Featurewerten $f_0, f_1,..., f_{D-1}$, wird die Vorhersage angegeben, indem sie bestimmt, in welche Seite der Hyperplane der Punkt fällt. Das entspricht dem Zeichen der gewichteten Summe der Feautures, d. h. $\sum_{i = 0}^{D-1} (w_i * f_i) + b$, wobei $w_0, w_1,..., w_{D-1}$ die Gewichtungen sind, die vom Algorithmus berechnet werden, und $b$ ist die vom Algorithmus berechnete Verzerrung.

Das Perceptron ist ein Onlinealgorithmus, was bedeutet, dass die Instanzen im Schulungssatz jeweils einmal verarbeitet werden. Es beginnt mit einer Reihe von Anfangsgewichten (Null, Zufällig oder initialisiert von einem vorherigen Lerner). Anschließend wird für jedes Beispiel im Schulungssatz die gewichtete Summe der Features berechnet. Wenn dieser Wert das gleiche Zeichen wie die Bezeichnung des aktuellen Beispiels aufweist, bleiben die Gewichtungen identisch. Wenn sie entgegengesetzte Zeichen haben, wird der Gewichtungsvektor durch Hinzufügen oder Subtrahieren (wenn die Bezeichnung positiv oder negativ ist, bzw. negativ) den Featurevektor des aktuellen Beispiels, multipliziert durch einen Faktor 0 < a <= 1, als Lernrate bezeichnet. In einer Generalisierung dieses Algorithmus werden die Gewichtungen aktualisiert, indem der Featurevektor durch die Lernrate multipliziert wird, und durch den Farbverlauf einiger Verlustfunktion (im oben beschriebenen Fall ist der Verlust hinge-Loss, dessen Farbverlauf 1 ist, wenn es nicht null ist).

In Averaged Perceptron (aka vod-perceptron), wird für jede Iteration, d. h. durch die Schulungsdaten, ein Gewichtsvektor berechnet, wie oben erläutert. Die endgültige Vorhersage wird dann durch Ververrechnung der gewichteten Summe aus jedem Gewichtsvektor berechnet und das Zeichen des Ergebnisses betrachtet.

Weitere Informationen finden Sie im Wikipedia-Eintrag für Perceptron oder große Randklassifizierung mithilfe des Perceptron-Algorithmus.

Ü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 null, was angibt, dass die Bezeichnung nicht für Schulungen verwendet wird.

(Geerbt von TrainerEstimatorBase<TTransformer,TModel>)
WeightColumn

Die Gewichtsspalte, die der Trainer erwartet. nullKann sein, was angibt, dass das Gewicht nicht für die Schulung verwendet wird.

(Geerbt von TrainerEstimatorBase<TTransformer,TModel>)

Eigenschaften

Info

Das IEstimator<TTransformer> Ziel mithilfe eines linearen binären Klassifizierungsmodells, das mit dem durchschnittlichen Perceptron trainiert wurde, vorherzusagen.

(Geerbt von OnlineLinearTrainer<TTransformer,TModel>)

Methoden

Fit(IDataView, LinearModelParameters)

Führt die Schulung einer OnlineLinearTrainer<TTransformer,TModel> bereits trainierten modelParameters Und gibt eine ITransformer.

(Geerbt von OnlineLinearTrainer<TTransformer,TModel>)
Fit(IDataView)

Züge und zurückgeben eine ITransformer.

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

Das IEstimator<TTransformer> Ziel mithilfe eines linearen binären Klassifizierungsmodells, das mit dem durchschnittlichen Perceptron trainiert wurde, vorherzusagen.

(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.

Gilt für:

Weitere Informationen