Share via


LbfgsLogisticRegressionBinaryTrainer Třída

Definice

Předpověď IEstimator<TTransformer> cíle pomocí lineárního logistického regresního modelu natrénovaného metodou 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))
Dědičnost

Poznámky

K vytvoření tohoto trenéra použijte LbfgsLogisticRegression nebo LbfgsLogisticRegression(Options).

Vstupní a výstupní sloupce

Vstupní data sloupce popisku musí být Boolean. Vstupní funkce sloupcová data musí být vektorem známé velikosti Single.

Tento trenér vypíše následující sloupce:

Název výstupního sloupce Typ sloupce Description
Score Single Nevázané skóre, které model vypočítal.
PredictedLabel Boolean Predikovaný popisek na základě znaménka skóre. Záporná skóre mapuje na false a kladná skóre se mapuje na true.
Probability Single Pravděpodobnost vypočítaná kalibrací skóre hodnoty true jako popisku. Hodnota pravděpodobnosti je v rozsahu [0, 1].

Charakteristiky trenéra

Úloha strojového učení Binární klasifikace
Vyžaduje se normalizace? Yes
Vyžaduje se ukládání do mezipaměti? No
Požadovaný NuGet kromě Microsoft.ML Žádné
Exportovatelné do ONNX Yes

Bodovací funkce

Lineární logistická regrese je variantou lineárního modelu. Mapuje vektor funkce $\textbf{x} \in {\mathbb R}^n$ na skalár prostřednictvím $\hat{y}\left( \textbf{x} \right) = \textbf{w}^T \textbf{x} + b = \sum_{j=1}^n w_j x_j + b$, kde $x_j$ je hodnota funkce $j$-th, $j$-th prvek $\textbf{w}$ je koeficient $j$-th, a $b$ je naučitelný předsudk. Odpovídající pravděpodobnost získání skutečného popisku je $\frac{1}{1 + e^{\hat{y}\left( \textbf{x} \right)}}$.

Podrobnosti trénovacího algoritmu

Implementovaná technika optimalizace je založená na omezené paměti Broyden-Fletcher-Goldfarb-Shanno metoda (L-BFGS). L-BFGS je quasi-Newtonská metoda , která nahrazuje nákladné výpočetní náklady hessovské matice aproximací, ale stále má rychlou konvergenční rychlost, jako je newtonská metoda , kde je vypočítán plný Hessian matice. Vzhledem k tomu, že l-BFGS aproximace používá pouze omezené množství historických stavů k výpočtu směru dalšího kroku, je zvláště vhodné pro problémy s vysoce dimenzionálním vektorem funkce. Počet historických stavů je parametr zadaný uživatelem, při použití většího čísla může dojít k lepší aproximaci matici Hessian, ale také vyšší výpočetní náklady na krok.

Regularizace je metoda, která může vykreslit problém, který je špatně vyvolaný tím, že uloží omezení, která poskytují informace k doplnění dat a které brání přeurčení tím, že velikost modelu obvykle měří některými normovými funkcemi. To může zlepšit generalizaci modelu získané výběrem optimální složitosti v kompromisu odchylky. Regularizace funguje přidáním pokuty, která je spojena s hodnotami koeficientu k chybě hypotézy. Přesný model s extrémními hodnotami koeficientu by byl penalizován více, ale méně přesný model s konzervativnějšími hodnotami by byl penalizován méně.

Tento learner podporuje elastické regularizace net: lineární kombinace L1-norm (LASSO), $|| \textbf{w} || _1$ a L2-norm (ridge), $|| \textbf{w} || _2^2$ – regularizace. Normalizace L1 norm a L2-norm mají různé účinky a použití, které se v určitých ohledech doplňují. Použití L1-norm může zvýšit sparsity trénovaného $\textbf{w}$. Při práci s vysoce dimenzionálními daty se zmenší malá váha nepodstatných funkcí na 0, a proto nebude žádný prostředek vynaložen na ty špatné funkce při vytváření předpovědí. Pokud se používá regularizace L1,trénovací algoritmus je OWL-QN. Regularizace L2-norm je vhodnější pro data, která nejsou řídká a do značné míry penalizuje existenci velkých hmotností.

Agresivní regularizace (tj. přiřazení velkých koeficientů k regulárním termínům L1 nebo L2-norm) může poškodit prediktivní kapacitu vyloučením důležitých proměnných z modelu. Proto je při použití logistické regrese důležité zvolit správné regulační koeficienty.

Odkazy na příklady použití najdete v části Viz také.

Pole

FeatureColumn

Sloupec funkcí, který trenér očekává.

(Zděděno od TrainerEstimatorBase<TTransformer,TModel>)
LabelColumn

Sloupec popisku, který trenér očekává. Může to být null, což označuje, že popisek se nepoužívá pro trénování.

(Zděděno od TrainerEstimatorBase<TTransformer,TModel>)
WeightColumn

Sloupec hmotnosti, který trenér očekává. Může to být null, což značí, že váha se nepoužívá pro trénování.

(Zděděno od TrainerEstimatorBase<TTransformer,TModel>)

Vlastnosti

Info

Předpověď IEstimator<TTransformer> cíle pomocí lineárního logistického regresního modelu natrénovaného metodou L-BFGS.

(Zděděno od LbfgsTrainerBase<TOptions,TTransformer,TModel>)

Metody

Fit(IDataView)

Vlaky a vrací hodnotu ITransformer.

(Zděděno od TrainerEstimatorBase<TTransformer,TModel>)
Fit(IDataView, LinearModelParameters)

Pokračuje v trénování LbfgsLogisticRegressionBinaryTrainer pomocí již natrénovaného modelParameters a vrátí BinaryPredictionTransformer<TModel>hodnotu .

GetOutputSchema(SchemaShape)

Předpověď IEstimator<TTransformer> cíle pomocí lineárního logistického regresního modelu natrénovaného metodou L-BFGS.

(Zděděno od TrainerEstimatorBase<TTransformer,TModel>)

Metody rozšíření

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

Připojte k řetězci estimátoru kontrolní bod ukládání do mezipaměti. Tím zajistíte, aby podřízené estimátory byly vytrénovány proti datům uloženým v mezipaměti. Před průchodem více dat je užitečné mít kontrolní bod ukládání do mezipaměti.

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

Vzhledem k estimátoru vraťte zalamovací objekt, který zavolá delegáta jednou Fit(IDataView) . Často je důležité, aby odhadovač vrátil informace o tom, co bylo vhodné, což je důvod, proč Fit(IDataView) metoda vrací konkrétně typ objekt, nikoli jen obecné ITransformer. Ve stejnou dobu se však často vytvářejí do kanálů s mnoha objekty, takže možná budeme muset vytvořit řetězec estimátorů, kde EstimatorChain<TLastTransformer> je odhadovač, IEstimator<TTransformer> pro který chceme získat transformátor, zakopán někde v tomto řetězci. Pro tento scénář můžeme prostřednictvím této metody připojit delegáta, který bude volána po zavolání fit.

Platí pro

Viz také