Деревья решений и случайные леса

Деревья решений - это тип модели, используемый как для классификации, так и для регрессии. Деревья отвечают на последовательные вопросы, которые отправляют нас по определенному маршруту дерева, на котором дан ответ. Модель работает с условиями «если это, чем то», что в конечном итоге приводит к конкретному результату. Это легко увидеть на изображении ниже, на котором показано, стоит ли играть в гольф.

Поток этого дерева идет вниз, начиная с вершины перспективы. Возможны три варианта прогноза: солнечный, пасмурный или дождливый. Если солнечно, мы спускаемся на следующий уровень. Будет ветрено? Правда или ложь? Если это правда, мы предпочитаем не играть в гольф в этот день. Если false, мы выбираем игру. Если бы прогноз был изменен на пасмурный, мы бы на этом закончили и решили играть. Если бы погода была дождливой, мы бы посмотрели на влажность. Если бы влажность была высокой, мы не играли бы, если бы влажность была нормальной, мы бы играли.

Глубина дерева - важное понятие. Это показывает, сколько вопросов задают, прежде чем мы дойдем до нашей предсказанной классификации. Мы видим, что наибольшая глубина дерева в приведенном выше примере - два. И солнечный, и дождливый маршруты имеют глубину два. У пасмурного маршрута есть только глубина, хотя общая глубина дерева обозначается его самым длинным маршрутом. Таким образом, это дерево имеет глубину два.

Преимущества использования деревьев решений:

1. Легко интерпретировать и делать простые визуализации.

2. За внутренними механизмами можно наблюдать и, таким образом, воспроизводить работу.

3. Может обрабатывать как числовые, так и категориальные данные.

4. Эффективно работать с большими наборами данных.

5. Чрезвычайно быстрые

Недостатки деревьев решений:

1. Для построения деревьев решений требуются алгоритмы, способные определять оптимальный выбор в каждом узле. Одним из популярных алгоритмов является алгоритм Ханта. Это жадная модель, то есть она принимает наиболее оптимальное решение на каждом этапе, но не принимает во внимание глобальный оптимум. Что это значит? На каждом шаге алгоритм выбирает лучший результат. Однако выбор наилучшего результата на данном этапе не гарантирует, что вы пойдете по маршруту, который приведет к оптимальному решению, когда вы доберетесь до последнего узла дерева, называемого листовым узлом.

2. Деревья решений склонны к переоснащению, особенно когда дерево очень глубокое. Это связано с тем, что мы смотрим на конкретность, что приводит к уменьшению выборки событий, соответствующих предыдущим предположениям. Эта небольшая выборка может привести к ошибочным выводам. Примером этого может быть прогноз, победит ли «Бостон Селтикс» «Майами Хит» в сегодняшнем баскетбольном матче. Первый уровень дерева может спросить, играют ли «Селтикс» дома или на выезде. Второй уровень может спросить, имеет ли Селтикс более высокий процент побед, чем их противник, в данном случае Хит. Третий уровень спрашивает, играет ли лучший бомбардир «Селтика»? Четвертый уровень спрашивает, играет ли второй лучший бомбардир «Селтика». Пятый уровень спрашивает, возвращаются ли Селтикс на восточное побережье после 3 или более последовательных выездных игр на западном побережье. Несмотря на то, что все эти вопросы могут иметь отношение к делу, могут быть только две предыдущие игры, в которых выполнялись условия сегодняшней игры. Использование только двух игр в качестве основы для нашей классификации было бы недостаточным для принятия обоснованного решения. Один из способов решить эту проблему - установить максимальную глубину. Это ограничит наш риск переобучения; но, как всегда, это будет происходить за счет ошибки из-за предвзятости. Таким образом, если мы установим максимальную глубину, равную трем, мы только спросим, ​​будет ли игра дома или в гостях, имеют ли «Селтикс» более высокий процент побед, чем их оппоненты, и являются ли они их лучшим бомбардиром. Это более простая модель с меньшим разбросом от выборки к выборке, но в конечном итоге не будет сильной прогностической моделью.

В идеале мы хотели бы минимизировать как ошибку из-за смещения, так и ошибку из-за дисперсии. Войдите в случайные леса. Случайные леса хорошо смягчают эту проблему. Случайный лес - это просто набор деревьев решений, результаты которых объединяются в один окончательный результат. Их способность ограничивать переоснащение без существенного увеличения погрешности из-за предвзятости - вот почему они являются такими мощными моделями.

Один из способов уменьшения дисперсии случайных лесов - обучение на разных выборках данных. Второй способ - использовать случайное подмножество функций. Это означает, что если у нас есть 30 функций, случайные леса будут использовать только определенное количество этих функций в каждой модели, скажем, пять. К сожалению, мы упустили 25 полезных функций. Но, как уже говорилось, случайный лес - это набор деревьев решений. Таким образом, в каждом дереве мы можем использовать пять случайных признаков. Если мы будем использовать много деревьев в нашем лесу, в конечном итоге многие или все наши функции будут включены. Это включение многих функций поможет ограничить нашу ошибку из-за предвзятости и ошибки из-за расхождений. Если бы объекты не были выбраны случайным образом, базовые деревья в нашем лесу могли бы сильно коррелировать. Это связано с тем, что некоторые функции могут быть особенно предсказуемыми, и, таким образом, одни и те же функции будут выбраны во многих базовых деревьях. Если бы многие из этих деревьев включали одни и те же функции, мы бы не боролись с ошибкой из-за дисперсии.

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

Для руководств в формате видео посетите мой курс по науке о данных по адресу https://www.youtube.com/watch?v=v32aJe9Hnag&list=PLrcb-x3137c09bpxJDetZvbyGg-hnwz86&index=1