Машинное обучение для начинающих: алгоритм случайного леса (Random Forest) |
||
|
МЕНЮ Главная страница Поиск Регистрация на сайте Помощь проекту Архив новостей ТЕМЫ Новости ИИ Голосовой помощник Разработка ИИГородские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Искусственный интеллект Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Психология ИИ Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Творчество ИИ Техническое зрение Чат-боты Авторизация |
2021-08-16 22:03 Алгоритм случайного леса (Random Forest) — универсальный алгоритм машинного обучения, суть которого состоит в использовании ансамбля решающих деревьев. Само по себе решающее дерево предоставляет крайне невысокое качество классификации, но из-за большого их количества результат значительно улучшается. Также это один из немногих алгоритмов, который можно использовать в абсолютном большинстве задач. В каких задачах используется? Благодаря своей гибкости Random Forest применяется для решения практически любых проблем в области машинного обучения. Сюда относятся классификации (RandomForestClassifier) и регрессии (RandomForestRegressor), а также более сложные задачи, вроде отбора признаков, поиска выбросов/аномалий и кластеризации. Основным полем для применения алгоритма случайного дерева являются первые два пункта, решение других задач строится уже на их основе. Так, для задачи отбора признаков мы осуществляем следующий код: Здесь мы на основе классификации просто добавляем метод для отбора признаков. Порядок действий в алгоритме
Теоретическая составляющая алгоритма случайного дерева По сравнению с другими методами машинного обучения, теоретическая часть алгоритма Random Forest проста. У нас нет большого объема теории, необходима только формула итогового классификатора Где
Стоит также отметить, что для задачи классификации мы выбираем решение голосованием по большинству, а в задаче регрессии – средним. Реализация алгоритма Random Forest Реализуем алгоритм на простом примере для задачи классификации, используя библиотеку scikit-learn: Работаем с алгоритмом по стандартному порядку действий, принятому в scikit-learn. Вычисляем Необходимые параметры алгоритма Число деревьев – n_estimators Чем больше деревьев, тем лучше качество. Стоит отметить, что время настройки и работы Random Forest будут пропорционально увеличиваться, что может сказаться на производительности. Часто при большом увеличении Критерий расщепления – criterion Также один из самых важных параметров для построения, но без значительной возможности выбора. В библиотеке sklearn для задач классификации реализованы критерии В свою очередь, для задач регрессии реализованы два критерия ( Простой метод перебора поможет выбрать, что использовать для решения конкретной проблемы. Число признаков для выбора расщепления – max_features При увеличении Является одним из самых важных параметров в алгоритме. Он настраивается в первую очередь, после того, как мы определили тип нашей задачи. Минимальное число объектов для расщепления – min_samples_split Второстепенный по своему значению параметр, его можно оставить в состоянии по умолчанию. Ограничение числа объектов в листьях – min_samples_leaf Аналогично с Максимальная глубина деревьев – max_depth Чем меньше максимальная глубина, тем быстрее строится и работает алгоритм случайного дерева. При увеличении глубины резко возрастает качество как на обучении модели, так и на ее тестировании. Если у вас есть возможность и время для построения глубоких деревьев, то рекомендуется использовать максимальное значение данного параметра. Неглубокие деревья рекомендуется использовать в задачах со значительным количеством шумовых объектов (выбросов). Преимущества алгоритма
Недостатки алгоритма
Заключение Метод случайного дерева (Random Forest) – это универсальный алгоритм машинного обучения с учителем. Его можно использовать во множестве задач, но в основном он применяется в проблемах классификации и регрессии. Действенный и простой в понимании, алгоритм имеет значительный недостаток – заметное замедление работы при определенной настройке параметров внутри него. Вы можете использовать случайный лес, если вам нужны чрезвычайно точные результаты или у вас есть огромный объем данных для обработки, и вам нужен достаточно сильный алгоритм, который позволит вам эффективно обработать все данные. Дополнительные материалы:
Источник: proglib.io Комментарии: |
|