Udostępnij za pośrednictwem


AveragedPerceptronTrainer Klasa

Definicja

Element IEstimator<TTransformer> do przewidywania celu przy użyciu liniowego modelu klasyfikacji binarnej wytrenowany za pomocą przeciętnego perceptronu.

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

Uwagi

Aby utworzyć ten trener, użyj polecenia AveragedPerceptron lub AveragedPerceptron(Options).

Kolumny wejściowe i wyjściowe

Dane kolumny etykiety wejściowej muszą mieć wartość Boolean. Dane wejściowe funkcji kolumny muszą być znanym wektorem o rozmiarze Single. Ten trener generuje następujące kolumny:

Nazwa kolumny wyjściowej Typ kolumny Opis
Score Single Niezwiązany wynik, który został obliczony przez model.
PredictedLabel Boolean Przewidywana etykieta na podstawie znaku wyniku. Wynik ujemny mapuje na false wartości i wynik dodatni jest mapowy na true.

Cechy trenera

Zadanie uczenia maszynowego Klasyfikacja binarna
Czy normalizacja jest wymagana? Tak
Czy buforowanie jest wymagane? Nie
Wymagane narzędzie NuGet oprócz Microsoft.ML Brak
Eksportowanie do pliku ONNX Tak

Szczegóły algorytmu trenowania

Perceptron to algorytm klasyfikacji, który tworzy przewidywania przez znalezienie oddzielającego hiperpłaszczyzny. Na przykład z wartościami funkcji $f_0, f_1,..., f_{D-1}$, przewidywanie jest podane przez określenie, która strona hiperpłaszczyzny przypada. Jest to takie samo, jak znak ważonej sumy feautures, tj. $\sum_{i = 0}^{D-1} (w_i * f_i) + b$, gdzie $w_0, w_1,..., w_{D-1}$ są wagami obliczanymi przez algorytm, a $b$ jest stronniczość obliczana przez algorytm.

Perceptron to algorytm online, co oznacza, że przetwarza wystąpienia w zestawie treningowym pojedynczo. Rozpoczyna się od zestawu początkowych wag (zero, losowe lub zainicjowane z poprzedniego ucznia). Następnie dla każdego przykładu w zestawie treningowym obliczana jest ważona suma funkcji. Jeśli ta wartość ma ten sam znak co etykieta bieżącego przykładu, wagi pozostają takie same. Jeśli mają przeciwległe znaki, wektor wagi jest aktualizowany przez dodanie lub odejmowanie (jeśli etykieta jest dodatnia lub ujemna), wektor funkcji bieżącego przykładu, pomnożony przez współczynnik 0 <<a = 1, nazywany współczynnikiem uczenia. W uogólnieniu tego algorytmu wagi są aktualizowane przez dodanie wektora funkcji mnożonego przez szybkość uczenia, a gradient niektórych funkcji utraty (w określonym przypadku opisanym powyżej utrata jest utrata zawiasu, której gradient wynosi 1, gdy jest niezerowy).

W kolumnie Averaged Perceptron (aka voted-perceptron) dla każdej iteracji, czyli przekazywania danych treningowych, wektor wagi jest obliczany zgodnie z powyższym wyjaśnieniem. Ostateczne przewidywanie jest następnie obliczane przez średnio ważoną sumę z każdego wektora wagi i patrząc na znak wyniku.

Aby uzyskać więcej informacji, zobacz wpis w wikipedii dotyczący klasyfikacji perceptron lub klasyfikacji dużego marginesu przy użyciu algorytmu perceptronu.

Zapoznaj się z sekcją Zobacz również, aby uzyskać linki do przykładów użycia.

Pola

FeatureColumn

Kolumna funkcji, której oczekuje trener.

(Odziedziczone po TrainerEstimatorBase<TTransformer,TModel>)
LabelColumn

Kolumna etykiety, którą oczekuje trener. Może to być nullwartość , która wskazuje, że etykieta nie jest używana do trenowania.

(Odziedziczone po TrainerEstimatorBase<TTransformer,TModel>)
WeightColumn

Kolumna wagi, którą oczekuje trener. Może to być null, co wskazuje, że waga nie jest używana do trenowania.

(Odziedziczone po TrainerEstimatorBase<TTransformer,TModel>)

Właściwości

Info

Element IEstimator<TTransformer> do przewidywania celu przy użyciu liniowego modelu klasyfikacji binarnej wytrenowany za pomocą przeciętnego perceptronu.

(Odziedziczone po OnlineLinearTrainer<TTransformer,TModel>)

Metody

Fit(IDataView, LinearModelParameters)

Kontynuuje trenowanie OnlineLinearTrainer<TTransformer,TModel> przy użyciu już wytrenowanego modelParameters i zwraca wartość ITransformer.

(Odziedziczone po OnlineLinearTrainer<TTransformer,TModel>)
Fit(IDataView)

Trenuje i zwraca wartość ITransformer.

(Odziedziczone po TrainerEstimatorBase<TTransformer,TModel>)
GetOutputSchema(SchemaShape)

Element IEstimator<TTransformer> do przewidywania celu przy użyciu liniowego modelu klasyfikacji binarnej wytrenowany za pomocą przeciętnego perceptronu.

(Odziedziczone po TrainerEstimatorBase<TTransformer,TModel>)

Metody rozszerzania

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

Dołącz punkt kontrolny buforowania do łańcucha narzędzia do szacowania. Zapewni to, że narzędzia do szacowania podrzędnego zostaną wytrenowane względem buforowanych danych. Warto mieć punkt kontrolny buforowania, zanim trenerzy przejmą wiele danych.

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

Biorąc pod uwagę narzędzie do szacowania, zwróć obiekt opakowujący, który wywoła delegata po Fit(IDataView) wywołaniu. Często ważne jest, aby narzędzie do szacowania zwracało informacje o tym, co było odpowiednie, dlatego Fit(IDataView) metoda zwraca specjalnie wpisany obiekt, a nie tylko ogólną ITransformerwartość . Jednak w tym samym czasie IEstimator<TTransformer> często są tworzone w potoki z wieloma obiektami, więc może być konieczne utworzenie łańcucha narzędzi do szacowania za pośrednictwem EstimatorChain<TLastTransformer> miejsca, w którym narzędzie do szacowania, dla którego chcemy uzyskać transformator jest pochowany gdzieś w tym łańcuchu. W tym scenariuszu możemy za pomocą tej metody dołączyć delegata, który zostanie wywołany po wywołaniu dopasowania.

Dotyczy

Zobacz też