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


LdSvmTrainer Класс

Определение

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

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

Комментарии

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

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

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

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

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

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

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

Local Deep SVM (LD-SVM) — это обобщение локализованного многоуровневого обучения ядра для нелинейного SVM. Несколько методов ядра изучают другое ядро и, следовательно, разные классификаторы для каждой точки в пространстве признаков. Затраты на время прогнозирования для нескольких методов ядра могут быть непомерно дорогими для больших наборов обучения, так как они пропорциональны количеству векторов поддержки, и они растут линейно с размером обучающего набора. LD-SVM сокращает затраты на прогнозирование, изучая внедрение локальных признаков на основе дерева, которое является высокомерным и разреженным, эффективно кодируя нелинейные сущности. Используя LD-SVM, стоимость прогнозирования увеличивается логарифмически с размером обучающего набора, а не линейно с допустимой потерей точности классификации.

Local Deep SVM — это реализация алгоритма, описанного в статье C. Хосе, P. Goyal, P. Aggрваl и M. Varma, Local Deep Kernel Learning for Efficient Non-linear SVM Prediction, ICML, 2013.

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

Поля

FeatureColumn

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

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

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

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

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

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

Свойства

Info

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

Методы

Fit(IDataView)

Тренирует и возвращает .ITransformer

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

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

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

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

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

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

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

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

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

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