Päätöspuun koulutus

Päätöspuukoulutus käyttää päätöspuuta ( ennustavana mallina ) siirtyäkseen objektien havainnoista (esitetty oksissa) päätelmiin objektien tavoitearvoista (esitetty lehdissä). Tämä oppiminen on yksi tilastoissa , tiedon louhinnassa ja koneoppimisessa käytetyistä ennustemallinnusmenetelmistä . Puumalleja, joissa kohdemuuttuja voi saada erilliset arvot, kutsutaan luokituspuiksi . Näissä puurakenteissa lehdet edustavat luokkatunnisteita, ja oksat edustavat ominaisuusliitoksia , jotka johtavat näihin luokkatunnisteisiin . Päätöspuita, joissa kohdemuuttuja voi saada jatkuvia arvoja (yleensä reaalilukuja ), kutsutaan regressiopuiksi .

Päätösanalyysissä päätöspuuta voidaan käyttää visuaalisesti ja eksplisiittisesti esittämään päätöksentekoa . Tiedonlouhinnassa päätöspuu kuvaa tiedot (mutta tuloksena oleva luokituspuu voi olla syöte päätöksentekoon ). Tämä sivu käsittelee tiedon louhinnan päätöspuita .

Keskustelu

Päätöspuuharjoittelu on tiedon louhinnassa yleisesti käytetty tekniikka [1] . Tavoitteena on luoda malli, joka ennustaa kohdemuuttujan arvon joidenkin syötemuuttujien perusteella. Esimerkki näkyy oikealla olevassa kaaviossa. Jokainen sisäinen solmu vastaa yhtä syöttömuuttujista. Tämän syöttömuuttujan jokaiselle mahdolliselle arvolle on lapsille suunnattu reuna. Jokainen lehti edustaa kohdemuuttujan arvoa, joka määräytyy syöttömuuttujien arvojen perusteella juuresta lehtiin.

Päätöspuu on yksinkertainen esitys luokitusesimerkeille. Tässä osiossa oletetaan, että kaikki syöteominaisuudet ovat äärellisiä diskreettejä joukkoja ja että on olemassa yksi kohdeominaisuus nimeltä "luokitus". Jokaista luokituksen elementtiä kutsutaan luokaksi . Päätöspuu tai luokituspuu on puu, jossa jokainen sisäinen (ei-lehti) solmu on merkitty syötteellä. Syöttöparametrilla merkityistä solmusta lähtevät kaaret on merkitty kaikilla mahdollisilla lähtöominaisuuden arvoilla tai kaari johtaa alisteiseen päätössolmuun, jossa on eri tuloominaisuus. Jokainen puun lehti on merkitty luokalla tai todennäköisyysjakaumalla luokkien kesken.

Puu voidaan "kouluttaa" jakamalla joukko osajoukkoihin määritteen arvon tarkistusten perusteella. Tätä prosessia, joka toistetaan rekursiivisesti jokaisessa tuloksena olevassa osajoukossa, kutsutaan rekursiiviseksi osiointiksi . Rekursio lopetetaan, kun solmun osajoukolla on sama kohdemuuttujan arvo tai kun jako ei lisää arvoa ennusteisiin. Tämä päätöspuiden ylhäältä alas induktio ( TDIDT  ) prosessi [2] on esimerkki ahneesta algoritmista , ja se on yleisimmin käytetty strategia päätöspuiden oppimiseen tiedoista.

Tiedonlouhinnassa päätöspuita voidaan kuvata myös matemaattisten ja laskennallisten tekniikoiden yhdistelmänä, jolla kuvataan, luokitellaan ja yleistetään tietty tietojoukko.

Tiedot tulevat lomakkeen tietueiden muodossa:

Riippuva muuttuja Y on kohdemuuttuja, jota yritämme ymmärtää, luokitella tai yleistää. Vektori x koostuu piirteistä x 1 , x 2 , x 3 jne., joita käytetään tehtävässä.

Päätöspuutyypit

Päätöspuita käytetään tiedon louhinnassa , ja niitä on kahta päätyyppiä:

Termi Classification And Regression Tree ( CART) -analyysi on yleinen termi, ja sitä käytetään viittaamaan kahteen edellä mainittuun menettelyyn, joista ensimmäisen otettiin käyttöön Breiman ym. vuonna 1984 [3] . Regressioon käytetyillä puilla ja luokittelussa käytetyillä puilla on joitain yhtäläisyyksiä, mutta niillä on myös eroja, kuten esimerkiksi jaon sijainnin määrittämiseen käytetty menettely [3] .  

