Udostępnij za pośrednictwem


LbfgsLogisticRegressionBinaryTrainer Klasa

Definicja

Element IEstimator<TTransformer> do przewidywania celu przy użyciu liniowego modelu regresji logistycznej wytrenowanego przy użyciu metody L-BFGS.

public sealed class LbfgsLogisticRegressionBinaryTrainer : Microsoft.ML.Trainers.LbfgsTrainerBase<Microsoft.ML.Trainers.LbfgsLogisticRegressionBinaryTrainer.Options,Microsoft.ML.Data.BinaryPredictionTransformer<Microsoft.ML.Calibrators.CalibratedModelParametersBase<Microsoft.ML.Trainers.LinearBinaryModelParameters,Microsoft.ML.Calibrators.PlattCalibrator>>,Microsoft.ML.Calibrators.CalibratedModelParametersBase<Microsoft.ML.Trainers.LinearBinaryModelParameters,Microsoft.ML.Calibrators.PlattCalibrator>>
type LbfgsLogisticRegressionBinaryTrainer = class
    inherit LbfgsTrainerBase<LbfgsLogisticRegressionBinaryTrainer.Options, BinaryPredictionTransformer<CalibratedModelParametersBase<LinearBinaryModelParameters, PlattCalibrator>>, CalibratedModelParametersBase<LinearBinaryModelParameters, PlattCalibrator>>
Public NotInheritable Class LbfgsLogisticRegressionBinaryTrainer
Inherits LbfgsTrainerBase(Of LbfgsLogisticRegressionBinaryTrainer.Options, BinaryPredictionTransformer(Of CalibratedModelParametersBase(Of LinearBinaryModelParameters, PlattCalibrator)), CalibratedModelParametersBase(Of LinearBinaryModelParameters, PlattCalibrator))
Dziedziczenie

Uwagi

Aby utworzyć ten trener, użyj LbfgsLogisticRegression lub LbfgsLogisticRegression(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.
Probability Single Prawdopodobieństwo obliczone przez kalibrowanie wyniku wartości true jako etykiety. Wartość prawdopodobieństwa jest w zakresie [0, 1].

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

Funkcja oceniania

Regresja logistyczna liniowa jest wariantem modelu liniowego. Mapuje wektor funkcji $\textbf{x} \in {\mathbb R}^n$ na skalarny za pośrednictwem $\hat{y}\left( \textbf{x} \right) = \textbf{w}^T \textbf{x} + b = \sum_{j=1}^n w_j x_j + b$, gdzie $x_j$ jest wartością funkcji $j$-th, $j$-th element $\textbf{w}$ jest współczynnik $j$-th funkcji, i $b$ to czytelna stronnicza stronnicza. Odpowiednie prawdopodobieństwo uzyskania etykiety true to $\frac{1}{1 + e^{\hat{y}\left( \textbf{x} \right)}$.

Szczegóły algorytmu trenowania

Zaimplementowana technika optymalizacji jest oparta na metodzie Broyden-Fletcher-Goldfarb-Shanno (L-BFGS). L-BFGS to metoda quasi-newtonijska , która zastępuje koszt koszt obliczeń macierzy Hessian przybliżeniem, ale nadal cieszy się szybkim współczynnikiem zbieżności, takim jak metoda Newton , gdzie obliczana jest pełna macierz Hessyjska. Ponieważ przybliżenie L-BFGS używa tylko ograniczonej ilości stanów historycznych do obliczenia następnego kierunku kroku, szczególnie nadaje się do problemów z wektorem cech o wysokim wymiarach. Liczba stanów historycznych jest parametrem określonym przez użytkownika, użycie większej liczby może prowadzić do lepszego przybliżenia macierzy Hessian, ale także wyższego kosztu obliczeń na krok.

Regularyzacja to metoda, która może sprawić, że źle stwarzany problem będzie bardziej czytelny, nakładając ograniczenia, które dostarczają informacji w celu uzupełnienia danych i które zapobiega nadmiernemu dopasowaniu wielkości modelu zwykle mierzonej przez niektóre funkcje norm. Może to poprawić uogólnienie modelu poznanego, wybierając optymalną złożoność kompromisu wariancji stronniczości. Regularyzacja działa, dodając karę skojarzoną z wartościami współczynników do błędu hipotezy. Dokładny model o skrajnych wartościach współczynników byłby bardziej ukarany, ale mniej dokładny model z bardziej konserwatywnymi wartościami byłby ukarany mniej.

Ten uczni obsługuje regularizację elastycznej sieci: liniową kombinację L1-norm (LASSO), $|| \textbf{w} || _1$, i L2-norm (ridge), $|| \textbf{w} || _2^2$ regularyzacji. Regularne normy L1 i L2 mają różne skutki i zastosowania, które uzupełniają się pod pewnymi względami. Użycie normy L1 może zwiększyć rozrzedwienie wytrenowanego $\textbf{w}$. Podczas pracy z danymi o wysokim wymiarach zmniejsza małe wagi nieistotnych funkcji do 0, dlatego żaden zasób nie zostanie wydany na te złe funkcje podczas przewidywania. Jeśli jest używana regularyzacja L1 norm, algorytm trenowania to OWL-QN. Regularyzacja L2-norm jest preferowana dla danych, które nie są rozrzedne i w dużej mierze kara istnienie dużych wag.

Agresywna regularyzacja (czyli przypisywanie dużych współczynników do terminów regularyzacji L1 lub L2-norm) może zaszkodzić wydajności predykcyjnej, wykluczając ważne zmienne z modelu. Dlatego wybranie odpowiednich współczynników regularyzacji jest ważne podczas stosowania regresji logistycznej.

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 regresji logistycznej wytrenowanego przy użyciu metody L-BFGS.

(Odziedziczone po LbfgsTrainerBase<TOptions,TTransformer,TModel>)

Metody

Fit(IDataView)

Trenuje i zwraca wartość ITransformer.

(Odziedziczone po TrainerEstimatorBase<TTransformer,TModel>)
Fit(IDataView, LinearModelParameters)

Kontynuuje trenowanie LbfgsLogisticRegressionBinaryTrainer przy użyciu już wytrenowanego modelParameters i zwraca wartość BinaryPredictionTransformer<TModel>.

GetOutputSchema(SchemaShape)

Element IEstimator<TTransformer> do przewidywania celu przy użyciu liniowego modelu regresji logistycznej wytrenowanego przy użyciu metody L-BFGS.

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