Проще начать со второго вопроса, а затем перейти к первому.
мешковина
Случайный лес - это алгоритм упаковки. Это уменьшает дисперсию.
Скажем, у вас есть очень ненадежные модели, такие как деревья решений. (Почему ненадежный? Потому что, если вы немного измените свои данные, созданное дерево решений может сильно отличаться.) В таком случае вы можете построить надежную модель (уменьшить дисперсию) с помощью пакетирования - пакетирование - это когда вы создаете разные модели. путем повторной выборки ваших данных, чтобы сделать полученную модель более надежной.
Случайный лес - это то, что мы называем упаковкой, применяемой к деревьям решений, но он ничем не отличается от другого алгоритма упаковывания.
Зачем тебе это делать? Это зависит от проблемы. Но обычно очень желательно, чтобы модель была стабильной.
стимулирование
Повышение уменьшает дисперсию, а также уменьшает смещение. Это уменьшает дисперсию, потому что вы используете несколько моделей (мешки). Он уменьшает уклон, обучая последующую модель, сообщая ему, какие ошибки допущены предыдущими моделями (стимулирующая часть)
Есть два основных алгоритма:
- Adaboost: это оригинальный алгоритм; Вы говорите последующим моделям наказать более суровые наблюдения, ошибочно принятые предыдущими моделями.
- Повышение градиента: вы тренируете каждую последующую модель, используя невязки (разницу между прогнозируемыми и истинными значениями)
В этих ансамблях ваш базовый ученик должен быть слабым. Если данные перекрывают данные, не будет никаких ошибок или ошибок для последующих моделей. Почему эти хорошие модели? Что ж, большинство конкурсов на таких сайтах, как Kaggle, выигрывалось с помощью деревьев, повышающих градиент. Наука о данных - это эмпирическая наука, «потому что она работает» достаточно хороша. В любом случае, обратите внимание, что улучшающие модели могут соответствовать (хотя опытным путем это не очень распространено).
Еще одна причина, по которой повышение градиента, в частности, также довольно круто: потому что позволяет очень легко использовать различные функции потерь, даже когда производная не выпуклая. Например, при использовании вероятностного прогноза вы можете использовать такие функции, как функция пинбола, в качестве функции потерь; что-то гораздо сложнее с нейронными сетями (потому что производная всегда постоянна).
[Интересная историческая справка: «Повышение» изначально было теоретическим изобретением, мотивированным вопросом « можем ли мы построить более сильную модель, используя более слабые модели »]
Обратите внимание: люди иногда путают случайные леса и деревья, повышающие градиент, просто потому, что оба используют деревья решений, но это два очень разных семейства ансамблей.