Jotkut tekniikat, joita usein kutsutaan rakennusmenetelmiksi , rakentavat useamman kuin yhden päätöspuun:

Päätöspuiden erikoistapaus on päätöslista [8] , joka on yksisuuntainen päätöspuu siten, että missä tahansa sisäisessä solmussa on täsmälleen 1 lehti ja täsmälleen 1 sisäinen solmu lapsina (paitsi alimmainen solmu, jonka ainoa lapsi on yksi arkki). Vaikka nämä luettelot ovat vähemmän ilmeikäs, niitä on helpompi ymmärtää kuin yleiset päätöspuut, koska ne ovat harvassa, mikä mahdollistaa ei-ahneet oppimismenetelmät [9] ja mahdollistaa myös monotoniset rajoitukset [10] .

Päätöspuuharjoittelu on päätöspuun rakentamista luokkamerkityistä harjoituskerroksista. Päätöspuu on vuokaaviomainen rakenne, jossa jokainen sisäinen (ei-lehti) solmu edustaa attribuuttitestiä, jokainen haara edustaa testitulosta ja jokainen lehti (päätesolmu) sisältää luokkatunnisteen. Yläpiste on juurisolmu.

Päätöspuualgoritmeja on monia. Merkittävimpiä ovat:

ID3 ja CART kehitettiin itsenäisesti ja suunnilleen samaan aikaan (vuosina 1970-1980), mutta käyttävät samanlaisia ​​lähestymistapoja päätöspuun kouluttamiseen harjoitustupleista.

Mittarit

Päätöspuun rakennusalgoritmit toimivat yleensä ylhäältä alas valitsemalla jokaisessa vaiheessa muuttujan, joka parhaiten jakaa elementtijoukon [14] . Eri algoritmit käyttävät erilaisia ​​mittareita mitatakseen "paras" ratkaisu. Ne yleensä mittaavat kohdemuuttujan homogeenisuutta osajoukoissa. Alla on joitain esimerkkejä. Näitä mittareita sovelletaan jokaiseen osajoukkoon ja tuloksena saadut arvot yhdistetään (esim. lasketaan keskiarvo) osion laadun mittaamiseksi.

Epäpuhtaus (kriteeri) Gini

Luokittelu- ja regressiopuun (CART) algoritmissa käytetty Gini  - kriteeri on mitta siitä, kuinka usein joukosta satunnaisesti valittu elementti on merkitty väärin, jos se on merkitty satunnaisesti alajoukon otsikoiden jakautumisen mukaan. Gini-kriteeri voidaan laskea summaamalla valitulla tunnisteella varustetun elementin todennäköisyys kerrottuna kyseisen elementin luokitteluvirheen todennäköisyydellä. Kriteeri hyväksyy minimiarvon (nolla), kun kaikki solmun tapaukset kuuluvat samaan kohdeluokkaan.

Jos haluat laskea Gini-kriteerin joukolle elementtejä, joissa on luokkia, oletetaan, että , ja anna olla luokalla merkittyjen elementtien osuus joukossa.

Tietojen saanti

Puun generointialgoritmeissa ID3 , C4.5 ja C5.0. käytetään informaation voittoa , joka perustuu entropian käsitteeseen ja informaatioteorian tiedon määrään .

Entropia määritellään seuraavasti

,

missä ovat murtoluvut, joiden summa on 1, mikä edustaa kunkin luokan prosenttiosuutta, joka on saatu puun jaosta [15] .

minä G ( T , a ) ⏞ Tietojen saanti = H ( T ) ⏞ Entropia (emo) − H ( T | a ) ⏞ Entropian painotettu summa (lapset) {\displaystyle \overbrace {IG(T,a)} ^{\text{Information Gain}}=\overbrace {\mathrm {H} (T)} ^{\teksti{Entropia (emo))))-\yliviiva { \mathrm {H} (T|a)} ^{\text{Entropian painotettu summa (lapset)}}}

Kaavassa

