Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка дерева рішень.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
320.51 Кб
Скачать

Класифікація та регресія

Метод побудови дерева рішень

Міністерство освіти і науки, молоді та спорту України

Національний університет “Львівська політехніка”

Кафедра автоматизованих систем управління

Методичні вказівки

до лабораторної роботи

Класифікація та регресія. Метод побудови дерева рішень”

з дисципліни

Інтелектуальний аналіз даних”

для студентів базового напрямку підготовки за спеціальністю

Комп’ютерні науки” (шифр 0804)

Львів 2012 – 2013

Методичні вказівки до лабораторної роботи Класифікація та регресія. Метод побудови дерева рішень з дисципліни Інтелектуальний аналіз даних для студентів спеціальності - шифр 0804 “Комп’ютерні науки”/ Укл. доц. Ковівчак Я.В.,

Львів: Національний університет “Львівська політехніка”, 2012.

Методичні вказівки обговорено та схвалено на засіданні кафедри АСУ Протокол № ___________ від «___»___________2012 р.

Завідувач кафедрою АСУ ______________ Медиковський М.О.

Методичні вказівки обговорено та схвалено на засіданні методичної комісії базового напрямку підготовки

Протокол № ___________ від «___»___________2012 р.

Мета: Розглянути основні алгоритми побудови дерева рішень; визначити переваги та недоліки методу.

Завдання: Навчитись будувати дерева рішень для розв’язання задач.

Теоретична частина:

  1. Введення в дерева рішень.

Дерева рішень - один з методів автоматичного аналізу даних, основні ідеї якого сягають до робіт П. Ховленда (Р. Hoveland) і Е. Ханта (Є. Hunt) кінця 50-х років XX ст. Їх підсумком з'явилася основоположна монографія [Hunt et al., 1966], що дала імпульс розвитку цього напрямку.

Побудова дерев класифікації - один з найбільш важливих прийомів, використовуваних при проведенні "видобутку даних і розвідувального аналізу" (Data Mining), реалізований як сукупність методів аналітичної обробки великих масивів інформації з метою виявити в них значущі закономірності і / або систематичні зв'язки між змінними, які потім можна застосувати до нових вимірювань.

Дерева рішень являють собою послідовні ієрархічні структури, що складаються з вузлів, які містять правила, тобто логічні конструкції виду "якщо ... то ...". Кінцевими вузлами дерева є "листя", відповідні знайденим рішенням і об'єднуючі деяку кількість об'єктів класифікованої вибірки. Це схоже на те, як положення листа на дереві можна задати, вказавши провідну до нього послідовність гілок, починаючи від кореня і закінчуючи самою останньою гілочкою, на якій лист зростає.

Є цілий ряд причин, що роблять дерева класифікації більш гнучким засобом, ніж традиційні методи аналізу:

• схема одновимірного розгалуження, яка дозволяє вивчати ефект впливу окремих змінних і проводити послідовний аналіз їх вкладу;

• можливість одночасно працювати зі змінними різних типів, виміряних в безперервних і порядкових шкалах, або здійснювати будь монотонне перетворення ознак;

• відсутність попередніх припущень про закони розподілу даних.

Область застосування дерева рішень у даний час широка, але всі завдання, які вирішуються цим методом, можуть бути об'єднані в три наступні групи:

Опис даних: дерева рішень дозволяють зберігати інформацію про даних в компактній формі, тобто замість обширних таблиць даних ми можемо зберігати дерево рішень, яке містить у концентрованій формі точний опис об'єктів;

Класифікація: дерева рішень відмінно справляються із завданнями класифікації, тобто віднесення об'єктів до одного з заздалегідь відомих класів; при цьому цільова змінна повинна бути виміряна в порядковій шкалі;

Регресія: якщо цільова змінна має безперервні значення, дерева рішень дозволяють встановити залежність цільової змінної від незалежних (вхідних) змінних. Наприклад, до цього класу відносяться задачі чисельного прогнозування (передбачення значень цільової змінної).

На сьогоднішній день існує значна кількість алгоритмів, що реалізують побудову дерев рішень, з яких найбільше поширення і популярність отримали наступні:

CART (Classification and Regression Tree), розроблений Л. Брейманом зі співавторами [Breiman et al., 1984], являє собою алгоритм побудови бінарного дерева рішень - дихотомічної класифікаційної моделі; кожен вузол дерева при розбитті має тільки двох нащадків; як видно з його назви, алгоритм вирішує завдання як класифікації, так і регресії;

C4.5 - алгоритм побудови дерева рішень з необмеженою кількістю нащадків у вузла, розроблений Р. Куінленом [Quinlan, 1993]; не вміє працювати з безперервним цільовим полем, тому вирішує тільки завдання класифікації;

QUEST (Quick, Unbiased, Efficient Statistical Trees) - програма, розроблена В. Ло і І. Ши [Loh, Shih, 1997], в якій використовуються поліпшені варіанти методу рекурсивного квадратичного дискримінантного аналізу, що дозволяють реалізувати багатовимірне розгалуження за лінійним комбінаціям порядкових предикторів ; містить ряд нових засобів для підвищення надійності та ефективності індукованих дерев класифікації.

