LinearSvmTrainer Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Element IEstimator<TTransformer> do przewidywania celu przy użyciu liniowego modelu klasyfikacji binarnej wytrenowany przy użyciu liniowego wektora wektorów nośnych.
public sealed class LinearSvmTrainer : Microsoft.ML.Trainers.OnlineLinearTrainer<Microsoft.ML.Data.BinaryPredictionTransformer<Microsoft.ML.Trainers.LinearBinaryModelParameters>,Microsoft.ML.Trainers.LinearBinaryModelParameters>
type LinearSvmTrainer = class
inherit OnlineLinearTrainer<BinaryPredictionTransformer<LinearBinaryModelParameters>, LinearBinaryModelParameters>
Public NotInheritable Class LinearSvmTrainer
Inherits OnlineLinearTrainer(Of BinaryPredictionTransformer(Of LinearBinaryModelParameters), LinearBinaryModelParameters)
- Dziedziczenie
Uwagi
Aby utworzyć ten trener, użyj polecenia LinearSvm lub LinearSvm(Options).
Kolumny wejściowe i wyjściowe
Dane kolumny etykiety wejściowej muszą mieć wartość Boolean. Dane kolumn danych wejściowych muszą być znanym wektorem o rozmiarze Single. Ten trener wyprowadza następujące kolumny:
Nazwa kolumny wyjściowej | Typ kolumny | Opis |
---|---|---|
Score |
Single | Niezwiązany wynik 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 wartość . |
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 |
Możliwość eksportowania do ONNX | Tak |
Szczegóły algorytmu trenowania
Liniowa maszyna wektorów nośnych implementuje algorytm, który znajduje hiperpłaszyt w przestrzeni funkcji klasyfikacji binarnej, rozwiązując problem z maszyną wektorów nośnych. Na przykład w przypadku wartości funkcji $f_0, f_1,..., f_{D-1}$, przewidywanie jest podane przez określenie, do której strony hiperpłapłatu wchodzi punkt. Jest to takie samo jak znak ważonej sumy feautures, tj. $\sum_{i = 0}^{D-1} \left(w_i * f_i \right) + b$, gdzie $w_0, w_1,..., w_{D-1}$ to wagi obliczone przez algorytm, a $b$ to stronniczość obliczona przez algorytm.
Linear SVM implementuje metodę PEGASOS, która zmienia się między stochastycznymi krokami spadku gradientu i krokami projekcji, wprowadzonymi w tym artykule przez Shalev-Shwartz, Singer i Srebro.
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 oczekiwana przez trenera. Może to być |
WeightColumn |
Kolumna wagi oczekiwana przez trenera. Może to być |
Właściwości
Info |
Element IEstimator<TTransformer> do przewidywania celu przy użyciu liniowego modelu klasyfikacji binarnej wytrenowany przy użyciu liniowego wektora wektorów nośnych. (Odziedziczone po OnlineLinearTrainer<TTransformer,TModel>) |
Metody
Fit(IDataView, LinearModelParameters) |
Kontynuuje trenowanie OnlineLinearTrainer<TTransformer,TModel> przy użyciu już wytrenowanego |
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 przy użyciu liniowego wektora wektorów nośnych. (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 pod kątem buforowanych danych. Warto mieć punkt kontrolny buforowania, zanim trenerzy przejdą wiele danych. |
WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
Biorąc pod uwagę narzędzie do szacowania, zwróć obiekt opakowujący, który będzie wywoływać 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ólny ITransformerelement . Jednak w tym samym czasie IEstimator<TTransformer> są często tworzone w potoki z wieloma obiektami, więc może być konieczne utworzenie łańcucha narzędzi do szacowania, za pośrednictwem EstimatorChain<TLastTransformer> którego 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. |