stub Kas yra sprendimų medis? - Vienykitės.AI
Susisiekti su mumis
AI meistriškumo klasė:

AI 101 m

Kas yra sprendimų medis?

mm
Atnaujinta on

Kas yra sprendimų medis?

A sprendimų medis yra naudingas mašininio mokymosi algoritmas, naudojamas atliekant regresijos ir klasifikavimo užduotis. Pavadinimas „sprendimų medis“ kilo dėl to, kad algoritmas duomenų rinkinį dalija į vis mažesnes dalis, kol duomenys suskirstomi į atskirus atvejus, kurie vėliau klasifikuojami. Jei įsivaizduotumėte algoritmo rezultatus, kategorijų padalijimo būdas primintų medį ir daugybę lapų.

Tai greitas sprendimų medžio apibrėžimas, bet pažvelkime į tai, kaip veikia sprendimų medžiai. Jei geriau suprasite, kaip veikia sprendimų medžiai, taip pat jų naudojimo atvejus, galėsite žinoti, kada juos naudoti mašininio mokymosi projektų metu.

Sprendimų medžio formatas

Sprendimų medis yra panašiai kaip struktūrinė schema. Norėdami naudoti struktūrinę schemą, pradedate nuo diagramos pradžios taško arba šaknies, o tada, atsižvelgdami į tai, kaip atsakote į pradinio mazgo filtravimo kriterijus, pereinate į vieną iš kitų galimų mazgų. Šis procesas kartojamas tol, kol pasiekiama pabaiga.

Sprendimų medžiai veikia iš esmės taip pat, o kiekvienas vidinis medžio mazgas yra tam tikras bandymo / filtravimo kriterijus. Išorėje esantys mazgai, medžio galiniai taškai, yra atitinkamo duomenų taško etiketės ir jie vadinami „lapais“. Šakos, vedančios iš vidinių mazgų į kitą mazgą, yra ypatybės arba savybių jungtys. Duomenų taškams klasifikuoti naudojamos taisyklės yra keliai, einantys nuo šaknies iki lapų.

Sprendimų medžių algoritmai

Sprendimų medžiai veikia taikydami algoritminį metodą, kuris pagal skirtingus kriterijus padalija duomenų rinkinį į atskirus duomenų taškus. Šie skaidymai atliekami naudojant skirtingus kintamuosius arba skirtingas duomenų rinkinio funkcijas. Pavyzdžiui, jei tikslas yra nustatyti, ar šuo ar katė yra apibūdinami įvesties ypatybėmis, kintamieji, pagal kuriuos skirstomi duomenys, gali būti tokie, kaip „nagai“ ir „loja“.

Taigi, kokie algoritmai naudojami duomenims padalyti į šakas ir lapus? Yra įvairių metodų, kuriuos galima naudoti norint suskaldyti medį, tačiau labiausiai paplitęs skaldymo būdas tikriausiai yra metodas, vadinamas „rekursinis dvejetainis padalijimas“. Atliekant šį padalijimo būdą, procesas prasideda nuo šaknies, o duomenų rinkinio funkcijų skaičius parodo galimą galimų skaidymų skaičių. Funkcija naudojama norint nustatyti, kiek tikslumo kainuos kiekvienas įmanomas padalijimas, o padalijimas atliekamas taikant kriterijus, kurie aukoja mažiausią tikslumą. Šis procesas vykdomas rekursyviai, o pogrupiai sudaromi naudojant tą pačią bendrą strategiją.

Siekiant nustatyti padalijimo kainą, naudojama išlaidų funkcija. Regresijos ir klasifikavimo užduotims atlikti naudojama skirtinga išlaidų funkcija. Abiejų sąnaudų funkcijų tikslas yra nustatyti, kurios šakos turi panašiausias atsako reikšmes arba homogeniškiausias šakas. Apsvarstykite, kad norite, kad tam tikros klasės bandymų duomenys sektų tam tikrus kelius, ir tai yra intuityvi.

Kalbant apie rekursinio dvejetainio padalijimo regresijos išlaidų funkciją, sąnaudoms apskaičiuoti naudojamas toks algoritmas:

suma(y – prognozė)^2