Основна ідея побудови дерев рішень з деякої навчальної множини Х, сформульована в інтерпретації Р. Квінленом, полягає в наступному.

Нехай в деякому вузлі дерева сконцентрована деяка множина прикладів Х*, Х*Х. Тоді існують три можливі ситуації.

1. Множина Х * містить один або більше прикладів, що відносяться до одного класу. Тоді дерево рішень для Х * - це "лист", який визначає клас.

2. Множина Х * не містить жодного прикладу, тобто представляє порожню множину. Тоді це знову "лист", і клас, асоційований з "листом", вибирається з іншої множини, відмінної від Х * (скажімо, з множини, асоційованої з батьком).

3. Множина Х * містить приклади, що відносяться до різних класів. У цьому випадку слід розбити множину Х * на деякі підмножини. Для цього вибирається одна з ознак j, що має два і більше відмінних один від одного значень і Х * розбивається на нові підмножини, де кожна підмножина містить всі приклади, що мають певний діапазон значень вибраної ознаки. Ця процедура буде рекурсивно продовжуватися до тих пір, поки будь-яке підмножина Х * не буде складатися з прикладів, що відносяться до одного і того ж класу.

Описана процедура побудови дерева рішень зверху вниз, названа схемою "поділу і захоплення" (divide and conquer), лежить в основі багатьох сучасних методів побудови дерев рішень. Процес навчання також називають індуктивним навчанням або індукцією дерев (tree induction).

При побудові алгоритмів індукції дерев рішень особлива увага приділяється наступним ключовим питанням:

• який прийняти вид критерію для селекції ознаки, по якому піде розбиття;

• як вибрати момент, коли слід припинити подальші розгалуження;

• який механізм відсікання гілок.

Правило розбиття: яким чином слід вибрати ознаку?

Для побудови дерева з одновимірним розгалуженням, перебуваючи на кожному внутрішньому вузлі, необхідно знайти таку умову перевірки, пов'язану з однією з змінних j, яка б розбивала множину, асоційовану з цим вузлом на підмножини. Загальне правило для вибору опорної ознаки можна сформулювати наступним чином: «обрана ознака має розбити множину Х * так, щоб одержувані в результаті підмножини Х * k, k = 1, 2, ..., p, складалися з об'єктів, що належать до одного класу, або були максимально наближені до цього, тобто кількість чужорідних об'єктів з інших класів в кожній з цих множин була якомога меншою ».

Були розроблені різні критерії, наприклад, теоретико-інформаційний критерій, запропонований Р. Куінленом:

    , , (1.1)

де H (Х *) і H (Х * k) - ентропія підмножин, розбитих на класи, розрахована за формулою Шеннона.

Алгоритм CART використовує, так званий, індекс Джині (на честь італійського економіста Corrado Gini), який оцінює "відстань" між розподілами класів

 , (1.2)

де c - поточний вузол, а pj - імовірність класу j у вузлі c.

Більшість з відомих алгоритмів є "жадібними алгоритмами": якщо один раз був обраний атрибут і по ньому вироблено розбиття на підмножини, то алгоритм не може повернутися назад і вибрати інший атрибут, який дав би краще розбиття. І тому на етапі побудови дерева не можна сказати чи дасть обраний атрибут, в остаточному підсумку, оптимальне розбиття.

Правило зупинки: розбивати далі вузол або відзначити його як лист?

На додаток до основного методу побудови дерев рішень були запропоновані наступні правила:

• використання статистичних методів для оцінки доцільності подальшого розбиття або так званої "ранньої зупинки" (prepruning); кінець кінцем, "рання зупинка" процесу побудови приваблива в плані економії часу навчання, але тут доречно зробити одне важливе застереження: цей підхід будує менш точні класифікаційні моделі і тому рання зупинка вкрай небажана - визнані авторитети в цій області Л. Брейман і Р. Квінлен радять буквально наступне: «Замість зупинки використовуйте відсікання».

• обмеження глибини дерева; можна зупинити подальшу побудову, якщо розбиття веде до дерева, яке глибиною перевищує задане значення;

• контроль нетривіальності розбиття, тобто отримані в результаті вузли повинні містити кількість прикладів, не меншу заданого порогу.

Цей список евристичних правил можна продовжити, але на сьогоднішній день не існує таких, які мали б глобальну практичну цінність. Багато з них застосовують в окремих випадках і, тому, до їх використання слід підходити з достатньою обережністю.

Правило відсікання: яким чином гілки дерева повинні відсікатися?

Дуже часто алгоритми побудови дерев рішень дають складні дерева, які мають багато вузлів і гілок. Такі "гіллясті" дерева дуже важко зрозуміти, а цінність правила, справедливого скажімо для 1-3 об'єктів, вкрай низька і в цілях аналізу даних воно є практично непридатне. Набагато краще мати дерево, яке складається з малої кількості вузлів, не цілком ідеально класифікує навчальну вибірку, але володіє здатністю настільки ж добре прогнозувати результат для тестової вибірки.

