LbfgsLogisticRegressionBinaryTrainer Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Прогнозирование IEstimator<TTransformer> целевого объекта с помощью модели линейной логистической регрессии, обученной с помощью метода 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))
- Наследование
Комментарии
Чтобы создать этот тренер, используйте LbfgsLogisticRegression или LbfgsLogisticRegression(Options).
Входные и выходные столбцы
Данные столбца входной метки должны быть Boolean. Входные данные столбцов функций должны быть известными векторами Singleразмера.
Этот тренер выводит следующие столбцы:
| Имя выходного столбца | Тип столбца | Description | |
|---|---|---|---|
Score |
Single | Несвязанная оценка, вычисляемая моделью. | |
PredictedLabel |
Boolean | Прогнозируемая метка, определяемая по знаку оценки. Отрицательный показатель сопоставляется с false, а положительный показатель сопоставляется с true. |
|
Probability |
Single | Вероятность, вычисляемая путем калибровки оценки значения true в качестве метки. Значение вероятности находится в диапазоне [0, 1]. |
Характеристики тренера
| Задача машинного обучения | Двоичная классификация |
| Требуется ли нормализация? | Yes |
| Требуется ли кэширование? | No |
| Обязательный NuGet в дополнение к Microsoft.ML | Нет |
| Экспортируемый в ONNX | Yes |
Функция оценки
Линейная логистическая регрессия является вариантом линейной модели. Он сопоставляет вектор функций $\textbf{x} \in {\mathbb R}^n$ скаляр через $\hat{y}\left( \textbf{x} \right) = \textbf{w}^T \textbf{x} + b = \sum_{j=1}^n w_j x_j + b$, где $x_j$ — это значение функции $j$-th, $j$-th элемент $\textbf{w}$ является коэффициентом $j$-th функции, и $b$ — это обучаемая предвзятость. Соответствующая вероятность получения истинной метки — $\frac{1}{1 + e^{\hat{y}\left( \textbf{x} \right)}}$.
Сведения об алгоритме обучения
Реализация метода оптимизации основана на методе ограниченной памяти Broyden-Fletcher-Goldfarb-Shanno (L-BFGS). L-BFGS — это квази-Ньютонийский метод , который заменяет дорогостоящие вычислительные затраты на матрицу Хессиана с приближением, но по-прежнему пользуется быстрой скоростью конвергенции, как метод Newton , где вычисляется полная матрица Гессиана. Так как приближение L-BFGS использует только ограниченное количество исторических состояний для вычисления следующего направления шага, оно особенно подходит для проблем с высокомерным вектором признаков. Число исторических состояний является пользовательским параметром, используя большее число, может привести к лучшему приближению к матрице Хессиана, но и более высокой стоимости вычислений на шаг.
Нормализация — это метод, который может более усложнять проблему путем применения ограничений, которые предоставляют информацию для дополнения данных, и что предотвращает переполнение величины модели, как правило, измеряемой некоторыми нормными функциями. Это может улучшить обобщение модели, изученной путем выбора оптимальной сложности в компромиссе предвзятости. Нормализация работает путем добавления штрафа, связанного с значениями коэффициентов к ошибке гипотезы. Точную модель с крайними значениями коэффициентов будет более оштрафовано, но менее точную модель с более консервативными значениями будет штрафовать меньше.
Этот учащийся поддерживает эластичную нормализацию сетки: линейное сочетание L1-норм (LASSO), $|| \textbf{w} ||_1$, и L2-норм (ридж), $|| \textbf{w} ||Регулярности _2^2$ . Нормализации норм L1 и L2-норм имеют различные эффекты и используются, которые являются взаимодополняющими в определенных отношениях. Использование L1-норм может увеличить разреженность обученного $\textbf{w}$. При работе с высокомерными данными при создании прогнозов уменьшается небольшой вес неуместных функций до 0, поэтому ресурс не будет тратиться на эти плохие функции при создании прогнозов. Если используется нормализация норм L1, алгоритм обучения — OWL-QN. Нормализация норм L2 предпочтительнее для данных, которые не разрежены, и она в значительной степени наказывает существование больших весов.
Агрессивная нормализация (то есть назначение больших коэффициентов терминам нормализации L1-норм или L2-норм) может повредить прогнозной емкости, исключив важные переменные из модели. Поэтому при применении логистической регрессии важно выбрать правильные коэффициенты нормализации.
Ознакомьтесь с разделом "См. также" ссылки на примеры использования.
Поля
| Имя | Описание |
|---|---|
| FeatureColumn |
Столбец признаков, который ожидает тренер. (Унаследовано от TrainerEstimatorBase<TTransformer,TModel>) |
| LabelColumn |
Столбец метки, который ожидает тренер. Может быть |
| WeightColumn |
Столбец веса, который ожидает тренер. Может быть |
Свойства
| Имя | Описание |
|---|---|
| Info |
Прогнозирование IEstimator<TTransformer> целевого объекта с помощью модели линейной логистической регрессии, обученной с помощью метода L-BFGS. (Унаследовано от LbfgsTrainerBase<TOptions,TTransformer,TModel>) |
Методы
| Имя | Описание |
|---|---|
| Fit(IDataView, LinearModelParameters) |
Продолжает обучение LbfgsLogisticRegressionBinaryTrainer использования уже обученного |
| Fit(IDataView) |
Поезда и возвращается ITransformer. (Унаследовано от TrainerEstimatorBase<TTransformer,TModel>) |
| GetOutputSchema(SchemaShape) |
Прогнозирование IEstimator<TTransformer> целевого объекта с помощью модели линейной логистической регрессии, обученной с помощью метода L-BFGS. (Унаследовано от TrainerEstimatorBase<TTransformer,TModel>) |
Методы расширения
| Имя | Описание |
|---|---|
| AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
Добавьте "контрольную точку кэширования" в цепочку оценщика. Это гарантирует, что нижестоящий оценщик будет обучен по кэшированным данным. Рекомендуется использовать контрольную точку кэширования перед обучением, которые принимают несколько передач данных. |
| WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
При оценке возвращает объект оболочки, который вызовет делегат после Fit(IDataView) вызова. Часто важно для оценки возвращать сведения о том, что было подходяще, поэтому Fit(IDataView) метод возвращает специально типизированный объект, а не просто общий ITransformer. Однако, в то же время, IEstimator<TTransformer> часто формируются в конвейеры с множеством объектов, поэтому нам может потребоваться построить цепочку оценщиков с помощью EstimatorChain<TLastTransformer> того, где оценка, для которой мы хотим получить преобразователь, похоронен где-то в этой цепочке. В этом сценарии мы можем подключить делегат, который будет вызываться после вызова. |
Применяется к
См. также раздел
- LbfgsLogisticRegressionBinaryTrainer.Options
- LbfgsLogisticRegression(BinaryClassificationCatalog+BinaryClassificationTrainers, String, String, String, Single, Single, Single, Int32, Boolean)
- LbfgsLogisticRegression(BinaryClassificationCatalog+BinaryClassificationTrainers, LbfgsLogisticRegressionBinaryTrainer+Options)