Случайный лес Докладчик: Гомзин Андрей (528 гр.) Руководитель: Недумов Я. План 1. Введение 2. Случайный лес 2.1 Описание алгоритма 2.2 Пример 2.3 Оценка качества (out-of-bag) 3. Применение и результаты 4. Заключение Введение. Задача классификации Введение. Дерево принятия решений I Дерево принятия решений – направленное дерево I I I Нелистовая вершина – один из признаков Ребро – значение признака Листовая вершина – значение целевой функции (класс) Введение. Общая схема построения дерева принятия решения 1. Выбрать очередной признак P, поместить его в текущую вершину 2. Для каждого значения выбранного признака v : I I Из тестовых данных оставить только те, у которых P = v Рекурсивно построить дерево на выбранных данных, рассматривая оставшихся признаки 3. Останановиться, если все тестовые объекты принадлежат одному классу, если закончились признаки, или по другим критериям Введение. Алгоритмы построения дерева принятия решения I ID3 I C4.5 I CART I CHAID I MARS Введение. Случайный лес I Использование комитета деревьев I Обработка данных с большой размерностью I Встроенная оценка качества предсказания I Высокая параллелизуемость и масштабируемость Случайный лес. Определение I Случайный лес – ансамбль B деревьев: {T1 (X ), T2 (X ), ..., TB (X )} X – вектор размерности p I Ансамбль возвращает B предсказаний: {Yˆ1 = T1 (X ), ..., YˆB = TB (X )} Yˆb – возвращаемый класс Из Yˆb выбирается самый часто встречаемый класс I Случайный лес. Обучение Дано: D = {(X1 , Y1 ), (X2 , Y2 ), ..., (Xn , Yn )} – тренировочный набор: Xi – вектор признаков, Yi – метка класса 1. Взять из D n случайных объектов с повторениями (bootstrap sample) – Di 2. Построить для Di дерево, используя какой-либо алгоритм построения решающего дерева. Причем для каждой вершины признак выбирается из m случайно выбранных (m – параметр, 1 ≤ m < p). 3. Дерево строится до конца, без отсечения ветвей 4. Повторить предыдущие шаги B раз Таким образом, будет построено B деревьев Случайный лес. Пример дерева Тренировочный набор: {(X1 , A), (X2 , A), (X3 , B), (X4 , B), (X5 , C ), (X6 , C )} Случайный лес. Пример леса Тренировочный набор: {(X1 , A), (X2 , A), (X3 , B), (X4 , B), (X5 , C ), (X6 , C )} Случайный лес. Встроенная оценка качества Out-of-Bag Estimate of Performance 2 3 I При выборе Di в среднем в него входят ≈ объектов I Оставшие объекты (≈ 13 ) обозначим OOB (out-of-bag) I Для каждого Xi : Ŷ OOB (Xi ) – предсказание комитета деревьев, для которых Xi входит в OOB I Error rate: ER ≈ ER OOB = n−1 n X исходных I (Ŷ OOB (Xi ) 6= Yi ) i=1 I Mean square error: MSE ≈ MSE OOB = n−1 n X i=1 (Ŷ OOB (Xi ) − Yi )2 Случайный лес. Применение Источник: scholar.google.ru. Запрос: Random forest I QSAR (Quantitative structure–activity relationship) I Classification of real and pseudo microRNA I Tumor classification I Protein-protein interaction prediction I Imaging Atmospheric Cherenkov Telescope MAGIC I ... Экспериментальные результаты. QSAR (1) I accuracy – пропорция правильно классифицированных объектов I медиана для 50 5-кратных кросс-валидаций Источник: Svetnik, Liaw, Tong, Culberson, Sheridan, Feuston. Random Forest: A Classification and Regression Tool for Compound Classification and QSAR Modeling Экспериментальные результаты. QSAR (2) q E ((θ − θ̂)2 ) I RMSE – Root Mean Square Error: I корреляция I медиана для 50 5-кратных кросс-валидаций Источник: Svetnik, Liaw, Tong, Culberson, Sheridan, Feuston. Random Forest: A Classification and Regression Tool for Compound Classification and QSAR Modeling Недостатки случайного леса I Алгоритм склонен к переобучению на некоторых задачах, особенно на зашумленных I Большой размер получающихся моделей Выводы I Случайный лес – ансамбль решающих деревьев I Решает задачи классификации и регрессии I Является модификацией метода bagging (bootstrap aggregating) I Хорошо параллелится I Имеет встроенную оценку качества I Показывает хорошие результаты при работе с большим количеством признаков (например, в химии, биологии) Спасибо за внимание Вопросы? Экспериментальные результаты. QSAR Используемые датасеты: Источник: Svetnik, Liaw, Tong, Culberson, Sheridan, Feuston. Random Forest: A Classification and Regression Tool for Compound Classification and QSAR Modeling