Decision Tree in Machine Learning

Оновлено: 31.07.2023

Що таке дерево рішень?

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

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

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

Архітектура дерева рішень

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

  • Дерева рішень у машинному навчанні використовують алгоритм для розбиття великого набору даних на окремі точки на основі декількох критеріїв.
.

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

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

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

  • Функція вартості для бінарного спліту: sum(y-prediction)^2

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

  • Функція вартості для класифікації: G = sum(pk*(pk-1))

Індекс Джині - це оцінка ефективності розколу на основі того, скільки представників різних класів є в групах, сформованих в результаті розколу. Іншими словами, він вимірює ступінь змішування груп після розколу. Якщо всі групи, утворені в результаті розбиття, містять лише вхідні дані з одного класу, це вважається ідеальним розбиттям. Якщо знайдено оптимальне розбиття, значення "pk" буде або 0, або 1, а G дорівнюватиме нулю. У випадку бінарної класифікації можна припустити, що найгірший варіант розбиття - це розбиття з представництвом класів у співвідношенні 50 на 50. У цьому випадку значення "pk" дорівнюватиме 0.5, і G також дорівнюватиме 0.5.

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