Fogalom tanulás febr. 26.
Példa fogalom tanulására Fogalom: ”azok a napok, amikor teniszre alkalmas lesz az idő” Égbolt Hőm. Párat Szél Tenisz? Napos Forró Magas Gyenge Nem Erős Felhős Igen Esős Enyhe
Hipotézis A h hipotézis a jellemzőkre adott feltételek diszjunktív normálformája Egy feltétel lehet: Egy konkrét érték : pl. Víz = Meleg Bármilyen érték : Víz = ? Példa: h hipotézis Égbolt Hőm Pára Szél Napos ? ? Erős
Döntési fák
Döntési fa példa Égbolt Napos Felhős Esős Páratartam Igen Szél Magas Normál Erős Gyenge Nem Igen Nem Igen
Égbolt Napos Felhős Esős Páratartam Belső csúcsok: jellemzők tesztjei Magas Normál Minden elágazás megfelel egy attribútum értéknek Nem Igen Levelek: osztályozás (címkék)
Égbolt Hőmérséklet Páratartam Szél Tenisz Napos Forró Magas Gyenge ? Égbolt Napos Felhős Esős Páratartam Magas Normál Szél Erős Gyenge Nem Igen
Döntési fák és konjunkciók Égbolt=Napos Szél=Gyenge Égbolt Napos Felhős Esős Szél Nem Nem Erős Gyenge Nem Igen
Döntési fák és diszjunkciók Égbolt=Napos Szél=Gyenge Égbolt Napos Felhős Esős Igen Szél Szél Erős Gyenge Erős Gyenge Nem Igen Nem Igen
Döntési fák és XOR Égbolt=Napos XOR Szél=Gyenge Égbolt Napos Felhős Esős Szél Szél Szél Erős Gyenge Erős Gyenge Erős Gyenge Igen Nem Nem Igen Nem Igen
Döntési fák a döntési fák konjunkciók diszjunkcióját reprezentálják Égbolt Napos Felhős Esős Páratartam Magas Normál Szél Erős Gyenge Nem Igen (Égbolt=Napos Páratartam=Normál) (Égbolt=Felhős) (Égbolt=Esős Szél=Gyenge)
Döntési fák előnyei Múlt heti Bayes osztályozókhoz képest Ekzakt összefüggés jellemzők közt Ember által értelmezhető modell Hiányzó attribútum értékek
A döntési fák tanítása az ID3 algoritmus Legyen az összes példa a fa gyökércsúcsához rendelve és vizsgáljuk ezt a csúcsot (n) Keressük meg a legjobb döntési attribútum n-hez (A) Rendeljük A-t mint döntési attribútumot n-hez és A minden értékéhez rendeljünk egy élt Válasszuk ki minden élhez az adott élhez tartozó példákat: Ha minden ilyen példa azonos kategóriába sorolt, levélhez jutottunk, és megkaptuk a címkét. Különben ismételjük az eljárást erre a csúcsra (goto 2).
Melyik attribútum a (leg)jobb? Igaz Hamis [21+, 5-] [8+, 30-] [29+,35-] A2=? Igaz Hamis [18+, 33-] [11+, 2-] [29+,35-]
Entrópia S legyen minták egy halmaza p+ a pozitív példák aránya p- a negatív példák aránya Az entrópia az S „rendezetlenségét”, „bizonytalanságát” méri Entrópia(S) = -p+ log2 p+ - p- log2 p-
Entrópia Entrópia(S)= az S véletlenül választott elemének (legjobb kódolás melletti) kódolásához szükséges bitek várható értéke Információelmélet: az optimális kód hossza p valószínűségű üzenetnél -log2 p bit Entrópia(S) = -p+ log2 p+ - p- log2 p- (log 0 = 0)
Információ nyereség INy(S,A): az entrópia várható csökkenése az A attribútum szerinti besorolásnál INy(S,A)=Entrópia(S)-vérték(A) |Sv|/|S| Entrópia(Sv) Entrópia([29+,35-]) = -29/64 log2 29/64 – 35/64 log2 35/64 = 0.99 A1=? Igaz Hamis [21+, 5-] [8+, 30-] [29+,35-] A2=? Igaz Hamis [18+, 33-] [11+, 2-] [29+,35-]
Információ nyereség A1=? Igaz Hamis [21+, 5-] [8+, 30-] [29+,35-] A2=? Entrópia([21+,5-]) = 0.71 Entrópia([8+,30-]) = 0.74 INy(S,A1)=Entrópia(S) -26/64*Entrópia([21+,5-]) -38/64*Entrópia([8+,30-]) =0.27 Entrópia([18+,33-]) = 0.94 Entrópia([11+,2-]) = 0.62 INy(S,A2)=Entrópia(S) -51/64*Entrópia([18+,33-]) -13/64*Entrópia([11+,2-]) =0.12 A1=? Igaz Hamis [21+, 5-] [8+, 30-] [29+,35-] A2=? Igaz Hamis [18+, 33-] [11+, 2-] [29+,35-]
Tanító adatbázis Nap Égbolt Hőm. Párat Szél Tenisz? D1 Napos Forró Magas Gyenge Nem D2 Erős D3 Felhős Igen D4 Esős Enyhe D5 Hideg Normál D6 D7 D8 D9 D10 D11 D12 D13 D14
Példa S=[9+,5-] E=0.940 S=[9+,5-] E=0.940 Páratartam Szél Magas Normál Gyenge Erős [3+, 4-] [6+, 1-] [6+, 2-] [3+, 3-] E=0.592 E=0.811 E=1.0 E=0.985 INy(S,Szél) =0.940-(8/14)*0.811 – (6/14)*1.0=0.048 INy(S,Páratartam) =0.940-(7/14)*0.985 – (7/14)*0.592=0.151
Példa S=[9+,5-] E=0.940 Égbolt Hőm ? Felhős Esős Napos [3+, 2-] [2+, 3-] [4+, 0] E=0.971 E=0.971 E=0.0 INy(S,Égbolt) =0.940-(5/14)*0.971 -(4/14)*0.0 – (5/14)*0.0971=0.247
ID3 Algoritmus [D1,D2,…,D14] [9+,5-] Égbolt Napos Felhős Esős SNapos=[D1,D2,D8,D9,D11] [2+,3-] [D3,D7,D12,D13] [4+,0-] [D4,D5,D6,D10,D14] [3+,2-] Igen ? ? INy(SNapos , Páratartam)=0.971-(3/5)0.0 – 2/5(0.0) = 0.971 INy(SNapos , Hőm.)=0.971-(2/5)0.0 –2/5(1.0)-(1/5)0.0 = 0.570 INy(SNapos , Szél)=0.971= -(2/5)1.0 – 3/5(0.918) = 0.019
Égbolt Napos Felhős Esős Páratartam Igen Szél [D3,D7,D12,D13] Magas Normál Erős Gyenge Nem Igen Nem Igen [D6,D10,D14] [D4,D5] [D1,D2,D8] [D9,D11]
A fa átalakítása szabályokká Égbolt Napos Felhős Esős Páratartam Magas Normál Szél Erős Gyenge Nem Igen R1: Ha (Égbolt=Napos) (Páratartam=Magas) akkor Tenisz=Nem R2: Ha (Égbolt=Napos) (Páratartam=Normál) akkor Tenisz=Igen R3: Ha (Égbolt=Felhős) akkor Tenisz=Igen R4: Ha (Égbolt=Esős) (Szél=Erős) akkor Tenisz=Nem R5: Ha (Égbolt=Esős) (Szél=Gyenge) akkor Tenisz=Igen
Az ID3 algoritmus és a hipotézistér + - + + - + A2 + - - + - + A1 - - + A2 A2 - + - + - A3 A4 + - - +
Az ID3 algoritmus és a hipotézistér egyszerűtől a bonyolultig hegymászó algoritmus A hipotézistér teljes (célfogalom biztosan benne van) Egyetlen hipotézis a kimenete A kiválasztott attribútumoknál nincs backtrack (mohó) → Lokális minimum (szuboptimális elválasztások) Előnyben részesíti a kisebb fákat A nagyobb információnyereségű attribútumokat a gyökér közelébe teszi
ID3 → C4.5 INyArany() Folytonos jellemzők kezelése Hiányos attribútumértékek Jellemzők költségekkel Vágás
Sokértékű attribútumok Probléma: ha egy attribútumnak sok lehetséges értéke van, az INy őt választja Pl. ha a dátum-napot választjuk, akkor egyelemű halmazokat kapunk INyArany (GainRatio): INyArany(S,A) = INy(S,A) / Feloszt(S,A), ahol Feloszt(S,A) = -i=1..c |Si|/|S| log2 |Si|/|S| ahol Si az a részhalmaz, ahol A értéke vi
Folytonos attribútumok A folytonos attribútumból diszkrétet csinálunk Hőmérséklet=240C, Hőmérséklet=270C (Hőmérséklet > 20.00C) = {igaz, hamis} Hogyan válasszuk a küszöböt? Hőmérséklet 150C 180C 190C 220C 240C 270C Tenisz Nem Igen
Hiányos attribútumértékek Tanításnál: ha az n csúcs A-t teszteli használjuk A leggyakoribb értékét n-ben vagy A leggyakoribb értékét n-ben az azonos osztálycímkéjű egyedek közt vagy A értékeinek várható értékét (becsülve n-ben) Predikciónál minden lehetséges értékre érjünk le levélig válasszuk a legvalószínűbb levél kategóriáját
Attribútumok költségekkel Példa: Orvosi diagnózis : vérteszt 10000 Ft Robotika: szélesség meghatározása 23 mp Hogyan tanulnunk alacsony költségű döntési fát? Pl: INy2(S,A)/Költség(A) vagy (2INy(S,A)-1)/(Költség(A)+1)w w [0,1]
Túlillesztés
Hibacsökkentő vágás Túlillesztés elkerülése a döntési fáknál Ne növeljük a fát, ha a különbségek már nem lényegesek A végső fát vágjuk vissza
Vágás (nyesés, pruning) Bontsuk az adatokat tanító és validáló részre. A következőket tegyük, amíg a vágás javít: Értékeljük minden lehetséges elágazás (és utódai) következményét a validáló halmazon Mohón távolítsuk el azt, amelyik a legjobban növeli a validáló halmazon a pontosságot Létrejönnek (a tanító adatbázis alapján) inhomogén levelek.
A gépi tanulás általános problémái
Az általánosítási képesség túltanulás torzítás-variancia dilemma
Túlillesztés (túltanulás) A hH hipotézis túlilleszti a tanító halmazt, ha van olyan h’H hipotézis: hibatanító(h) < hibatanító(h’) és hibaX(h) > hibaX(h’)
Occam borotvája „Adott jelenséget egyformán jól leíró magyarázat közül azt kell választani, amelyik az egyszerűbb!” Kevesebb rövidebb, mint hosszabb hipotézis Ha egy rövid hipotézis illeszkedik az adatokra, akkor nem valószínű, hogy ez véletlenül van Egy hosszú hipotézisnél ez véletlen is lehet De Sokféleképpen definiálhatunk rövid hipotéziseket Az opt. hipotézis nagyságát nem ismerjük
A torzítás-variancia dilemma F(x) függvényt akarjuk megtanulni zajos mintából (regresszió) g(x;D) a tanult modell Több adatbázison tanuljunk! Túltanulás=kis torzítás, de nagy variancia
© Ethem Alpaydin: Introduction to Machine Learning. 2nd edition (2010)
© Ethem Alpaydin: Introduction to Machine Learning. 2nd edition (2010)
„általánosítási készség” paraméter Minden tanuló algoritmusnak van egy –vagy néhány– meta-paramétere amivel az általánosítási készségét szabályozhatjuk (torzítás/variancia finomhangolás) döntési fa: vágás mértéke kNN: k Parzen-ablak: ablakméret Naive Bayes: m-becslés
A dimenzionalitás átka
A jellemzőtér méretének hatásai Az osztályozás pontossága erősen függ a jellemzők számától és a rendelkezésre álló tanítópéldák mennyiségétől
Pattern Classification, Chapter 3 Egy példa, ahol az új jellemzők segítenek: 1-2-3 jellemző esetén egyre kisebb az átfedés 7 7 Pattern Classification, Chapter 3 45 7
A dimenzionalitás átka Ha d=8 és 10 részre osztjuk a jellemzőket 108 régióban kell becsülnünk a valószínűséget (ha nincs 108 példánk akkor sok üres lesz) Mit jelent a „közelség” d=1000 esetén? A gyakorlatban gyakran tapasztaljuk, hogy a jellemzőszám növelésével romlik az eredmény: rossz modellt választottunk, illetve egyre nehezebb pontosan becsülni a paramétereket a véges számú példából “Curse of dimensionality”
Felügyelt tanulók pontosságának becslése a gyakorlatban avagy modellszelekció
Felügyelt tanulók pontosságának becslése Egy modell/hipotézis ismeretlen mintákon való pontosságát becsli Alternatív hipotézisek legjobbikának kiválasztását segítheti, pl: Döntési fák vágása Gépi tanuló modell választása Tulajdonságtér kiválasztása
Kivétel módszer (leave-out) A D = {(v1,y1),…,(vn,yn)} halmazt tanító (Dt) és validáló (validation) (Dv=D\Dt) részre osztjuk Tanító Dt Validáló D\Dt Nem használja ki az összes adatot.
Kereszt-validáció (Cross-Validation) A k-szoros kereszt-validálásnál a D halmazt k kölcsönösen diszjunktra bontjuk: D1,D2,…,Dk … A tanuló algoritmust k alkalommal tanítjuk és teszteljük, tanítjuk D\Di–n, teszteljük Di-n D1 D2 D3 Dk D1 D2 D3 D4 D1 D2 D3 D4 D1 D2 D3 D4 D1 D2 D3 D4
Összefoglalás Döntési fák A gépi tanulás általános dilemmái Fogalom tanulás Entrópia ID3 -> C4.5 A gépi tanulás általános dilemmái Általánosítási képesség Dimenzionalitás átka Modell pontosságának becslése