PairwiseCouplingTrainer Класс

Определение

Для IEstimator<TTransformer> обучения парного классификатора с несколькими классами, использующего указанный двоичный классификатор.

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

Комментарии

Чтобы создать этот обучающий средство, используйте PairwiseCoupling.

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

Входные данные столбца меток должны быть ключевым типом, а столбец компонента должен быть известным вектором Singleразмера.

Этот тренер выводит следующие столбцы:

Имя выходного столбца Тип столбца Description
Score Вектор Single Оценки всех классов. Более высокое значение означает более высокую вероятность падения в связанный класс. Если элемент i-th имеет наибольшее значение, прогнозируемый индекс метки будет i. Обратите внимание, что я — отсчитываемый от нуля индекс.
PredictedLabel тип ключа Индекс прогнозируемой метки. Если значение имеет значение i, фактическая метка будет категорией i-th в типе входной метки с ключевым значением.

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

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

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

В этой стратегии алгоритм двоичной классификации обучается для каждой пары классов. Пары неупорядочены, но созданы с заменой: поэтому, если было три класса, 0, 1, 2, мы обучим классификаторы для пар (0,0), (0,1), (0,2), (1,1), (1,2) и (2,2). Для каждого двоичного классификатора точка входных данных считается положительным примером, если он находится в любом из двух классов в паре, и отрицательный пример в противном случае. Во время прогнозирования вероятности для каждой пары классов считаются вероятностью того, что они находятся в любом классе пары с данными, а окончательные прогнозные вероятности из этого класса вычисляются с учетом вероятности того, что пример находится в любой заданной паре.

Это позволяет использовать обучающие средства, которые, естественно, не имеют многоклассового параметра, например, с помощью FastTreeBinaryTrainer решения проблемы с несколькими классами. Кроме того, он может позволить ML.NET решить "простейшую" проблему даже в тех случаях, когда тренер имеет многоклассовый вариант, но его использование напрямую не является практическим из-за, как правило, ограничений памяти. Например, в то время как многоклассовая логистическая регрессия является более принципным способом решения многоклассовой проблемы, требуется, чтобы тренер хранит гораздо более промежуточное состояние в виде журнала L-BFGS для всех классов одновременно, а не только один за один, как было бы необходимо для модели классификации по парной связи.

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

Свойства

Имя Описание
Info

Для IEstimator<TTransformer> обучения парного классификатора с несколькими классами, использующего указанный двоичный классификатор.

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

Методы

Имя Описание
Fit(IDataView)

Соответствует данным преобразователя

GetOutputSchema(SchemaShape)

Возвращает выходные столбцы.

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

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

Имя Описание
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment)

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

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

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

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

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