На жаль, досить непросто конкретно визначити, що ж таке дерево класифікації "підходящого розміру", крім загальної тези про те, що воно повинно вміти використовувати ту інформацію, яка покращує точність прогнозу, і ігнорувати ту інформацію, яка прогнозу не покращує. Для вирішення вищеописаної проблеми часто застосовується так зване "відсікання гілок" (pruning), яке відбувається знизу вгору, рухаючись з листя дерева, відзначаючи вузли як листя, або замінюючи їх піддеревом. Якщо під точністю дерева рішень розуміється відношення правильно класифікованих об'єктів, то потрібно відсікти або замінити піддеревом ті гілки, які не призведуть до зростання помилки.

Класифікація нових прикладів

Після індукції дерева рішень його можна використовувати для розпізнавання класу нового об'єкта. Обхід дерева рішень починається з кореня дерева. На кожному внутрішньому вузлі перевіряється значення об'єкта Xт по атрибуту, який відповідає алгоритму перевірки в даному вузлі, і, в залежності від отриманої відповіді, знаходиться відповідне розгалуження, і по цій дузі здійснюється рух до вузла, що знаходиться на рівень нижче і т.д. Обхід дерева закінчується, як тільки зустрінеться вузол рішення, який і дає назву класу об'єкта Xт.

Переваги використання дерев рішень Розглянувши основні проблеми, що виникають при побудові дерев, було б несправедливо не згадати про їх достоїнства:  -  швидкий процес навчання;    -   генерація правил в областях, де експерту важко формалізувати свої знання;    -  витяг правил на природній мові;    -  інтуїтивно зрозуміла класифікаційна модель;   -   висока точність прогнозу, порівняно з іншими методами (статистика, нейронні мережі);    -  побудова непараметричних моделей.

У силу цих та багатьох інших причин, методологія дерев рішень є важливим інструментом в роботі кожного фахівця, що займається аналізом даних, незалежно від того практик він або теоретик.

Області застосування дерев рішень Дерева рішень є прекрасним інструментом в системах підтримки прийняття рішень, інтелектуального аналізу даних (data mining). До складу багатьох пакетів, призначених для інтелектуального аналізу даних, уже включені методи побудови дерев рішень. В областях, де висока ціна помилки, вони послужать відмінною підмогою аналітика або керівника. Дерева рішень успішно застосовуються для вирішення практичних завдань у наступних областях:      Банківська справа. Оцінка кредитоспроможності клієнтів банку при видачі кредитів.      Промисловість. Контроль за якістю продукції (виявлення дефектів), випробування без руйнувань (наприклад перевірка якості зварювання) і т.д.     Медицина. Діагностика різних захворювань.     Молекулярна біологія. Аналіз будови амінокислот. Це далеко не повний список областей де можна використовувати дерева рішень. Не досліджені ще багато потенційних областей застосування.

Алгоритм CART(CART algorithm)

Один з популярних алгоритмів побудови дерев рішень, запропонований у 1984 р. (Leo Breiman, Jerome Friedman, Richard Olshen, and Charles Stone). Абревіатура CART означає Classification and Regression Tree - дерево класифікації і регресії. З назви алгоритму випливає, що він може працювати як з безперервною, так і з дискретною вихідною змінною.

Алгоритм будує бінарні дерева рішень, які містять тільки два нащадка в кожному вузлі. У процесі роботи відбувається рекурсивне розбиття прикладів навчальної множини на підмножини, записи в яких мають однакові значення цільової змінної.

У процесі росту дерева алгоритм CART проводить для кожного вузла повний перебір всіх атрибутів, на основі яких може бути побудоване розбиття, і вибирає той, який максимізує значення показника

,

де s - ідентифікатор розбиття, t - ідентифікатор вузла, tL і tR - лівий і правий нащадки вузла t відповідно, PL та PR - відношення числа прикладів у лівому та правому нащадках до їх загального числа в навчальній множині, P (j | tL) і P (j | tR) - відношення числа прикладів класу j у лівому та правому нащадках до їх загального числа в кожному з них.

Процес побудови регресійних дерев рішень в основному аналогічний з класифікаційними, але замість міток класів в листі будуть розташовуватися числові значення. Фактично при цьому реалізується кусочно-постійна функція вхідних змінних.

Рис.1 Дерево рішень побудоване алгоритмом CART.

В результаті в кожному аркуші повинні виявитися приклади зі схожими значеннями вихідної змінної. Чим ближче вони будуть, тим менше стане їх дисперсія. Тому вона є гарною заходом «чистоти» вузла. Тоді найкращим розбиттям у вузлі є те, яке забезпечить максимальне зменшення дисперсії вихідної змінної в ньому.

C4.5

C4.5 - алгоритм для побудови дерев рішень, розроблений Джоном Квінланом (англ. John Ross Quinlan). C4.5 є вдосконаленою версією алгоритму ID3 того ж автора. Зокрема, в нову версію були додані відсікання гілок (англ. pruning), можливість роботи з числовими атрибутами, а також можливість побудови дерева з неповної навчальної вибірки, в якій відсутні значення деяких атрибутів.