1/2 съдържа теоретичната част на дърветата на решенията

Алгоритмите на дървото на решенията са вид алгоритъм за машинно обучение, който се използва за задачи за класификация и регресия. Те работят, като изграждат дървовиден модел на решения въз основа на характеристиките на данните и използват този модел, за да правят прогнози.

Алгоритъмът на дървото на решенията работи чрез конструиране на дървовиден модел на решения въз основа на характеристиките на данните. Дървото се изгражда чрез вземане на поредица от решения въз основа на характеристиките на данните и всяко решение разделя данните на два или повече клона въз основа на стойностите на характеристиките. Процесът продължава, докато данните се разделят на групи, които са възможно най-чисти, като всяка група съдържа точки от данни, които са подобни една на друга.

За да направи прогноза с помощта на дърво на решенията, алгоритъмът следва клоновете на дървото въз основа на стойностите на характеристиките на прогнозираната точка от данни. Крайният достигнат клон се използва за извършване на прогнозата.

Алгоритмите на дървото на решенията са популярни, защото са лесни за разбиране и тълкуване и могат да обработват както числови, така и категорични данни. Те също са относително бързи за обучение и правене на прогнози. Въпреки това, те могат да бъдат склонни към пренастройване и може да не работят толкова добре, колкото някои други алгоритми за определени типове данни.

Пример

Ето прост пример за алгоритъм на дърво на решенията, който се използва за класифициране на точки от данни въз основа на техните характеристики:

Да предположим, че имаме набор от данни за животни и искаме да изградим дърво на решенията, за да класифицираме всяко животно като „бозайник“ или „птица“. Наборът от данни съдържа две характеристики: „има пера“ и „дава мляко“.

Алгоритъмът на дървото на решенията започва с изследване на функцията, която най-добре разделя данните на две групи. В този случай функцията „има пера“ е най-добрият избор, тъй като може да се използва за разделяне на данните в две групи: животни, които имат пера, и животни, които нямат.

След това алгоритъмът на дървото на решенията създава два клона, един за животни, които имат пера, и един за животни, които нямат. За животните, които имат пера, алгоритъмът на дървото на решенията проверява функцията „дава мляко“. Ако животното дава мляко, то се класифицира като бозайник. Ако не дава мляко, се класифицира като птица. За животните, които нямат пера, алгоритъмът на дървото на решенията ги класифицира като бозайници.

Ето визуално представяне на дървото на решенията:

      has feathers
     /            \
mammal            bird
   |                |
gives milk      does not give milk

Използвайки това дърво на решенията, можем да класифицираме нови животни, като следваме клоните на дървото въз основа на стойностите на техните характеристики. Например, ако срещнем ново животно, което има пера и дава мляко, дървото на решенията ще го класифицира като бозайник.

Предположения

Алгоритмите на дървото на решенията правят редица предположения относно данните и проблема, който се решава. Тези предположения могат да повлияят на производителността и интерпретируемостта на модела и е важно да ги вземете предвид, когато използвате алгоритми на дървото на решенията.

Някои от допусканията на алгоритмите на дървото на решенията са:

  1. Дърветата на решенията работят най-добре, когато характеристиките на данните са независими една от друга. Ако характеристиките са корелирани, дървото на решенията може да взема решения въз основа на корелирани характеристики, а не на основната структура на данните.
  2. Дърветата на решенията предполагат, че данните са стационарни, което означава, че статистическите свойства на данните не се променят с времето. Ако данните са нестационарни, дървото на решенията може да не е в състояние да моделира точно данните.
  3. Дърветата на решенията предполагат, че данните могат да бъдат разделени на групи, които са възможно най-чисти. Ако данните не са добре разделени, дървото на решенията може да не е в състояние да моделира точно данните.
  4. Дърветата на решенията предполагат, че данните са хомогенни, което означава, че всички точки от данни принадлежат към един и същи клас или следват едно и също разпределение. Ако данните са разнородни, дървото на решенията може да не е в състояние да моделира точно данните.
  5. Дърветата на решенията предполагат, че данните са пълни и точни. Ако данните липсват или съдържат грешки, дървото на решенията може да не е в състояние да моделира точно данните.

Важно е да се вземат предвид тези допускания, когато се използват алгоритми на дървото на решенията и да се коригира моделът или данните, ако е необходимо, за да се гарантира, че допусканията са изпълнени.

Недостатъци

Въпреки това, като всички алгоритми за машинно обучение, дърветата на решенията имат някои недостатъци, които трябва да се имат предвид, когато се решава дали да се използват за определен проблем.

Някои от недостатъците на дърветата на решенията са:

  1. Пренастройване: Дърветата на решенията могат да бъдат склонни към пренастройване, особено когато дървото е много дълбоко и има много клони. Пренастройването възниква, когато моделът пасва твърде много на данните за обучението и не се обобщава добре към новите данни. Това може да доведе до лошо представяне на тестови данни или данни от реалния свят.
  2. Чувствителност към данни: Дърветата на решенията могат да бъдат чувствителни към конкретните данни, използвани за тяхното обучение. Ако данните се променят леко, дървовидната структура и произтичащите прогнози могат да се променят значително. Това може да направи дърветата на решенията по-малко стабилни и по-трудни за интерпретиране от някои други алгоритми.
  3. Ограничена възможност за обработка на непрекъснати данни: Дърветата на решенията са по-подходящи за работа с категорични данни, отколкото с непрекъснати данни. Те може да не са толкова ефективни при моделиране на връзки между непрекъснати променливи или при правене на прогнози с непрекъснати данни.
  4. Ограничена възможност за работа с големи набори от данни: Дърветата на решенията могат да станат много големи и сложни, когато се обучават на големи набори от данни, което може да ги направи по-бавни за обучение и използване от някои други алгоритми.
  5. Ограничена способност за справяне с многокласови проблеми: Дърветата на решенията обикновено са по-подходящи за проблеми с двоична класификация, отколкото за многокласови проблеми. Те може да не са толкова ефективни при прогнозиране на класа на точка от данни, когато има повече от два класа.

Очаквайте 2/2. Ще извърши практическа работа с набора от данни, управляван от дърво на решенията.

Заключение

Ако срещнете затруднения при следването на теоретичната част, споменете ги в секцията за коментари.

Благодарим ви, че прочетохте! Уведомете ме в коментар или в linkedin, ако смятате, че това е помогнало или не. Имам още няколко статии, които пиша и ще ги публикувам на всеки две седмици. Те са предимно сметки от моя проектен опит. Ако има други въпроси или нещо друго, за което искате да чуете, моля, не се колебайте да изпратите заявка.