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

Алгоритм id3

Розглянемо критерій вибору незалежної змінної, від якої буде будуватися дерево. Повний набір варіантів розбиття | X | це кількість незалежних змінних.  Розглянемо перевірку змінної Xn, яка приймає m значень – Cn1, Cn2,…, Cnm.  Тоді розбиття множини об'єктів вибірки N для перевірки змінної Xn дасть підмножини T1, T2, …, Tm.

Ми очікуємо, що при розбитті множини, будемо отримувати підмножини з меншим числом об'єктів, зате більш впорядковані.  Так, щоб у кожному з них були по-можливості об'єкти одного класу.  Ця міра впорядкованості (невизначеності) характеризується інформацією.  У контексті розглянутої задачі це кількість інформації, необхідна для того, щоб віднести об'єкт до того чи іншого класу.  При поділі множини на підмножини, невизначеність належності об'єктів до конкретних класів буде зменшуватися. 

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

Єдина доступна інформація - яким чином класи розподілені в множині T і її підмножинах, одержуваних при розбитті. Саме вона і використовується при виборі змінної. Розглянемо приклад, в якому потрібно побудувати дерево рішень щодо того, чи відбудеться гра при заданих погодних умовах. Виходячи з минулих спостережень (накопиченя історичних даних), можливо чотири варіанти розбиття дерева.

Нехай – число об’єктів із навчальної вибірки, які відносяться до класу сr. Тоді ймовірність того, що випадково вибраний об’єкт із навчальної вибірки множини буде належати класу сr рівна:

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

Згідно теорії інформації оцінку середньої кількості інформації, необхідної для визначення класа об’єкта із множини Т, дозволяє обчислити вираз:

Підставивши у дану формулу отримане значення для Р, отримаємо:

Оскільки використовується логарифм з двійковою основою, то цей вираз дає кількісну оцінку в бітах.

Для оцінки кількості інформації справедливі наступні твердження:

  1. Якщо кількість об’єктів того або іншого класа в отриманій підмножині рівна 0, то кількість інформації також – 0.

  2. Якщо кількість об’єктів одного класу дорівнює кількості об’єктів іншого класу, то кількість інформації максимальна.

Обчислимо значення інформаційної ентропії для даної множини до розбиття.

Таку ж оцінку, але вже після розбиття множини Т по хh обчислює наступний вираз:

Наприклад, для змінної "Спостереження": 

Критерієм для вибору атрибута (залежної змінної) буде наступна формула: 

Для всіх незалежних змінних розраховується критерій Gain, а потім вибирається змінна з максимальним значенням Gain. Необхідно вибрати таку змінну, щоб при розбитті нею, один з класів мав найбільшу ймовірність появи. Це можливо тоді, коли ентропія infox має мінімальне значення і, відповідно, критерій Gain (X) досягає максимуму. У нашому прикладі значення Gain для незалежної змінної "Спостереження" (перспектива) дорівнюватиме:

Gain (перспектива) = Info (I) - Info (перспектива) = 0.94 - 0.693 = 0.247 біт.

Аналогічні розрахунки можна провести для інших незалежних змінних. В результаті отримуємо:

Gain (спостереження) = 0.247 біт.

Gain (температура) = 0.029 біт.

Gain (вологість) = 0.152 біт.

Gain (вітер) = 0.048 біт.

Таким чином, для початкового розбиття краще всього вибрати незалежну змінну "Спостереження". Далі потрібно вибрати наступну змінну для розбиття. Варіанти розбиття представлені на малюнку.

Аналогічно можна обчислити значення Gain для кожного розбиття:

Gain (температура) = 0.571 біт.

Gain (вологість) = 0.971 біт.

Gain (вітер) = 0.002 біт.

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

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

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