LbfgsLogisticRegressionBinaryTrainer Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
A IEstimator<TTransformer> previsão de um destino usando um modelo de regressão logística linear treinado com o método 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))
- Herança
Comentários
Para criar este treinador, use LbfgsLogisticRegression ou LbfgsLogisticRegression(Options).
Colunas de entrada e saída
Os dados da coluna de rótulo de entrada devem ser Boolean. Os dados da coluna de recursos de entrada devem ser um vetor de tamanho conhecido de Single.
Este treinador gera as seguintes colunas:
| Nome da coluna de saída | Tipo de Coluna | Descrição | |
|---|---|---|---|
Score |
Single | A pontuação não associado calculada pelo modelo. | |
PredictedLabel |
Boolean | O rótulo previsto com base no sinal da pontuação. Uma pontuação negativa é mapeada para false e uma pontuação positiva é mapeada para true. |
|
Probability |
Single | A probabilidade calculada calibrando a pontuação de ter true como o rótulo. O valor da probabilidade está no intervalo [0, 1]. |
Características do Treinador
| Tarefa de machine learning | Classificação binária |
| A normalização é necessária? | Yes |
| O cache é necessário? | No |
| NuGet necessário além de Microsoft.ML | None |
| Exportável para ONNX | Yes |
Função de pontuação
A regressão logística linear é uma variante do modelo linear. Ele mapeia o vetor de recursos $\textbf{x} \in {\mathbb R}^n$ para um escalar via $\hat{y}\left( \textbf{x} \right) = \textbf{w}^T \textbf{x} + b = \sum_{j=1}^n w_j x_j + b$, em que o $x_j$ é o valor do recurso $j$-th, o elemento $j$-th de $\textbf{w}$ é o coeficiente do recurso $j$-th, e $b$ é um viés de aprendizado. A probabilidade correspondente de obter um rótulo verdadeiro é $\frac{1}{1 + e^{\hat{y}\left( \textbf{x} \right)}}$.
Detalhes do algoritmo de treinamento
A técnica de otimização implementada baseia-se no método de memória limitada Broyden-Fletcher-Goldfarb-Shanno (L-BFGS). L-BFGS é um método quase newtoniano que substitui o caro custo de computação da matriz hessiana por uma aproximação, mas ainda desfruta de uma taxa de convergência rápida como o método Newton onde a matriz hessiana completa é computada. Como a aproximação L-BFGS usa apenas uma quantidade limitada de estados históricos para calcular a direção da próxima etapa, ela é especialmente adequada para problemas com vetor de recursos de alta dimensão. O número de estados históricos é um parâmetro especificado pelo usuário, usando um número maior pode levar a uma melhor aproximação à matriz hessiana, mas também a um custo de computação mais alto por etapa.
A regularização é um método que pode tornar um problema mal representado mais tratável impondo restrições que fornecem informações para complementar os dados e que impede a sobreajuste penalizando a magnitude do modelo geralmente medida por algumas funções normais. Isso pode melhorar a generalização do modelo aprendido selecionando a complexidade ideal na compensação de variação de viés. A regularização funciona adicionando a penalidade associada a valores de coeficiente ao erro da hipótese. Um modelo preciso com valores de coeficiente extremos seria mais penalizado, mas um modelo menos preciso com valores mais conservadores seria menos penalizado.
Este aprendiz dá suporte à regularização de rede elástica: uma combinação linear de LASSO (L1-norm), $|| \textbf{w} ||_1$, e L2-norm (ridge), $|| \textbf{w} ||_2^2$ regularizações. As regularizações L1-norm e L2-norm têm efeitos e usos diferentes que são complementares em determinados aspectos. O uso da norma L1 pode aumentar a moderação do $\textbf{w}$treinado. Ao trabalhar com dados de alta dimensão, ele reduz pequenos pesos de recursos irrelevantes para 0 e, portanto, nenhum recurso será gasto nesses recursos ruins ao fazer previsões. Se a regularização de norma L1 for usada, o algoritmo de treinamento será OWL-QN. A regularização de norma L2 é preferível para dados que não são esparsos e, em grande parte, penalizam a existência de pesos grandes.
Uma regularização agressiva (ou seja, atribuir grandes coeficientes a termos de regularização L1-norm ou L2-norm) pode prejudicar a capacidade preditiva excluindo variáveis importantes do modelo. Portanto, escolher os coeficientes de regularização corretos é importante ao aplicar a regressão logística.
Verifique a seção Consulte Também para obter links para exemplos de uso.
Campos
| Nome | Description |
|---|---|
| FeatureColumn |
A coluna de recursos que o treinador espera. (Herdado de TrainerEstimatorBase<TTransformer,TModel>) |
| LabelColumn |
A coluna de rótulo que o treinador espera. Pode ser |
| WeightColumn |
A coluna de peso que o treinador espera. Pode ser |
Propriedades
| Nome | Description |
|---|---|
| Info |
A IEstimator<TTransformer> previsão de um destino usando um modelo de regressão logística linear treinado com o método L-BFGS. (Herdado de LbfgsTrainerBase<TOptions,TTransformer,TModel>) |
Métodos
| Nome | Description |
|---|---|
| Fit(IDataView, LinearModelParameters) |
Continua o treinamento de um usando um LbfgsLogisticRegressionBinaryTrainer já treinado |
| Fit(IDataView) |
Treina e retorna um ITransformer. (Herdado de TrainerEstimatorBase<TTransformer,TModel>) |
| GetOutputSchema(SchemaShape) |
A IEstimator<TTransformer> previsão de um destino usando um modelo de regressão logística linear treinado com o método L-BFGS. (Herdado de TrainerEstimatorBase<TTransformer,TModel>) |
Métodos de Extensão
| Nome | Description |
|---|---|
| AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
Acrescente um 'ponto de verificação de cache' à cadeia do avaliador. Isso garantirá que os avaliadores downstream serão treinados em relação aos dados armazenados em cache. É útil ter um ponto de verificação de cache antes dos treinadores que têm várias passagens de dados. |
| WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
Dado um avaliador, retorne um objeto de encapsulamento que chamará um delegado uma vez Fit(IDataView) chamado. Geralmente, é importante que um avaliador retorne informações sobre o que estava em forma, e é por isso que o Fit(IDataView) método retorna um objeto especificamente tipado, em vez de apenas um geral ITransformer. No entanto, ao mesmo tempo, IEstimator<TTransformer> muitas vezes são formados em pipelines com muitos objetos, portanto, talvez seja necessário criar uma cadeia de avaliadores por meio EstimatorChain<TLastTransformer> de onde o avaliador para o qual queremos obter o transformador está enterrado em algum lugar nessa cadeia. Para esse cenário, podemos por meio desse método anexar um delegado que será chamado assim que o ajuste for chamado. |
Aplica-se a
Confira também
- LbfgsLogisticRegressionBinaryTrainer.Options
- LbfgsLogisticRegression(BinaryClassificationCatalog+BinaryClassificationTrainers, String, String, String, Single, Single, Single, Int32, Boolean)
- LbfgsLogisticRegression(BinaryClassificationCatalog+BinaryClassificationTrainers, LbfgsLogisticRegressionBinaryTrainer+Options)