DecisionTreeRegressor под капотом GradientBoostingClassifier
Я проверяю слабые оценки моей модели GradientBoostingClassifier. Эта модель соответствовала набору данных двоичного класса.
Я заметил, что все слабые оценки в этом ансамблевом классификаторе являются объектами регрессора дерева решений. Интуитивно это кажется мне странным.
Я взял первое дерево решений в ансамбле и использовал его для независимого прогнозирования для всего моего набора данных. Уникальные ответы из набора данных были следующими:
array([-2.74, -1.94, -1.69, ...])
Мой вопрос: почему и как классификатор повышения градиента превращает слабые оценки в задачи регрессора (вместо задач классификации), которые не связаны 0 и 1? В конечном итоге GradientBoostingClassifier выводит псевдовероятность от 0 до 1: почему ансамбль слабых оценщиков не делает то же самое?
Ответы
Прочитав большую часть документации, я нашел раздел, посвященный случаю классификации. Его можно найти здесь . Вдобавок этот статквест был очень полезен.
1.11.4.5.2. Классификация
Повышение градиента для классификации очень похоже на случай регрессии. Однако сумма деревьев не является однородной для прогноза: она не может быть классом, поскольку деревья предсказывают непрерывные значения.
Преобразование значения в класс или вероятность зависит от потерь. Для отклонения (или логарифма потерь) вероятность, принадлежащая положительному классу, моделируется как где - сигмовидная функция. Для мультиклассовой классификации K деревьев (для K классов) строятся на каждой итерации. Вероятность, принадлежащая классу k, моделируется как softmax значений.
Обратите внимание, что даже для задачи классификации субоценка по-прежнему является регрессором, а не классификатором. Это связано с тем, что субоценщики обучены предсказывать (отрицательные) градиенты, которые всегда являются непрерывными величинами.