Tietojen vahvistusta käytetään päätettäessä, mitä ominaisuutta käytetään halkaisuun puun rakentamisen jokaisessa vaiheessa. Yksinkertaisuus on paras valinta, joten haluamme pitää puun pienenä. Tätä varten meidän on jokaisessa vaiheessa valittava jako, joka johtaa yksinkertaisimpiin jälkeläisiin solmuihin. Yleisesti käytettyä yksinkertaisuuden mittaa kutsutaan informaatioksi , joka mitataan bitteinä . Puun jokaiselle solmulle tiedon arvo " edustaa odotettua numeroa, joka tarvitaan määrittämään, pitäisikö uusi objekti luokitella kyllä ​​vai ei, kun otetaan huomioon, että esimerkki saavuttaa kyseisen solmun" [15] .

Harkitse esimerkkidatajoukkoa, jossa on neljä attribuuttia: sää (aurinkoinen, pilvinen, sade), lämpötila (kuuma, leuto, kylmä), kosteus (korkea, normaali) ja tuuli (kyllä, ei) binaarisen kohdemuuttujan (kyllä ​​tai ei) kanssa. ja 14 datapistettä. Päätöspuun rakentamiseksi näiden tietojen perusteella meidän on verrattava kunkin neljän puun tiedon vahvistusta, johon se jaetaan yhden neljästä ominaisuudesta mukaan. Jako, jolla on suurin informaatiovahvistus, otetaan ensimmäiseksi jakoksi, ja prosessia jatketaan, kunnes kaikki jälkeläiset ovat alkuarvoja tai kunnes informaatiovahvistus on nolla.

Ominaisuustuulella tehty jako tuottaa kaksi alisolmua , yhden ominaisuuden tuulen , jonka arvo on kyllä , ja yhden solmun, jonka arvo on ei . Tässä tietojoukossa on kuusi datapistettä, joiden arvo on kyllä ​​tuulelle , kolme tavoitearvopelille kyllä ​​ja kolme arvoa ei . Tuuliparametrin kahdeksan jäljellä olevaa datapistettä , joiden arvo on ei , sisältävät kaksi ei ja kuusi kyllä . Tietotuuli = kyllä-solmu lasketaan käyttämällä yllä olevaa entropiayhtälöä. Koska tässä solmussa on yhtä monta kyllä ​​ja ei , meillä on

Solmulle, jossa tuuli = ei, oli kahdeksan datapistettä, kuusi, joilla oli kyllä -kohde ja kaksi, joilla ei . Näin meillä on

Jakamistietojen löytämiseksi laskemme näiden kahden luvun painotetun keskiarvon kuhunkin solmuun osuneiden havaintojen lukumäärän perusteella.

(tuuli - kyllä ​​tai ei)

Löytääksemme jaon tiedonsaannin tuulen avulla meidän on laskettava tiedoissa olevat tiedot ennen jakamista. Alkuperäiset tiedot sisälsivät yhdeksän kyllä ​​ja viisi ei .

Nyt voidaan laskea informaatiovahvistus, joka saadaan jakamalla tuuliattribuutin mukaan .

(tuuli)

Puun rakentamiseksi meidän on laskettava kunkin mahdollisen ensimmäisen jaon informaatiohyöty. Paras ensimmäinen jako on se, joka tuottaa eniten tietoa. Tämä prosessi toistetaan jokaiselle solmulle (sekalaisten ominaisuuksien kanssa), kunnes puu on rakennettu. Tämä esimerkki on otettu Wittenin, Frankin ja Hallin artikkelista [15] .

Varianssin pienentäminen

CART:ssa [3] esitettyä varianssivähennystä käytetään usein tapauksissa, joissa kohdemuuttuja on jatkuva (regressiopuu), mikä tarkoittaa, että monien muiden mittareiden käyttö vaatisi otantaa ennen käyttöä. Solmun N varianssivähennys määritellään kohdemuuttujan x varianssin kokonaisvähenemisenä , joka johtuu kyseisessä solmussa tapahtuvasta jaosta:

,

jossa , ja ovat indeksien joukko ennen jakamista, indeksien joukko, jonka testi arvioi arvoksi tosi, ja indeksien joukko, joiden testi arvioi epätosi. Jokainen yllä olevista termeistä on arvio poikkeaman suuruudesta , vaikkakin kirjoitettu ilman suoraa viittausta keskiarvoon.

Sovellus

Edut

Muiden tietojen analysointimenetelmien joukossa päätöspuilla on useita etuja:

Rajoitukset

Toteutukset

Monet tiedonlouhintapaketit toteuttavat yhden tai useampia päätöspuualgoritmeja.

