Compartir a través de


LbfgsLogisticRegressionBinaryTrainer Clase

Definición

que IEstimator<TTransformer> se va a predecir un destino mediante un modelo de regresión logística lineal entrenado con el 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))
Herencia

Comentarios

Para crear este instructor, use LbfgsLogisticRegression o LbfgsLogisticRegression(Options).

Columnas de entrada y salida

Los datos de la columna de etiquetas de entrada deben ser Boolean. Los datos de columna de las características de entrada deben ser un vector de tamaño conocido de Single.

Este instructor genera las siguientes columnas:

Nombre de columna de salida Tipo de columna Descripción
Score Single Puntuación sin enlazar calculada por el modelo.
PredictedLabel Boolean Etiqueta de predicción, según el signo de la puntuación. Una puntuación negativa se asigna a false y una positiva a true.
Probability Single Probabilidad calculada mediante la calibración de la puntuación de tener true como etiqueta. El valor de probabilidad está en el intervalo [0, 1].

Características del entrenador

Tarea de Machine Learning Clasificación binaria
¿Se requiere normalización?
¿Se requiere el almacenamiento en caché? No
NuGet necesario además de Microsoft.ML None
Exportable a ONNX

Función de puntuación

La regresión logística lineal es una variante del modelo lineal. Asigna el vector de característica $\textbf{x} \in {\mathbb R}^n$ a un escalar a través de $\hat{y}\left( \textbf{x} \right) = \textbf{w}^T \textbf{x} + b = \sum_{j=1}^n w_j x_j + b$, donde el $x_j$ es el valor de la característica $j$-th, el $j$-th elemento de $\textbf{w}$ es el coeficiente de la característica $j$-th, y $b$ es un sesgo que se puede aprender. La probabilidad correspondiente de obtener una etiqueta verdadera es $\frac{1}{1 + e^{\hat{y}\left( \textbf{x} \right)}}$.

Detalles del algoritmo de entrenamiento

La técnica de optimización implementada se basa en el método Broyden-Fletcher-Goldfarb-Shanno (L-BFGS) limitado. L-BFGS es un método cuasi newtoniano que reemplaza el costo de cálculo costoso de la matriz hessiana por una aproximación, pero sigue disfrutando de una velocidad de convergencia rápida como el método Newton donde se calcula la matriz hessiana completa. Dado que la aproximación de L-BFGS solo usa una cantidad limitada de estados históricos para calcular la dirección del paso siguiente, es especialmente adecuado para problemas con vectores de características de alta dimensión. El número de estados históricos es un parámetro especificado por el usuario, el uso de un número mayor puede dar lugar a una mejor aproximación a la matriz hessiana, pero también un mayor costo de cálculo por paso.

La regularización es un método que puede hacer que un problema mal planteado sea más manejable mediante la imposición de restricciones que proporcionan información para complementar los datos y que evita el sobreajuste mediante la penalización de la magnitud del modelo normalmente medida por algunas funciones de norma. Esto puede mejorar la generalización del modelo aprendido seleccionando la complejidad óptima en el equilibrio entre sesgo y varianza. La regularización funciona agregando la penalización asociada a los valores de coeficiente al error de la hipótesis. Un modelo preciso con valores de coeficiente extremos se penalizaría más, y un modelo menos preciso con valores más conservadores se penalizaría menos.

Este aprendiz admite la regularización de red elástica: una combinación lineal de L1-norm (LASSO), $|| \textbf{w} || _1$, y L2-norm (ridge), $|| \textbf{w} || _2^2$ regularizaciones. Las regularizaciones L1-norm y L2-norm tienen diferentes efectos y usos que son complementarios en ciertos aspectos. El uso de L1-norm puede aumentar la dispersidad del $\textbf{w}$entrenado. Al trabajar con datos de alta dimensión, reduce las pequeñas ponderaciones de las características irrelevantes a 0 y, por lo tanto, no se gastará ningún recurso en esas características incorrectas al realizar predicciones. Si se usa la regularización de la norma L1, el algoritmo de entrenamiento es OWL-QN. La regularización de la norma L2 es preferible para los datos que no son dispersos y penaliza en gran medida la existencia de grandes pesos.

Una regularización agresiva (es decir, asignar coeficientes grandes a los términos de regularización L1-norm o L2-norm) puede dañar la capacidad predictiva excluyendo variables importantes fuera del modelo. Por lo tanto, elegir los coeficientes de regularización correctos es importante al aplicar la regresión logística.

Consulte la sección Consulte también los vínculos a ejemplos de uso.

Campos

FeatureColumn

Columna de características que espera el instructor.

(Heredado de TrainerEstimatorBase<TTransformer,TModel>)
LabelColumn

Columna de etiqueta que espera el instructor. Puede ser null, que indica que la etiqueta no se usa para el entrenamiento.

(Heredado de TrainerEstimatorBase<TTransformer,TModel>)
WeightColumn

Columna de peso que espera el entrenador. Puede ser null, lo que indica que el peso no se usa para el entrenamiento.

(Heredado de TrainerEstimatorBase<TTransformer,TModel>)

Propiedades

Info

que IEstimator<TTransformer> se va a predecir un destino mediante un modelo de regresión logística lineal entrenado con el método L-BFGS.

(Heredado de LbfgsTrainerBase<TOptions,TTransformer,TModel>)

Métodos

Fit(IDataView, LinearModelParameters)

Continúa el entrenamiento de un LbfgsLogisticRegressionBinaryTrainer objeto mediante un objeto ya entrenado modelParameters y devuelve .BinaryPredictionTransformer<TModel>

Fit(IDataView)

Entrena y devuelve un ITransformer.

(Heredado de TrainerEstimatorBase<TTransformer,TModel>)
GetOutputSchema(SchemaShape)

que IEstimator<TTransformer> se va a predecir un destino mediante un modelo de regresión logística lineal entrenado con el método L-BFGS.

(Heredado de TrainerEstimatorBase<TTransformer,TModel>)

Métodos de extensión

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

Anexe un "punto de control de almacenamiento en caché" a la cadena del estimador. Esto garantizará que los estimadores de nivel inferior se entrenarán con los datos almacenados en caché. Resulta útil tener un punto de control de almacenamiento en caché antes de que los instructores tomen varios pases de datos.

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

Dado un estimador, devuelva un objeto de ajuste que llamará a un delegado una vez Fit(IDataView) que se llame. A menudo, es importante que un estimador devuelva información sobre lo que cabe, por lo que el Fit(IDataView) método devuelve un objeto con tipo específico, en lugar de simplemente un general ITransformer. Sin embargo, al mismo tiempo, IEstimator<TTransformer> a menudo se forman en canalizaciones con muchos objetos, por lo que es posible que tengamos que crear una cadena de estimadores a través EstimatorChain<TLastTransformer> de donde el estimador para el que queremos obtener el transformador está enterrado en algún lugar de esta cadena. En ese escenario, podemos a través de este método adjuntar un delegado al que se llamará una vez que se llame a fit.

Se aplica a

Consulte también