Numatymas tam tikrai duomenų taškų grupei yra tos grupės mokymo duomenų atsakymų vidurkis. Visi duomenų taškai paleidžiami naudojant išlaidų funkciją, siekiant nustatyti visų galimų padalijimo kainą, ir pasirenkamas padalijimas su mažiausia kaina.

Kalbant apie klasifikavimo sąnaudų funkciją, funkcija yra tokia:

G = suma(pk * (1 – pk))

Tai yra Gini balas, ir tai yra padalijimo efektyvumo matavimas, pagrįstas tuo, kiek skirtingų klasių atvejų yra grupėse, gautose dėl padalijimo. Kitaip tariant, jis kiekybiškai įvertina, kiek mišrios yra grupės po padalijimo. Optimalus padalijimas yra tada, kai visos po padalijimo susidariusios grupės susideda tik iš vienos klasės įvesties. Jei buvo sukurtas optimalus padalijimas, „pk“ reikšmė bus 0 arba 1, o G bus lygi nuliui. Galite spėti, kad blogiausio atvejo padalijimas yra toks, kai skiltyje esančios klasės yra 50–50, dvejetainės klasifikacijos atveju. Šiuo atveju „pk“ reikšmė būtų 0.5, o G taip pat būtų 0.5.

Padalinimo procesas baigiamas, kai visi duomenų taškai paverčiami lapais ir klasifikuojami. Tačiau galbūt norėsite anksti sustabdyti medžio augimą. Dideli sudėtingi medžiai yra linkę persodinti, tačiau norint su tuo kovoti galima naudoti kelis skirtingus metodus. Vienas iš būdų sumažinti perteklinį pritaikymą yra nurodyti minimalų duomenų taškų, kurie bus naudojami kuriant lapą, skaičių. Kitas būdas kontroliuoti persodinimą yra medžio apribojimas iki tam tikro didžiausio gylio, kuris kontroliuoja, kiek ilgio kelias gali nusidriekti nuo šaknies iki lapo.

Kitas procesas, susijęs su sprendimų medžių kūrimu yra genėjimas. Genėjimas gali padėti padidinti sprendimų medžio našumą pašalinant šakas, kuriose yra mažai nuspėjamosios galios / mažai svarbių modeliui. Tokiu būdu sumažinamas medžio sudėtingumas, sumažėja tikimybė, kad jis bus perdėtas, o modelio pranašumas padidinamas.

Atliekant genėjimą, procesas gali prasidėti medžio viršuje arba apačioje. Tačiau paprasčiausias genėjimo būdas yra pradėti nuo lapų ir bandyti numesti mazgą, kuriame yra labiausiai paplitusi klasė tame lape. Jei tai padarius modelio tikslumas nepablogėja, pakeitimas išsaugomas. Yra ir kitų genėjimo metodų, tačiau aukščiau aprašytas metodas – genėjimas su sumažintomis klaidomis – tikriausiai yra labiausiai paplitęs sprendimų medžio genėjimo būdas.

Sprendimų medžių naudojimo svarstymai

Sprendimų medžiai dažnai yra naudingi kai reikia atlikti klasifikaciją, tačiau skaičiavimo laikas yra pagrindinis apribojimas. Sprendimų medžiai gali aiškiai parodyti, kurios pasirinktų duomenų rinkinių funkcijos turi didžiausią nuspėjamąją galią. Be to, skirtingai nuo daugelio mašininio mokymosi algoritmų, kuriuose duomenims klasifikuoti naudojamas taisykles gali būti sunku interpretuoti, sprendimų medžiai gali pateikti interpretuojamas taisykles. Sprendimų medžiai taip pat gali naudoti tiek kategorinius, tiek tęstinius kintamuosius, o tai reiškia, kad reikia mažiau išankstinio apdorojimo, palyginti su algoritmais, kurie gali apdoroti tik vieną iš šių kintamųjų tipų.

Sprendimų medžiai paprastai neveikia labai gerai, kai naudojami nuolatinių atributų reikšmėms nustatyti. Kitas sprendimų medžių apribojimas yra tas, kad atliekant klasifikaciją, jei mokymo pavyzdžių yra nedaug, bet daug klasių, sprendimų medis paprastai būna netikslus.

Tinklaraštininkas ir programuotojas, turintis specialybių Mašininis mokymasis ir Gilus mokymasis temomis. Danielis tikisi padėti kitiems panaudoti AI galią socialinei gerovei.