LbfgsLogisticRegressionBinaryTrainer 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 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ć |
WeightColumn |
Kolumna wagi, którą oczekuje trener. Może to być |
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, LinearModelParameters) |
Kontynuuje trenowanie LbfgsLogisticRegressionBinaryTrainer 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 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ż
- LbfgsLogisticRegression(BinaryClassificationCatalog+BinaryClassificationTrainers, String, String, String, Single, Single, Single, Int32, Boolean)
- LbfgsLogisticRegression(BinaryClassificationCatalog+BinaryClassificationTrainers, LbfgsLogisticRegressionBinaryTrainer+Options)
- LbfgsLogisticRegressionBinaryTrainer.Options