Начнем с простого дерева регрессии. Какова его цель? Чтобы сделать несколько шпагатов по обе стороны шпагата, выберите хорошее значение. Мы продолжаем разделяться, пока больше не можем, и тогда мы закончили.

При чем тут леса и прокачка?

Регрессия по дереву — это жадный алгоритм. Он пытается найти глобальное соответствие, принимая локально оптимальные решения. Но возможно, что если бы мы сделали другой выбор раньше, наш конечный результат был бы лучше. Итак, что мы делаем, чтобы признать эту возможность? Мы вносим некоторую случайность, когда создаем наше дерево, а затем делаем их кучу и называем это лесом.

Если вы считаете меня ответственным, то вы бы сказали, что если бы наша цель состояла в том, чтобы найти глобально оптимальное соответствие, то вы бы стали утверждать, что мы ввели эту случайность, построили кучу деревьев, а затем выбрали лучшее из множества. и назовем это нашей моделью. Это можно назвать моделью вашего любимого дерева в лесу. Но это не то, что мы делаем — мы их усредняем. Зачем мы это делаем? Это должно означать, что мы искали что-то еще, кроме оптимального решения. И это правда. Мы действительно искали что-то другое. И это что-то еще — гладкость. Отдельные деревья неровные и прыгучие. А мы не любим рваных и прыгучих. Итак, что мы делаем, чтобы смягчить это, берем среднее значение группы деревьев и надеемся, что это сделает наш результат менее неровным и нервным. Но отдельные деревья, с которыми мы это делаем, все еще довольно нервные.

Повышение

Так что же делает повышение? По сути, усиление начинается со среднего значения и медленно перемещается в направлении, уменьшающем ошибку. Он использует скорость обучения, чтобы определить, насколько медленно. И из-за этого мы можем продолжать делать его более точным вечно (не совсем верно).

Но подождите, почему мы остановились, когда строили деревья регрессии? Когда прекращается создание дерева? Создание дерева останавливается, потому что у вас закончились точки данных. В данных возможно гораздо больше разбиений, чем точек данных. Это означает, что когда вы строите дерево, у вас есть МНОЖЕСТВО других вариантов, которые вы могли бы использовать для построения дерева, поэтому мы всегда можем создавать леса. Это ключевой момент, который необходимо подчеркнуть:

Сплитов намного больше, чем точек данных, поэтому не беспокойтесь о том, что они закончатся или выжмут максимум из каждого разделения

Итак, что делает повышение, так это то, что оно говорит следующее:

Хорошо, мы знаем, что существует гораздо больше вариантов разделения, чем точек данных, поэтому у нас не закончатся разделения — скорее всего, у нас закончатся точки данных. Так что перестаньте метаться, пытаясь получить максимальную отдачу от каждого сплита. Просто замедлитесь и используйте скорость обучения, и вы в конечном итоге доберетесь туда, и по пути вы сможете использовать больше шпагатов (как вы хотели), а также вы по своей сути будете менее нервными, потому что скорость обучения сглаживает вещи.

Эти пара утверждений выше являются ключевыми идеями в этой статье. Если вы получите что-то одно из этого, то, пожалуйста, получите это.

У меня есть одно примечание: когда мы повышаем, мы находим оптимальное разделение и прыжок, но затем применяем скорость обучения к этому прыжку. Мне любопытно, что произойдет, если мы примем скорость обучения, прежде чем разделимся и прыгнем. Вполне возможно, что если бы нам было позволено двигаться только медленно, наше разделение было бы другим, чем если бы мы использовали большой прыжок, а затем уменьшили его. Я действительно думаю, что это может быть плодотворной идеей. Если у кого-то есть мысли, я весь в ушах.

Всем спасибо!