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


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размера.

Этот алгоритм обучения выводит следующие столбцы:

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

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

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

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

В этой стратегии алгоритм двоичной классификации обучается для каждой пары классов. Пары неупорядочены, но созданы с заменой: поэтому, если бы было три класса, 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> оценщик, для которого мы хотим получить преобразователь, похоронен где-то в этой цепочке. В этом сценарии мы можем подключить делегат, который будет вызываться после вызова соответствия.

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

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