алгоритмов, и здесь обсудим основные.
В начале 1990-ых появились несколько алгоритмов усиления для реализации оригинальной теории. В 1996, наконец, появилась первая практическая реализация теории усиления в виде известного алгоритма AdaBoost, которая использовалась в ранних версиях Rattle.
Кратко, алгоритм AdaBoost генерирует последовательность слабых классификаторов, где на каждой итерации алгоритм считает лучшим классификатором тот, который основан на текущих весах наблюдения. Наблюдения, которые неправильно классифицированы на k-й итерации, получают больше веса в (k +1) итерации, в то время как наблюдения, которые правильно классифицированы, получают меньше веса на последующей итерации. Это означает, что наблюдение, которое трудно классифицировать, получают все более и более большие веса, пока алгоритм не идентифицирует модель, которая правильно классифицирует эти наблюдения. Поэтому, каждая итерация алгоритма обязана изучать другой аспект данных, сосредотачиваясь на областях, которые содержат наблюдения, трудные для классификации. На каждой итерации вычисляется вес этапа, основанный на коэффициенте ошибок на этой итерации. Природа веса этапа подразумевает, что у более точных моделей есть более высокое положительное значение, а у менее точных моделей есть более низкое отрицательное значение, затем полная последовательность взвешенных классификаторов объединяется в ансамбле и имеет большой потенциал для лучшей классификации, чем любой из отдельных классификаторов.
Усиление может быть применено к любому методу классификации, но деревья классификации – популярный метод для усиления, так как они могут быть превращены в слабых учеников, ограничивая глубину деревьев для создания деревьев с немногими разделениями (также известные как пни). Известно объяснение того, почему деревья классификации работают особенно хорошо при усилении. Так как деревья классификации являются методом (малое смещение) / (большая дисперсии), ансамбль деревьев помогает понижать дисперсию, приводя к результату, у которого есть малое смещение и малая дисперсия. Глядя на алгоритм AdaBoost можно показать, что методы с низкой дисперсией не могут быть значительно улучшены посредством усиления.
8.5. Функции R
Приведем некоторые функции, которые могут быть использованы при работе над данным разделом.
Приведено название функции, а в скобках название пакета, в котором функция расположена. Для использования функция необходима загрузка пакета, а если его еще нет, то и установка.
Если названия пакета не приведено – это означает, что функция имеется в базовом пакете и не требуется предварительная загрузка пакета.
Для практической реализации положений данного раздела могут быть полезны следующие пакеты: C50, caret, gbm, ipred, partykit, pROC, randomForest и RWeka.
Категориальные предикторы кодируются в R как факторы с помощью функций: SponsorCode, ContractValueBand, CategoryCode и Weekday.
rpart (rpart)
подгонка отдельно классификационного дерева.
bagging