Как случайный лес уменьшает влияние отдельных деревьев на итоговое предсказание
Что проверяют
Понимаете ли вы механику, а не формулу «много деревьев лучше одного». Ключевое слово здесь декорреляция: интервьюер ждёт объяснения, почему усреднение похожих деревьев помогает слабо и как лес эту похожесть ломает. Следом часто спрашивают, почему лес почти не переобучается с ростом числа деревьев.
Как отвечать
Отдельное глубокое дерево имеет низкое смещение и высокую дисперсию: чуть другая выборка даёт другое дерево. Лес бьёт именно по дисперсии, двумя источниками случайности и агрегацией:
- бутстрэп (bagging): каждое дерево учится на выборке с возвращением того же размера. В неё попадает около 63% уникальных объектов, остальные остаются out-of-bag и дают честную оценку качества через
oob_score=True; - случайные признаки на каждом разбиении: в узле лучший сплит ищется не среди всех признаков, а среди случайного подмножества. В scikit-learn это
max_features, у классификатора по умолчанию"sqrt". Без этого все деревья начинали бы с одного сильного признака и были бы похожи; - агрегация: для регрессии среднее, для классификации scikit-learn усредняет вероятности, а не считает голоса.
Главный аргумент стоит показать формулой. Дисперсия среднего по B деревьям с дисперсией σ² и попарной корреляцией ρ равна ρ·σ² + (1-ρ)·σ²/B. Второе слагаемое убывает с ростом B, первое нет. Сколько деревьев ни добавляй, упрёшься в ρσ², поэтому снижать приходится корреляцию, и это делает случайный выбор признаков.
Практические выводы: новые деревья не вызывают переобучения, они просто перестают давать прирост, а тюнить имеет смысл max_features, глубину и min_samples_leaf.
Где спотыкаются
Говорят, что лес уменьшает смещение. Смещение остаётся примерно как у одного дерева, поэтому деревья и растят глубокими. Смещение снижает бустинг.
Считают, что признаки выбираются один раз на дерево. Это метод случайных подпространств, а в классическом лесе подмножество тянется заново в каждом узле.
Ждут, что усреднение исправит систематическую ошибку в данных. Если метки смещены или есть утечка, все деревья выучат одно и то же, корреляция между ними высокая, и лес ошибётся так же уверенно, как одно дерево.