Új típusú döntési fa építés és annak alkalmazása többtényezős döntés területén Dombi József Szegedi Tudományegyetem
Bevezetés - ID3 (Iterative Dichotomiser 3) Az ID algoritmusok egy elemhalmaz felhasználásával elemek egy osztályozására alkalmas döntési fát (decision tree) hoznak létre. Az elemeknek előre meghatározott, közös attribútumaik vannak, minden elem attribútumainak értéke ismert.
Feladat magasság hajszín szemszín osztály 1. alacsony szőke kék + 2. magas szőke barna - 3. magas vörös kék + 4. alacsony sötét kék - 5. magas sötét kék - 6. magas szőke kék + 7. magas sötét barna - 8. alacsony szőke barna -
Megoldás
Az algoritmus Az algoritmus által létrehozott döntési fa bármely nem levél csomópontja egy attribútum alapján osztja szét az elemeket, az attribútum minden lehetséges értékéhez egy ágat rendelve. A fa leveleihez egy-egy osztályértéket rendelünk, amely az elem osztálya. Az algoritmus egy elemhalmazra eldönti a legalkalmasabb attribútumot, mely szerint az adott halmazt szétvágjuk, így rekurzívan felépíti a döntési fát.
Az algoritmus felépítése 1. Attribútum-kiválasztó szabály: a fa egy pontján meghatározzuk, hogy mely attribútummal érdemes a mintahalmazt felbontani. 2. Továbbontó szabály: rekurzívan tovább bontjuk a mintahalmazt, vagyis további fapontokat határozunk meg. 3. Befejező szabály: eldöntjük, hogy meddig kell bontani a mintahalmazt, vagyis mikor nevezünk el egy pontot levélnek. 4. Osztályozó szabály: minden levélhez egy osztályértéket rendelünk.
Variánsok Az ID3 eljárásnak számos változata van, például olyanok, melyek kezelik a mintahalmazban található zajt, vagy a hiányos attribútumértékeket is, például ID3-IV, GID3-IV, CID3, kombinált folytonos ID3 C4.5...
Alkalmazás Adottak páciensek, illetve vizsgálati eredményeik, szeretnénk eldönteni, hogy melyik páciens milyen betegségben szenved. Ekkor a fa csúcsait az egyes vizsgálatok fogják képezni, és az adott csúcsnak annyi gyereke lesz, ahány féle eredménye lehetséges a vizsgálatnak (pl. a vércukorszint lehet alacsony, normális és magas, a vércukorszint csomópontnak 3 gyereke lesz), A levelekben kétféle érték lehet: az adott betegségben szenved vagy nem.
Konstrukció A faépítés egy hierarchikus eljárás, hiszen az attribútumokon tulajdonképpen egy sorrendet állítunk fel. A minimális döntési fa készítése NP nehéz feladat, így heurisztikát kell alkalmazni. A döntési fák tanulása, entrópia: a döntési fa fogalomtanulás diszkrét értékkészletű jellemzőkre. Ockham-borotvája: A konzisztens hipotézisek közül a legegyszerűbb a legjobb. Heurisztika: a heurisztika alapja az entrópia.
Entrópia értelmezései Fizika: Boltzmann - A hőmozgást végző részecskék elmozdulásának valószínűsége alapján konstruált mennyiség az entrópia. Definiálható az idő iránya (hőhalál-elmélet). Informatika: Shannon nevéhez fűződik. Az információ mértékét jelenti, alakja E S = k p i log 2 p i
Az ID3 algoritmus tulajdonságai 1. Bármilyen ellentmondásmentes példahalmazhoz képes konzisztens hipotézist találni. 2. Az egyes csúcsokban az attribútumokat mohó módon választja (nem képes visszalépésre, nem garantált, hogy globálisan optimális fát talál). 3. Nem érzékeny a zajokra 4. Az ellentmondó példákat is képes kezelni! 5. A tanulás eredményeképp a fát IF-THEN szabályokká lehet alakítani
Kiterjesztések hiányzó attribútumok esetén Kiterjesztés osztályozásra A fa levelein +,- helyett osztálycímkék lesznek. Az entrópia több érték esetére is definiált. Kiterjesztés folytonos változókra Egy folytonos változó értékkészletét <, > feltételekkel intervallumokra bonthatjuk, így a folytonos változók elvileg kezelhetők. A tanulóalgoritmus többféle módosítást igényel (pl. az intervallumok automatikus kialakítására a példák alapján) Megjegyzés: Folytonos térben a módszer tengelyekkel párhuzamos téglalapok uniójával osztályoz.
Algoritmus A C k -k attribútumai: S k1, S k2... S knk tehát C k = {S k1... S knk } C 1 C 2... C m R a 1 a 2. a l. r l a N
Jelölések S összes példa száma (N) S + pozitív példák száma S negatív példák száma S + ki pozitív példák száma adott S kiértékre S ki negatív példák száma adott S kiértékre
Jelölések S k1 = S + k1 + S k1 x + k1 = S + k1 S + S k2 = S + k2 + S k2 x + k2 = S + k2 S +.. x k1 = S k1 S x k2 = S k2 S S knk = S + kn k + S kn k x + kn k = S+ kn k S + x kn k = S kn k S S = S + + S w + = S + S w = S S
Összefüggések S + = n k i=1 S + ki S = n k i=1 S ki n k i=1 x + ki = 1 w + + w = 1 wɛ[0, 1] n k i=1 x ki = 1 x + ki ɛ[0, 1], x ki ɛ[0, 1]
Entrópia és bizonytalansági mérték n E(x) = k x i ln(x i ) i=1 E(x) = 1 (xln(x) + (1 x)ln(1 x)) ln2 F(x) = 4x(1 x)
Entrópia és bizonytalansági mérték 1,0 0,8 0,6 0,4 0,2 0 0 0,2 0,4 0,6 0,8 1,0 x
Entrópia és bizonytalansági mérték I (S) = 1 ( S + ln2 S ln S + + S S S ln S ), S J(S) = 4 S + S ( 1 S + ) = 4 S + S S S 2
1. Számítás J(S k1 ) = 4 S + k1 S k1 S k1 2 J(S k2 ) = 4 S + k2 S k2 S k2 2. J(S knk ) = 4 S + kn k S kn k S knk 2
Átlagos bizonytalanság E(C k ) = S k1 S J(S k1) + S k2 S J(S k2) +... S kn k J(S knk ) S E(C k ) = 4 n k i=1 S ki S + ki S ki S S ki 2 = 4 S + + S n k i=1 S + ki S ki S + ki + S ki
Új összefüggések ahol c D E(C k ) = n k i=1 a konjunktív Dombi operátor. c D (w +, x ki ; w, x + ki ), E(C k ) = 4 S + S S + + S = 4w + w n k i=1 n k i=1 x + ki x ki S + x + ki + S x ki 1 + w + 1 x ki x ki 1 + w 1 x+ ki x + ki
1. Példa - adatbázis C 1 C 2 C 3 R 1 B 3 b + 2 A 3 a - 3 A 2 b + 4 B 1 b - 5 A 1 b - 6 A 3 b + 7 A 1 a - 8 B 3 a -
1. Példa - megoldás
Gyors számítási eljárás C 1 C 2 C 3 C 4 { }} { {}}{ 1 2 3 a b { }} { A B { }} { r + r 1 0 1 0 0 1 0 1 1 0 2 1 0 0 0 1 1 0 0 1 3 1 0 0 1 0 0 1 1 0 4 0 1 1 0 0 0 1 0 1 5 1 0 1 0 0 0 1 0 1 6 1 0 0 0 1 0 1 1 0 7 1 0 1 0 0 1 0 0 1 8 0 1 0 0 1 1 0 0 1 3 5
r + szorzás C 1 C 2 C 3 { }} { r + (1) r + (2) r + (3) { }} { r + (A) r + (B) { }} { r + (a) r + (b) 1 0 1 0 0 1 0 1 2 0 0 0 0 0 0 0 3 1 0 0 1 0 0 1 4 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 6 1 0 0 0 0 0 1 7 0 0 0 0 1 0 0 8 0 0 0 0 0 0 0 2 1 0 1 2 0 3 x + 2 3 1 3 0 3 1 3 2 3 0 3 3 3
r szorzás C 1 C 2 C 3 { }} { r (1) r (2) r (3) { }} { r (A) r (B) { }} { r (a) r (b) 1 0 0 0 0 0 0 0 2 1 0 0 0 1 1 0 3 0 0 0 0 0 0 0 4 0 1 1 0 0 0 1 5 1 0 1 0 0 0 1 6 0 0 0 0 0 0 0 7 1 0 1 0 0 1 0 8 0 1 0 0 1 1 0 3 2 3 0 2 3 2 x 3 5 2 5 3 5 0 5 2 5 3 5 2 5
C k = {α k 1, α k 2... α k k n } C lk = {α k l 1, α k l 2... α k l kn } 0 α k l i 1 n k i=1 α k l i = 1 C lk = (0.3, 0.7, 0) M S + ki = r l αl k i l=1 M S ki = r l (1 αl k i ) l=1
2. Példa - általánosítások Adatbázis: C 1 C 2 C 3 R { }} { { }} { { }} { A B 1 2 3 a b 1 0.4 0.6 0.1 0.1 0.8 0.0 1.0 1 2 0.6 0.4 0.3 0.3 0.4 1.0 0.0 0 3 0.7 0.3 0.0 1.0 0.0 0.0 1.0 1 4 0.3 0.7 0.9 0.1 0.0 0.0 1.0 0 5 0.8 0.2 0.8 0.2 0.0 0.0 1.0 0 6 0.8 0.2 0.2 0.2 0.6 0.0 1.0 1 7 0.7 0.3 0.4 0.3 0.3 1.0 0.0 0 8 0.1 0.9 0.0 0.0 1.0 1.0 0.0 0
Megoldás
Folytonos eset
Folytonos eset Definíció Legyen g a (x) > 0 egy egyenlőtlenség, ahol a a függvény paramétere. A felfújó erre az értékre δ (λ) (g a (x)) = λ a bizonytalansági paraméter. 1 1 + e λga(x),
Felfújt egyenes a 0 + a 1 x + a 2 y > 0 1,0 0,75 0,5 0,25 0,0 5,0-5,0-2,5 0,0 y 2,5 5,0-5,0-2,5 0,0 2,5 x
Felfújt kör ( (x a1 ) 2 + (y a 2 ) 2) 1 2 a 0 > 0 1-1 0 3 x 3
C 1 C 2 R 1 0.4 0.6 0.1 0.1 0.8 1 3 0.7 0.3 0.0 1.0 0.0 1 4 0.3 0.7 0.9 0.1 0.0 0 5 0.8 0.2 0.8 0.2 0.0 0 6 0.8 0.2 0.2 0.2 0.6 1
C 1 C 2 R a 1 x 1 y 1 r 1 a 2 x 2 y 2 r 2. a n x n y n r n
Köszönöm a figyelmet!!!!