Слабые ученики дерева градиентного усиления для классификации / мультиклассовой классификации - PullRequest
0 голосов
/ 25 апреля 2018

Я новичок в области машинного обучения и хочу научиться выполнять мультиклассовую классификацию с использованием Gradient Boosting Tree (GBT).Я прочитал некоторые статьи о GBT, но для проблемы регрессии, и я не мог найти правильное объяснение о GBT для мультиклассовой классификации.Я также проверяю GBT в библиотеке scikit-learn для машинного обучения.Реализация GBT - GradientBoostingClassifier, который использовал дерево регрессии в качестве слабых учеников для мультиклассовой классификации.

ГБ строит аддитивную модель поэтапно;это позволяет оптимизировать произвольные дифференцируемые функции потерь.На каждом этапе деревья регрессии n_classes_ соответствуют отрицательному градиенту функции потери девиации биномиального или полиномиального типа.Двоичная классификация - это особый случай, когда индуцируется только одно дерево регрессии.

Источник: http://scikit -learn.org / stable / modules / generate / sklearn.ensemble.GradientBoostingClassifier.html # sklearn.ensemble.GradientBoostingClassifier

Дело в том, почему мы используем дерево регрессии в качестве наших учеников для GBT вместо дерева классификации?Было бы очень полезно, если бы кто-то мог дать мне объяснение того, почему используется дерево регрессии, а не дерево классификации, и как дерево регрессии может выполнять классификацию.Спасибо

1 Ответ

0 голосов
/ 25 апреля 2018

Вы интерпретируете «регрессию» здесь слишком буквально (как числовое предсказание), что не так;помните, классификация обрабатывается с помощью логистической регрессии .См., Например, запись о потере на странице документации, которую вы связали:

потеря : {'deviance', 'exponential'}, необязательно (default = 'deviance')

функция потерь для оптимизации.«отклонение» относится к отклонению (= логистическая регрессия) для классификации с вероятностными результатами.Для потери «экспоненциального» повышения градиента восстанавливается алгоритм AdaBoost.

Итак, «дерево классификации» - это просто дерево регрессии с loss='deviance' ...

...