ID3 (алгоритм)![]() ID3 (Iterative Dichotomiser 3) — це алгоритм, розроблений Росом Куінланом[en], який використовується для генерації дерев рішень у машинному навчанні з деякого набору даних.[1] ID3 є попередником алгоритму C4.5 та зазвичай використовується в областях машинного навчання і обробки природної мови. АлгоритмНа початку роботи алгоритму будується дерево з початковою множиною у кореневому вузлі. На кожній ітерації алгоритму, він перебирає усі невикористані атрибути множини та обчислює ентропію (або інформаційний приріст[en] ) цих атрибутів. Потім він вибирає атрибут з найменшим значенням ентропії (або найбільшим інформаційним виграшем). Потім проводиться розбиття множини за вибраним атрибутом для отримання підмножин даних. (Наприклад, вузол може бути розбитий на дочірні вузли на підставі підмножин населення, вік яких менше 50, від 50 до 100 і більше 100.) Алгоритм продовжує рекурсивно виконуватись на кожній підмножині, враховуючи лише ті атрибути, які раніше не були вибрані. Рекурсія на підмножині може зупинитися в одному з таких випадків:
Алгоритм будує дерево рішень, де нетермінальні вузли (внутрішні вузли) представляють вибраний атрибут, на якому дані були розділені, а термінальні вузли (листові вузли) — мітку класу кінцевої підмножини цього вузла розгалуження. Опис
ПсевдокодID3 (Приклади, Цільові_Атрибути, Атрибути) Створити кореневий вузол для дерева. Якщо всі приклади додатні, повернути дерево з міткою = «+». Якщо всі приклади від'ємні, повернути дерево з міткою = «-». Якщо множина атрибутів порожня, повернути дерево з міткою = найбільш поширене значення цільового атрибута в прикладах. Інакше ← Атрибут, який найкраще класифікує приклади. Встановити значення кореня = . Для кожного можливого значення множини Додати нову гілку під коренем, що відповідає перевірці . Нехай буде підмножиною прикладів зі значенням . Якщо множина порожня, тоді Додати під новою гілкою листовий вузол з міткою = найбільш поширене значення цільового атрибута в прикладах. Інакше Додати під новою гілкою піддерево ID3 (, Цільові_Атрибути, Атрибути ) Повернути корінь Властивості![]() ID3 не гарантує оптимального рішення. Він може сходитися до локального оптимуму. Він використовує жадібну стратегію, вибираючи локальний кращий атрибут для розбиття множини даних на кожній ітерації. Оптимальність алгоритму може бути покращена шляхом використання пошуку з вертанням під час пошуку оптимального дерева рішень, але це може призвести до погіршення швидкості роботи. ID3 може перенавчитися. Для уникнення перенавчання варто надавати перевагу меншим деревам рішень замість великих. Цей алгоритм зазвичай будує невеликі дерева, але він не завжди дає найменше дерево рішень. ID3 важче використовувати на неперервних даних. Якщо значення будь-якого атрибута неперервні, то існує багато місць для розбиття даних за цим атрибутом і пошук найкращого значення для розбиття може зайняти багато часу. ВикористанняАлгоритм ID3 навчається на наборі даних для створення дерева рішень, яке зберігається в пам'яті. Під час виконання[en], це дерево рішень використовується для класифікації нових тестових даних (векторів ознак) шляхом обходу дерева рішень, використовуючи ознаки початкових даних, щоб прийти до листового вузла. Тестові дані класифікуються класом термінального вузла. МетрикиЕнтропіяЕнтропія — це міра невизначеності в наборі даних (тобто ентропія характеризує набір даних ). Де
Коли , множина відмінно класифікована (тобто всі елементи належать до одного класу). У алгоритмі ID3 ентропія обчислюється для кожного атрибута. На кожній ітерації атрибут з найменшою ентропією використовується для розбиття множини . У теорії інформації ентропія вимірює кількість інформації, яку очікують отримати при вимірюванні випадкової величини. Постійна величина має нульову ентропію, оскільки її розподіл відомий. Навпаки, рівномірно розподілена випадкова величина (дискретно або неперервно рівномірна) має максимальну ентропію. Тому, чим більше ентропія у вузлі, тим менше ми маємо відомої інформації про класифікацію даних та більший потенціал для поліпшення класифікації на даному етапі дерева. ID3 — це жадібний евристичний алгоритм, що виконує пошук за першим найкращим збігом для локально оптимальних значень ентропії. Його точність можна поліпшити шляхом попередньої обробки даних. Інформаційний прирістІнформаційний приріст[en] — це міра різниці ентропії початкової множини та ентропії множини після розбиття за атрибутом . Де
У ID3 для кожного атрибута замість ентропії може бути обчислений інформаційний приріст. Атрибут з найбільшим інформаційним приростом використовується для розбиття множини . Див. такожПримітки
Література
Посилання
|
Portal di Ensiklopedia Dunia