Esimerkkejä ovat Salford Systems CART (joka lisensoi alkuperäisten CART-tekijöiden omaa koodia) [3] , IBM SPSS Modeler , RapidMiner , SAS Enterprise Miner , Matlab , R (avoimen lähdekoodin ohjelmisto tilastolaskentaan , joka sisältää useita CART-toteutuksia, kuten rpart-, party- ja randomForest-paketit), Weka (avoimen lähdekoodin tiedonlouhintapaketti, joka sisältää useita päätöspuualgoritmeja), Orange , KNIME , Microsoft SQL Server [1] ja scikit -learn (ilmainen ja avoimen lähdekoodin Python -kirjasto koneoppimiseen).

Laajennukset

Päätöskaaviot

Päätöspuussa kaikki polut juurisolmusta lehteen kulkevat konjunktion ( AND ) kautta. Päätöskaaviossa on mahdollista käyttää disjunktiota ( OR ) yhdistää polkuja käyttämällä minimipituista viestiä ( englanniksi  Minimum message length , MML) [25] . Päätöskaavioita laajennetaan entisestään aiemmin käyttämättömien attribuuttien resoluutiolla, jotta niitä voidaan harjoitella dynaamisesti ja käyttää graafin eri paikoissa [26] . Yleisempi koodausjärjestelmä johtaa parempiin ennusteisiin ja log-häviön suorituskykyyn. Yleensä päätöskaaviot tuottavat malleja, joissa on vähemmän lehtiä kuin päätöspuut.

Vaihtoehtoiset hakutavat

Evoluutioalgoritmeja on käytetty eliminoimaan paikallisia optimaalisia ratkaisuja ja etsimään päätöspuita pienemmällä ennakkobiasilla [ 27] [28] .

Puut voidaan yksinkertaistaa Monte Carlo -menetelmällä Markov-ketjuille ( Markov chain Monte Carlo , MCMC) [29] . 

Puuta voi katsella alhaalta ylös [30] .

Katso myös

Muistiinpanot

  1. Rokach, Maimon, 2008 .
  2. Quinlan, 1986 , s. 81-106.
  3. 1 2 3 4 Breiman, Friedman, Olshen, Stone, 1984 .
  4. Friedman, 1999 .
  5. Hastie, Tibshirani, Friedman, 2001 .
  6. Breiman, 1996 , s. 123-140.
  7. Rodriguez, Kuncheva, Alonso, 2006 , s. 1619-1630.
  8. Rivest, 1987 , s. 229-246.
  9. Letham, Rudin, McCormick, Madigan, 2015 , s. 1350-1371.
  10. Wang, Rudin, 2015 .
  11. Kass, 1980 , s. 119-127.
  12. 1 2 3 Hothorn, Hornik, Zeileis, 2006 , s. 651–674.
  13. 1 2 Strobl, Malley, Tutz, 2009 , s. 323-348.
  14. Rokach, Maimon, 2005 , s. 476–487.
  15. 1 2 3 Witten, Frank, Hall, 2011 , s. 102–103.
  16. 1 2 3 4 5 Gareth, Witten, Hastie, Tibshirani, 2015 , s. 315.
  17. Mehtaa, Raghavan, 2002 , s. 609–623.
  18. Hyafil, Rivest, 1976 , s. 15-17.
  19. Murthy, 1998 .
  20. Ben-Gal, Dana, Shkolnik, laulaja, 2014 , s. 133-147.
  21. Bramer, 2007 .
  22. Deng, Runger, Tuv, 2011 , s. 293-300.
  23. Brandmaier, von Oertzen, McArdle, Lindenberger, 2012 , s. 71–86.
  24. Painsky ja Rosset, 2017 , s. 2142–2153.
  25. CiteSeerX . Haettu 2. tammikuuta 2019. Arkistoitu alkuperäisestä 21. maaliskuuta 2008.
  26. Tan & Dowe (2003) . Haettu 2. tammikuuta 2019. Arkistoitu alkuperäisestä 28. toukokuuta 2016.
  27. Papagelis, Kalles, 2001 , s. 393-400.
  28. Barros, Basgalupp, Carvalho, Freitas, 2012 , s. 291–312.
  29. Chipman, George, McCulloch, 1998 , s. 935–948.
  30. Barros, Cerri, Jaskowiak, Carvalho, 2011 , s. 450–456.

Kirjallisuus

Lue lisää lukemista varten

Linkit