FastTreeRankingTrainer Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Обучение IEstimator<TTransformer> модели ранжирования дерева принятия решений с помощью FastTree.
public sealed class FastTreeRankingTrainer : Microsoft.ML.Trainers.FastTree.BoostingFastTreeTrainerBase<Microsoft.ML.Trainers.FastTree.FastTreeRankingTrainer.Options,Microsoft.ML.Data.RankingPredictionTransformer<Microsoft.ML.Trainers.FastTree.FastTreeRankingModelParameters>,Microsoft.ML.Trainers.FastTree.FastTreeRankingModelParameters>
type FastTreeRankingTrainer = class
inherit BoostingFastTreeTrainerBase<FastTreeRankingTrainer.Options, RankingPredictionTransformer<FastTreeRankingModelParameters>, FastTreeRankingModelParameters>
Public NotInheritable Class FastTreeRankingTrainer
Inherits BoostingFastTreeTrainerBase(Of FastTreeRankingTrainer.Options, RankingPredictionTransformer(Of FastTreeRankingModelParameters), FastTreeRankingModelParameters)
- Наследование
Комментарии
Чтобы создать этот обучатель, используйте FastTree или FastTree(Options).
Входные и выходные столбцы
Входные данные метки должны иметь тип key или Single. Значение метки определяет релевантность, где более высокие значения означают более высокую степень релевантности. Если метка имеет тип key, индексом ключа будет значение релевантности, где наименьший индекс является минимально релевантным. Если метка имеет тип Single, более высокие значения означают более высокую степень релевантности. Столбец признаков должен быть вектором известного Single размера, а столбец входной группы строк должен быть типом ключа .
Этот алгоритм обучения выводит следующие столбцы:
Имя выходного столбца | Тип столбца | Описание |
---|---|---|
Score |
Single | Несвязанная оценка, вычисляемая моделью для определения прогноза. |
Характеристики тренера
Задача машинного обучения | Функции ранжирования |
Требуется ли нормализация? | Нет |
Требуется ли кэширование? | Нет |
Обязательный NuGet в дополнение к Microsoft.ML | Microsoft.ML.FastTree |
Экспортируемый в ONNX | Нет |
Сведения о алгоритме обучения
FastTree — это эффективная реализация алгоритма повышения градиента MART . Градиентный бустинг — это метод машинного обучения для проблем регрессии. Он пошагово создает каждое дерево регрессии, используя стандартную функцию потерь для измерения ошибок в каждом шаге и их исправления в следующем. Поэтому такая модель прогнозирования фактически является набором более слабых моделей прогнозирования. В задачах регрессии при усилении пошагово создается серия деревьев, а затем с помощью произвольной дифференцируемой функции потерь выбирается оптимальное дерево.
MART изучает набор деревьев регрессии, который является деревом принятия решений со скалярными значениями в листовых узлах. Дерево принятия решений (регрессии) — это древовидная блок-схема, в которой на каждом внутреннем узле принимается решение, какой из двух дочерних узлов использовать дальше, на основе одного из значений функции из входных данных. Значение возвращается в каждом листовом узле. В внутренних узлах решение основано на тесте x <= v, где x является значением функции во входном примере, а v — одним из возможных значений этой функции. Функции, которые могут создаваться с помощью дерева регрессии, представляют собой кусочные функции-константы.
Набор деревьев создается путем вычисления (на каждом этапе) дерева регрессии, которое получает приближение градиента функции потерь и добавляет его в предыдущее дерево с коэффициентами, которые минимизируют потери нового дерева. Выходные данные набора, произведенного MART на базе данного экземпляра, составляют сумму трех вариантов выходных данных.
- Для проблемы бинарной классификации выходные данные преобразуются в вероятность с использованием того или иного варианта калибровки.
- Для проблем регрессии выходные данные представляют собой спрогнозированное значение функции.
- Для проблемы ранжирования экземпляры упорядочиваются по выходному значению набора.
Дополнительные сведения см. в разделах:
- Википедия: повышение градиента (повышение дерева градиента).
- Greedy function approximation: A gradient boosting machine. (Жадное приближение функции — устройство градиентного усиления.)
Ознакомьтесь с разделом "См. также" ссылки на примеры использования.
Поля
FeatureColumn |
Столбец признаков, который ожидает тренер. (Унаследовано от TrainerEstimatorBase<TTransformer,TModel>) |
GroupIdColumn |
Необязательный столбец groupID, который ожидает тренеры ранжирования. (Унаследовано от TrainerEstimatorBaseWithGroupId<TTransformer,TModel>) |
LabelColumn |
Столбец меток, который ожидает тренер. Может иметь значение |
WeightColumn |
Столбец веса, который ожидает тренер. Может быть |
Свойства
Info |
Обучение IEstimator<TTransformer> модели ранжирования дерева принятия решений с помощью FastTree. (Унаследовано от FastTreeTrainerBase<TOptions,TTransformer,TModel>) |
Методы
Fit(IDataView, IDataView) |
Обучает как обучающие FastTreeRankingTrainer , так и проверочный данные, возвращает значение RankingPredictionTransformer<TModel>. |
Fit(IDataView) |
Поезда и возвращается ITransformer. (Унаследовано от TrainerEstimatorBase<TTransformer,TModel>) |
GetOutputSchema(SchemaShape) |
Обучение IEstimator<TTransformer> модели ранжирования дерева принятия решений с помощью FastTree. (Унаследовано от TrainerEstimatorBase<TTransformer,TModel>) |
Методы расширения
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
Добавьте "контрольную точку кэширования" в цепочку оценщика. Это обеспечит обучение подчиненных оценщиков на основе кэшированных данных. Рекомендуется создать контрольную точку кэширования перед обучением, которые принимают несколько передач данных. |
WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
Учитывая оценщик, возвращает объект-оболочку, который будет вызывать делегат один раз Fit(IDataView) . Часто важно, чтобы оценщик возвращал сведения о том, что было в форме, поэтому Fit(IDataView) метод возвращает специально типизированный объект, а не просто общий ITransformer. Однако, в то же время, IEstimator<TTransformer> часто формируются в конвейеры со многими объектами, поэтому нам может потребоваться построить цепочку оценщиков, где EstimatorChain<TLastTransformer> оценщик, для которого мы хотим получить преобразователь, похоронен где-то в этой цепочке. В этом сценарии мы можем подключить делегат, который будет вызываться после вызова соответствия. |