Поделиться через


LinearSvmTrainer Класс

Определение

Прогнозирование IEstimator<TTransformer> целевого объекта с помощью модели линейной двоичной классификации, обученной с помощью Линейного SVM.

public sealed class LinearSvmTrainer : Microsoft.ML.Trainers.OnlineLinearTrainer<Microsoft.ML.Data.BinaryPredictionTransformer<Microsoft.ML.Trainers.LinearBinaryModelParameters>,Microsoft.ML.Trainers.LinearBinaryModelParameters>
type LinearSvmTrainer = class
    inherit OnlineLinearTrainer<BinaryPredictionTransformer<LinearBinaryModelParameters>, LinearBinaryModelParameters>
Public NotInheritable Class LinearSvmTrainer
Inherits OnlineLinearTrainer(Of BinaryPredictionTransformer(Of LinearBinaryModelParameters), LinearBinaryModelParameters)
Наследование

Комментарии

Чтобы создать этот обучатель, используйте LinearSvm или LinearSvm(Options).

Входные и выходные столбцы

Входные данные столбца меток должны иметь тип Boolean. Входные данные столбцов должны быть вектором известного Singleразмера. Этот алгоритм обучения выводит следующие столбцы:

Имя выходного столбца Тип столбца Описание
Score Single Несвязанная оценка, вычисляемая моделью.
PredictedLabel Boolean Прогнозируемая метка, зависящая от знака оценки. Отрицательная оценка соответствует значению false, а положительная — значению true.

Характеристики тренера

Задача машинного обучения Двоичная классификация
Требуется ли нормализация? Да
Требуется ли кэширование? Нет
Обязательный NuGet в дополнение к Microsoft.ML Нет
Экспортируемый в ONNX Да

Сведения о алгоритме обучения

Линейный SVM реализует алгоритм, который находит гиперплан в пространстве признаков для двоичной классификации путем решения проблемы SVM. Например, с значениями признаков $f_0, f_1,..., f_{D-1}$, прогноз предоставляется путем определения того, в какой стороне гиперплана точка попадает. Это то же самое, что и знак взвешаемой суммы, т. е. $\sum_{i = 0}^{D-1} \left(w_i * f_i \right) + b$, где $w_0, w_1,..., w_{D-1}$ — это весовые коэффициенты, вычисляемые алгоритмом, а $b$ — это смещение, вычисленное алгоритмом.

Линейный SVM реализует метод PEGASOS, который чередуется между стохастических градиентных шагов градиента и шагов проекции, представленных в этом документе Шалев-Шварц, Певица и Сребро.

Ознакомьтесь с разделом "См. также" ссылки на примеры использования.

Поля

FeatureColumn

Столбец признаков, который ожидает тренер.

(Унаследовано от TrainerEstimatorBase<TTransformer,TModel>)
LabelColumn

Столбец меток, который ожидает тренер. Может иметь значение null, указывающее, что метка не используется для обучения.

(Унаследовано от TrainerEstimatorBase<TTransformer,TModel>)
WeightColumn

Столбец веса, который ожидает тренер. Может быть null, что указывает, что вес не используется для обучения.

(Унаследовано от TrainerEstimatorBase<TTransformer,TModel>)

Свойства

Info

Прогнозирование IEstimator<TTransformer> целевого объекта с помощью модели линейной двоичной классификации, обученной с помощью Линейного SVM.

(Унаследовано от OnlineLinearTrainer<TTransformer,TModel>)

Методы

Fit(IDataView, LinearModelParameters)

Продолжает обучение использования уже обученного OnlineLinearTrainer<TTransformer,TModel>modelParameters и возвращает значение ITransformer.

(Унаследовано от OnlineLinearTrainer<TTransformer,TModel>)
Fit(IDataView)

Поезда и возвращается ITransformer.

(Унаследовано от TrainerEstimatorBase<TTransformer,TModel>)
GetOutputSchema(SchemaShape)

Прогнозирование IEstimator<TTransformer> целевого объекта с помощью модели линейной двоичной классификации, обученной с помощью Линейного SVM.

(Унаследовано от TrainerEstimatorBase<TTransformer,TModel>)

Методы расширения

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

Добавьте "контрольную точку кэширования" в цепочку оценщика. Это обеспечит обучение подчиненных оценщиков на основе кэшированных данных. Рекомендуется создать контрольную точку кэширования перед обучением, которые принимают несколько передач данных.

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

Учитывая оценщик, возвращает объект-оболочку, который будет вызывать делегат один раз Fit(IDataView) . Часто важно, чтобы оценщик возвращал сведения о том, что было в форме, поэтому Fit(IDataView) метод возвращает специально типизированный объект, а не просто общий ITransformer. Однако, в то же время, IEstimator<TTransformer> часто формируются в конвейеры со многими объектами, поэтому нам может потребоваться построить цепочку оценщиков, где EstimatorChain<TLastTransformer> оценщик, для которого мы хотим получить преобразователь, похоронен где-то в этой цепочке. В этом сценарии мы можем подключить делегат, который будет вызываться после вызова соответствия.

Применяется к

См. также раздел